On Mon, Jun 29, 2015 at 4:38 PM, Seth <l...@sysfu.com> wrote:
> Build environment:
>
> OpenBSD 5.7-release (x64) with all latest patches applied via Mtier openup
> utility.
> LibreSSL 2.2.0
> OpenSMTPD 5.7.1-rc1
>
> I'm having difficulty getting OpenSMTPD 5.7.1-rc1 to build and link the
> /usr/sbin/smtpd binary to the proper /usr/local/lib/libssl.so.32.0 library
> provided by LibreSSL 2.2.0. Only the libcrypto library is being linked.
>
> $ ldd /usr/sbin/smtpd|grep -E "lib(ssl|crypto)"
>         00001b5dca38c000 00001b5dca7eb000 rlib 0    1   0
> /usr/lib/libssl.so.32.0
>         00001b5d18179000 00001b5d18749000 rlib 0    1   0
> /usr/local/lib/libcrypto.so.33.0

Does it help anyone to give LibreSSL portable an option to build with
an alternate library name like libssl2 / libcrypto2 that can then be
linked to explicitly?

Something like the discussion here under "4.3. Multiple libraries
versions": https://autotools.io/libtool/version.html

I've been asked a few times by older Linux distros to provide a way
for them to similarly bundle LibreSSL and OpenSSL.

> I ran into this problem earlier with the OpenSMTPD 5.4.4 release on an
> OpenBSD 5.6 system patched with LibreSSL 2.1.4. I found a successful
> workaround by using the following flags with make
>
> $ sudo CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib make
>
> This time around, the same trick is only 50% successful, as detailed by the
> ldd results earlier.
>
> I brought this up with OpenSMTPD developer gilles@ [1] and he suggested I
> ask on misc@ for suggestions.
>
>
> [1] ========= gilles@ response =======================================
>
> I was kinda puzzled then miod@ clarified for me, /usr/lib has priority
> over /usr/local/lib, if a lib is available in both the one in /usr/lib
> is the one used.
>
> Small snippet from cc(1):
>
>            The directories searched include several standard system
>            directories *plus* any that you specify with -L.
>
> It is an environment/host issue, I do not know if it can be fixed with
> a build option at this point, it needs investigating, I honestly don't
> have a clue if it can be worked-around.
>
> I suggest you ask on misc@openbsd.org for suggestions on how to do it,
> if it has worked in the past then the ld.so people may have changed it
> because our Makefile certainly has not changed.
>
> In the meantime, you can work around at runtime using LD_LIBRARY_PATH:
>
> $ ldd smtpd/smtpd|grep -E "lib(ssl|crypto)"
>         00001d2e3b43c000 00001d2e3b89b000 rlib 0    1   0
> /usr/lib/libssl.so.32.0
>         00001d2e52d38000 00001d2e53308000 rlib 0    2   0
> /usr/lib/libcrypto.so.33.0
> $ LD_LIBRARY_PATH=/usr/local/lib ldd smtpd/smtpd|grep -E "lib(ssl|crypto)"
>         0000141edd36f000 0000141edd7ce000 rlib 0    1   0
> /usr/local/lib/libssl.so.32.0
>         0000141fb51a0000 0000141fb5770000 rlib 0    2   0
> /usr/local/lib/libcrypto.so.33.0

Reply via email to