You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Related to #6671 - libcurl fails during autoreconf step if building with any compiler sanitizer enabled.
I've tracked this issue down to the following section in the recipe, which ends up interfering with the "checking whether the C compiler works" part of autoreconf due to GCC trying to load zlib that has been compiled with the sanitizer
configure:4925: checking whether the C compiler works
configure:4947: gcc -m64 -g -fsanitize=address -D_REENTRANT -I/home/docker/.conan2/p/opens5d361487a9736/p/include -I/home/docker/.conan2/p/zlib6ad2838b7d825/p/include -m64 -fsanitize=address -fsanitize=address -L/home/docker/.conan2/p/opens5d361487a9736/p/lib -L/home/docker/.conan2/p/zlib6ad2838b7d825/p/lib conftest.c -lssl -lcrypto -lz -ldl -lpthread -lrt >&5
==1898491==ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.
I have managed to get this building properly by either removing this VirtualRunEnv in scop="build", or by disabling the autotools.autoreconf() call in the build step.
I've tried a bunch of different builds with lines 392-394 removed from the recipe and haven't had any failures from it, so I'm wondering what the intent of that section is. Would it be safe to remove it, or am I getting a fragile success with something using the system install openssl/zlib by removing it? Not sure how I would be able to test that
Description
Related to #6671 - libcurl fails during autoreconf step if building with any compiler sanitizer enabled.
I've tracked this issue down to the following section in the recipe, which ends up interfering with the "checking whether the C compiler works" part of autoreconf due to GCC trying to load zlib that has been compiled with the sanitizer
conan-center-index/recipes/libcurl/all/conanfile.py
Lines 391 to 394 in b2f6b23
I have managed to get this building properly by either removing this VirtualRunEnv in scop="build", or by disabling the
autotools.autoreconf()
call in the build step.I've tried a bunch of different builds with lines 392-394 removed from the recipe and haven't had any failures from it, so I'm wondering what the intent of that section is. Would it be safe to remove it, or am I getting a fragile success with something using the system install openssl/zlib by removing it? Not sure how I would be able to test that
Package and Environment Details
Conan profile
Profile build (saved as
default
):[settings]
arch=x86_64
build_type=Release
compiler=gcc
compiler.cppstd=gnu17
compiler.libcxx=libstdc++11
compiler.version=11
os=Linux
Profile host (saved as
linux-x86_64-debug-ASAN
):[settings]
arch=x86_64
build_type=Debug
compiler=gcc
compiler.cppstd=gnu17
compiler.libcxx=libstdc++11
compiler.sanitizer=Address
compiler.version=11
os=Linux
[options]
*:shared=True
[conf]
tools.build:cflags=['-fsanitize=address']
tools.build:cxxflags=['-fsanitize=address']
tools.build:exelinkflags=['-fsanitize=address']
tools.build:sharedlinkflags=['-fsanitize=address']
Steps to reproduce
conan install -r conancenter --require libcurl/8.6.0 -pr:b=default -pr:h=linux-x86_64-debug-ASAN -o "*:shared=True" -b missing
Logs
Click to expand log - conan create
Click to expand log - config.log
Click to expand log - conanrunenv-debug-x86_64.sh
This is the conanrunenv that is causing the failure, which is generated from the recipe due to this section
Click to expand log - LD_DEBUG
Forcing LD_LIBRARY_PATH to point to the local cache containing zlib that has been built with -fsanitize=address.
This replicates what happens during the call to autoreconf with the conanrunenv sourced
The text was updated successfully, but these errors were encountered: