curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

RE: Curl Configuration Weirdness for libz.a

From: Randall via curl-library <curl-library_at_lists.haxx.se>
Date: Wed, 30 Aug 2023 18:08:38 -0400

On Wednesday, August 30, 2023 5:56 PM, Dan Fandrich wrote:
>On Wed, Aug 30, 2023 at 05:03:34PM -0400, rsbecker_at_nexbridge.com wrote:
>> Actually, there is no libtool on the platform, so upgrading will be
>> difficult. No LIB, INCLUDES, or other compile-related environment variables.
>
>Then it will be using the built-in libtool, which should be fairly recent. But, if there
>are NonStop-specific changes that aren't upstream, you won't get them.
>I think this is unlikely to be the issue here, though.
>
>> For the OpenSSL 3.0 build:
>> CFLAGS="-c99" CPPFLAGS="-Wnowarn=2040 -D_XOPEN_SOURCE_EXTENDED=1
>> -WIEEE_float -I/usr/coreutils/include -I/usr/local-ssl3.0/openssl/include"
>> LDFLAGS="/usr/coreutils/lib/libz.a -L/usr/coreutils/lib
>> -L/usr/local-ssl3.0/lib" ./configure --prefix=/usr/local-ssl3.0
>> --with-ssl=/usr/local-ssl3.0
>> --with-ca-path=/usr/local-ssl3.0/ssl/certs
>> --disable-pthreads --disable-threaded-resolver --enable-ipv6
>> --with-zlib=/usr/coreutils/lib/libz.a
>
>--with-zlib doesn't work this way. It's intended to receive the path to a zlib installation
>such as would be created after 'make install' when building zlib.
>Specifically, there should be …/include/ and …/lib/ directories underneath this path.
>If there isn't such an install path on your system or it contains both libz.so and libz.a,
>it won't work. In that case, use --with-zlib and set PKG_CONFIG_PATH to a location of
>a zlib.pc file that only contains information on a static libz. Failing even that, then
>you'll likely have to resort to setting things like LIBS=/path/to/libz.a an CPPFLAGS=-
>I/path/to/zlib-include/ and hope the existing libz.so doesn't get in the way.

Unfortunately, the packaging team for the platform did not help on this one. zlib.h is in the /usr/coreutils/include directory, the zlib.a, zlib.so, zlib.so.1.2.11 are in /usr/coreutils/lib (which collide). The zlib.pc file does not help particularly:

prefix=/usr/coreutils
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
sharedlibdir=${libdir}
includedir=${prefix}/include

Name: zlib
Description: zlib compression library
Version: 1.2.11

Requires:
Libs: -L${libdir} -L${sharedlibdir} -lz
Cflags: -I${includedir}

which really will force zlib.so.1.2.11 being selected, and I cannot use that for packaging curl for the general population as that DLL is only available on the minority of machines. (On that subject, can you change the ref on https://curl.se/download.html from my name to ITUGLIB - which is the volunteer org who would take over if I get hit by a bus - but I'm glad we're listed there and it is otherwise correct).

--Randall

-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2023-08-31