Re: undefined symbol fabs in file test/ct_test.o in openssl 1.1.0e on solaris
> From: [hidden email] > [mailto:[hidden email]]
> Sent: Tuesday, March 07, 2017 10:49
> To: Michael Wojcik
> Subject: Re: undefined symbol fabs in file test/ct_test.o in openssl 1.1.0e on
For threads that originated on openssl-users, please send messages to the list, rather than to me directly.
> <quote author='Michael Wojcik'>
>> For the record, we've always just changed the Solaris configuration we use
>> in Configure to add -lm.
> I am not an experienced C developer so please can you tell me where in the
> Configure file I have to add -lm.
This has nothing to do with C development. The OpenSSL Configure process, while conceptually related to that used by some other packages, is an OpenSSL invention. And the use of -lm is an artifact of the toolchain (common to many toolchains for UNIX-like systems); it too has nothing to do with the C language.
Also, I've just looked at our Configure and apparently I misremembered; we do not add -lm for the Solaris builds. (We make a number of other changes for that platform, though.) It seems it's not needed for the version of OpenSSL we're currently building.
Where you would add -lm depends on what configuration you're using, which in turn depends on which system architecture and toolchain you're using. It also may depend on what version of OpenSSL you're building. I don't have that information, obviously.
In OpensSSL 1.0.2j's Configure (and generally for all the 1.0.2 releases, I believe), all the Solaris configure entries have -ldl in their library list. So you can search Configure for "solaris (with the double-quote) at the beginning of a line, then add -lm (with a space) after -ldl on each such line. For example, in vi:
:%s/^"solaris.* -ldl/& -lm
Whether this also applies to OpenSSL 1.1.0 or whatever you're building, I can't say.