Skip to content

cannot configure curl 7.71.0 with static WolfSSL installed outside system directories #5605

@ryanwoodsmall

Description

@ryanwoodsmall

I did this

On CentOS 7/x86_64...

./configure --prefix=$(dirname ${PWD})/wolfssl --enable-static --enable-static=yes --disable-shared --enable-shared=no --enable-all --enable-singlethreaded --enable-distro --disable-fips --enable-tlsv10 --enable-jobserver=no --disable-examples LDFLAGS=-static LIBS=-pthread
make -j$(($(nproc)*2+1))
make install
install -m 644 wolfssl/options.h ../wolfssl/include/wolfssl/
  • configure and attempt to build curl with static wolfssl using...
./configure --prefix=${PWD}-built --disable-shared --enable-shared=no --enable-static --enable-static=yes --with-wolfssl=${PWD}/wolfssl LIBS='-pthread -lm'

This works fine on 7.70.0 - just tested successfully to verify. On 7.71.0, configure errors out with:

checking run-time libs availability... failed
configure: error: one or more libs available at link-time are not available run-time. Libs used at link-time: -lwolfssl -lm -lz -pthread -lm

config.log shows the following:

configure:30213: checking run-time libs availability
configure:30234: gcc -o conftest -Werror-implicit-function-declaration -O2 -Wno-system-headers -I/usr/local/tmp/curl-7.71.0/wolfssl/include  /wolfssl    -I/usr/local/tmp/curl-7.71.0/wolfssl/include  
    -L/usr/local/tmp/curl-7.71.0/wolfssl/lib   conftest.c -lwolfssl -lm -lz -pthread -lm >&5
gcc: error: /wolfssl: No such file or directory
configure:30234: $? = 1
configure: program exited with status 1

I'm wondering where the bare /wolfssl is coming from and if the new -L handling in the autotools setup is causing this. The same pattern seems to work fine with OpenSSL/LibreSSL, mbedTLS, and bearssl, though, so I'm not sure what the difference is with WolfSSL, or if the -L change is completely unrelated.

I expected the following

A src/curl built with static wolfssl.

curl/libcurl version

7.71.0

operating system

CentOS 7 (x86_64)

I tested under CentOS 6 (x86_64) as well with the same results.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions