Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Error : Undefined Reference in Ubuntu 20.04 LTS in WSL #31

Open
ccasalicchio opened this issue Dec 23, 2022 · 2 comments
Open

Build Error : Undefined Reference in Ubuntu 20.04 LTS in WSL #31

ccasalicchio opened this issue Dec 23, 2022 · 2 comments

Comments

@ccasalicchio
Copy link

ccasalicchio commented Dec 23, 2022

Hello guys,

I'm currently running into these errors:
/micro/libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::zlib_decompressor_base::reset()': http_compression.cpp:(.text._ZN3web4http11compression7builtin22zlib_decompressor_base5resetEv[_ZN3web4http11compression7builtin22zlib_decompressor_base5resetEv]+0x26): undefined reference to inflateReset'
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to pthread_setspecific@GLIBC_2.34' /usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to dlopen@GLIBC_2.34'
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to pthread_rwlock_init@GLIBC_2.34' /usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to pthread_rwlock_wrlock@GLIBC_2.34'
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to dlerror@GLIBC_2.34' /usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to pthread_getspecific@GLIBC_2.34'
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to dlclose@GLIBC_2.34' /usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to pthread_rwlock_rdlock@GLIBC_2.34'
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to pthread_key_delete@GLIBC_2.34' /usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to fstat@GLIBC_2.33'
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to stat@GLIBC_2.33' /usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to pthread_once@GLIBC_2.34'
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to dladdr@GLIBC_2.34' /usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to pthread_rwlock_destroy@GLIBC_2.34'
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to pthread_key_create@GLIBC_2.34' /usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to pthread_rwlock_unlock@GLIBC_2.34'
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/openssl@3/3.0.7/lib/libcrypto.so: undefined reference to `dlsym@GLIBC_2.34'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/micro-service.dir/build.make:156: micro-service] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/micro-service.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

The ubuntu install uses g++ version 9 so I'm not sure if that's the problem.

@ccasalicchio
Copy link
Author

ccasalicchio commented Dec 24, 2022

I went further and removed brew (homebrew) and installed the apt-get dependencies, everything ran fine until the make -j 8 command

sudo apt-get install cmake git openssl libcpprest-dev libboost-all-dev magics++ zlib1g

ccasalicchio@Asus-Rog-Strix:~/micro-services/build$ make -j 8 Scanning dependencies of target micro-service [ 60%] Building CXX object CMakeFiles/micro-service.dir/source/main.cpp.o [ 60%] Building CXX object CMakeFiles/micro-service.dir/source/foundation/basic_controller.cpp.o [ 60%] Building CXX object CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o [ 80%] Linking CXX executable micro-service /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function std::_Function_handler<std::unique_ptr<web::http::compression::decompress_provider, std::default_deleteweb::http::compression::decompress_provider > (), web::http::compression::builtin::{lambda()#4}>::_M_invoke(std::_Any_data const&)':
http_compression.cpp:(.text+0x11c): undefined reference to inflateInit2_' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function std::_Function_handler<std::unique_ptr<web::http::compression::decompress_provider, std::default_deleteweb::http::compression::decompress_provider > (), web::http::compression::builtin::{lambda()#3}>::_M_invoke(std::_Any_data const&)':
http_compression.cpp:(.text+0x3ef): undefined reference to inflateInit2_' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function std::_Function_handler<std::unique_ptr<web::http::compression::compress_provider, std::default_deleteweb::http::compression::compress_provider > (), web::http::compression::builtin::{lambda()#1}>::_M_invoke(std::_Any_data const&)':
http_compression.cpp:(.text+0x66f): undefined reference to deflateInit2_' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function std::_Function_handler<std::unique_ptr<web::http::compression::compress_provider, std::default_deleteweb::http::compression::compress_provider > (), web::http::compression::builtin::{lambda()#2}>::_M_invoke(std::_Any_data const&)':
http_compression.cpp:(.text+0x70f): undefined reference to deflateInit2_' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::make_gzip_compressor(int, int, int, int)':
http_compression.cpp:(.text+0xfa2): undefined reference to deflateInit2_' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::make_deflate_compressor(int, int, int, int)':
http_compression.cpp:(.text+0x1062): undefined reference to deflateInit2_' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::zlib_compressor_base::~zlib_compressor_base()':
http_compression.cpp:(.text._ZN3web4http11compression7builtin20zlib_compressor_baseD2Ev[_ZN3web4http11compression7builtin20zlib_compressor_baseD5Ev]+0x18): undefined reference to deflateEnd' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::zlib_compressor_base::~zlib_compressor_base()':
http_compression.cpp:(.text._ZN3web4http11compression7builtin20zlib_compressor_baseD0Ev[_ZN3web4http11compression7builtin20zlib_compressor_baseD5Ev]+0x18): undefined reference to deflateEnd' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::gzip_compressor::~gzip_compressor()':
http_compression.cpp:(.text._ZN3web4http11compression7builtin15gzip_compressorD2Ev[_ZN3web4http11compression7builtin15gzip_compressorD5Ev]+0x18): undefined reference to deflateEnd' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::gzip_compressor::~gzip_compressor()':
http_compression.cpp:(.text._ZN3web4http11compression7builtin15gzip_compressorD0Ev[_ZN3web4http11compression7builtin15gzip_compressorD5Ev]+0x18): undefined reference to deflateEnd' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::deflate_compressor::~deflate_compressor()':
http_compression.cpp:(.text._ZN3web4http11compression7builtin18deflate_compressorD2Ev[_ZN3web4http11compression7builtin18deflate_compressorD5Ev]+0x18): undefined reference to deflateEnd' /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o):http_compression.cpp:(.text._ZN3web4http11compression7builtin18deflate_compressorD0Ev[_ZN3web4http11compression7builtin18deflate_compressorD5Ev]+0x18): more undefined references to deflateEnd' follow
/usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::zlib_decompressor_base::~zlib_decompressor_base()': http_compression.cpp:(.text._ZN3web4http11compression7builtin22zlib_decompressor_baseD2Ev[_ZN3web4http11compression7builtin22zlib_decompressor_baseD5Ev]+0x18): undefined reference to inflateEnd'
/usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::zlib_decompressor_base::~zlib_decompressor_base()': http_compression.cpp:(.text._ZN3web4http11compression7builtin22zlib_decompressor_baseD0Ev[_ZN3web4http11compression7builtin22zlib_decompressor_baseD5Ev]+0x18): undefined reference to inflateEnd'
/usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::deflate_decompressor::~deflate_decompressor()': http_compression.cpp:(.text._ZN3web4http11compression7builtin20deflate_decompressorD2Ev[_ZN3web4http11compression7builtin20deflate_decompressorD5Ev]+0x18): undefined reference to inflateEnd'
/usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::deflate_decompressor::~deflate_decompressor()': http_compression.cpp:(.text._ZN3web4http11compression7builtin20deflate_decompressorD0Ev[_ZN3web4http11compression7builtin20deflate_decompressorD5Ev]+0x18): undefined reference to inflateEnd'
/usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::gzip_decompressor::~gzip_decompressor()': http_compression.cpp:(.text._ZN3web4http11compression7builtin17gzip_decompressorD2Ev[_ZN3web4http11compression7builtin17gzip_decompressorD5Ev]+0x18): undefined reference to inflateEnd'
/usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o):http_compression.cpp:(.text._ZN3web4http11compression7builtin17gzip_decompressorD0Ev[_ZN3web4http11compression7builtin17gzip_decompressorD5Ev]+0x18): more undefined references to inflateEnd' follow /usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::zlib_compressor_base::compress(unsigned char const*, unsigned long, unsigned char*, unsigned long, web::http::compression::operation_hint, unsigned long&, bool&)':
http_compression.cpp:(.text._ZN3web4http11compression7builtin20zlib_compressor_base8compressEPKhmPhmNS1_14operation_hintERmRb[_ZN3web4http11compression7builtin20zlib_compressor_base8compressEPKhmPhmNS1_14operation_hintERmRb]+0xc1): undefined reference to deflate' /usr/bin/ld: http_compression.cpp:(.text._ZN3web4http11compression7builtin20zlib_compressor_base8compressEPKhmPhmNS1_14operation_hintERmRb[_ZN3web4http11compression7builtin20zlib_compressor_base8compressEPKhmPhmNS1_14operation_hintERmRb]+0xf6): undefined reference to deflate'
/usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::zlib_compressor_base::reset()': http_compression.cpp:(.text._ZN3web4http11compression7builtin20zlib_compressor_base5resetEv[_ZN3web4http11compression7builtin20zlib_compressor_base5resetEv]+0x26): undefined reference to deflateReset'
/usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::zlib_decompressor_base::decompress(unsigned char const*, unsigned long, unsigned char*, unsigned long, web::http::compression::operation_hint, unsigned long&, bool&)': http_compression.cpp:(.text._ZN3web4http11compression7builtin22zlib_decompressor_base10decompressEPKhmPhmNS1_14operation_hintERmRb[_ZN3web4http11compression7builtin22zlib_decompressor_base10decompressEPKhmPhmNS1_14operation_hintERmRb]+0x91): undefined reference to inflate'
/usr/bin/ld: ../libs/cpprestsdk/build.release/Binaries/libcpprest.a(http_compression.cpp.o): in function web::http::compression::builtin::zlib_decompressor_base::reset()': http_compression.cpp:(.text._ZN3web4http11compression7builtin22zlib_decompressor_base5resetEv[_ZN3web4http11compression7builtin22zlib_decompressor_base5resetEv]+0x26): undefined reference to inflateReset'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/micro-service.dir/build.make:142: micro-service] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/micro-service.dir/all] Error 2
make: *** [Makefile:84: all] Error 2`

@ronytigo
Copy link

ronytigo commented Jan 5, 2023

I have the same problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants