well, immediately after I posted this, I found https://wiki.freepascal.org/Mac_Installation_FAQ#ld:_library_not_found_for_-lc. Which is kind of helpful, except that it's not. Put these things on the command line - which command line? When I run Lazarus? I tried all the likely places in project options... not them...?
Quote from: trevFinally, how did you install FPC and Lazarus because these odd issues you're encountering are not normal and I've never encountered them using the official Lazarus pkg installers.
Using fpclazup, this command: ./tools/fpclazup --noconfirm --fpcVersion=trunk.gitlab --lazVersion=trunk.gitlab --installdir=tools --include=anchordocking,lazprojectgroups,virtualtreeview,fpdebug
it's not clear how else to install Lazarus (trunk version), other than fpcLazup or FpcupDeluxe.
{$IFDEF FPC}
{$DEFINE STATICLOAD_OPENSSL}
{$LINKLIB libcrypto.a}
{$LINKLIB libssl.a}
{$ENDIF}
(The STATICLOAD_OPENSSL is a define in the openSSL 1.1x branch of Indy)
@Remy
I am using the openSSL 1.1 branch of Indy
well, what current branch is tied to openSSL 1.1? I need openSSL 1.1...
First, that branch is OLD, and probably needs to be deleted. Indy's latest OpenSSL 1.1x support code is in this pull request (https://github.com/IndySockets/Indy/pull/299) instead.
The executable code in a framework bundle is a dynamically linked, shared library—or, simply, a dynamic shared library. This is a library whose code can be shared by multiple concurrently running programs.Apple Source (https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkBinding.html#//apple_ref/doc/uid/20002256-BAJICBDD).
What I haven't figured out is that my practice is to use dynamic loading otherwise. So I want an Indy package that doesn't bind to either dynamic or static, and the application that uses it decides which way it's going to be bound. Lazarus packages just don't work that way. I can't even figure out how to $IFDEF the package for dynamic vs static based on OS, since all the units have the same names and just differ by path - and I don't know how to do that with the Lazarus package system. So for now, all FPC applications are statically bound to the .so / .dll. I will probably get around to statically linking to the .a
the IdSSLOpenSSLHeaders_static unit isn't in the openSSL 1.1 PR