Skip to content

build Statically linked executable binary failed #10877

@wssbygone

Description

@wssbygone

hello, friends, I‘ve try many times to build the statically linked executable binary, but it awalys fails, the code is the latest release version v3.5.4, I'm so depressed and I need your help, this is my cmd stages on Ubuntu v18.04:

mkdir -p build  
cd build 
cmake .. -DSTATIC_EXECUTABLES=ON \
 -DCMAKE_BUILD_TYPE=Release \
 -DUSE_GOOGLE_TESTS=OFF
make -j4

The following is the compiling log:

[ 97%] Linking CXX executable ../bin/arangod
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libcrypto.a(dso_dlfcn.o): In function `dlfcn_globallookup':
(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
../bin/libarango.a(PrivilegeFeature.cpp.o): In function `arangodb::options::StringParameter::valueString[abi:cxx11]() const':
/home/daniel/arangodb-3.5.4/lib/ApplicationFeatures/PrivilegeFeature.cpp:171: warning: Using 'initgroups' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
../bin/libarango.a(PrivilegeFeature.cpp.o): In function `arangodb::PrivilegeFeature::extractPrivileges()':
/home/daniel/arangodb-3.5.4/lib/ApplicationFeatures/PrivilegeFeature.cpp:92: warning: Using 'getgrgid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/daniel/arangodb-3.5.4/lib/ApplicationFeatures/PrivilegeFeature.cpp:102: warning: Using 'getgrnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/daniel/arangodb-3.5.4/lib/ApplicationFeatures/PrivilegeFeature.cpp:142: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
../bin/libarango.a(PrivilegeFeature.cpp.o): In function `arangodb::options::StringParameter::valueString[abi:cxx11]() const':
/home/daniel/arangodb-3.5.4/lib/ApplicationFeatures/PrivilegeFeature.cpp:168: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
../bin/libcurl.a(netrc.c.o): In function `Curl_parsenetrc':
/home/daniel/arangodb-3.5.4/3rdParty/curl/curl-7.66.0/lib/netrc.c:230: warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
../bin/libarango.a(EndpointIp.cpp.o): In function `arangodb::EndpointIp::connect(double, double)':
/home/daniel/arangodb-3.5.4/lib/Endpoint/EndpointIp.cpp:365: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libcrypto.a(b_sock.o): In function `BIO_gethostbyname':
(.text+0x71): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
[ 98%] Built target arangosh
../bin/libiresearch-s.a(so_utils.cpp.o): In function `iresearch::load_library(char const*, int)':
/home/daniel/arangodb-3.5.4/3rdParty/iresearch/core/utils/so_utils.cpp:105: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libc.a(malloc.o): In function `__libc_malloc':
(.text+0x67c0): multiple definition of `__libc_malloc'
../3rdParty/jemalloc/lib/libjemalloc.a(jemalloc.o):/home/daniel/arangodb-3.5.4/build/3rdParty/jemalloc/v5.2.0/include/jemalloc/internal/tsd.h:211: first defined here
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libc.a(malloc.o): In function `__libc_malloc':
(.text+0x67c0): multiple definition of `malloc'
../3rdParty/jemalloc/lib/libjemalloc.a(jemalloc.o):/home/daniel/arangodb-3.5.4/build/3rdParty/jemalloc/v5.2.0/include/jemalloc/internal/tsd.h:211: first defined here
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libc.a(malloc.o): In function `__libc_free':
(.text+0x7080): multiple definition of `__libc_free'
../3rdParty/jemalloc/lib/libjemalloc.a(jemalloc.o):/home/daniel/arangodb-3.5.4/build/3rdParty/jemalloc/v5.2.0/include/jemalloc/internal/tsd.h:211: first defined here
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libc.a(malloc.o): In function `__libc_free':
(.text+0x7080): multiple definition of `free'
../3rdParty/jemalloc/lib/libjemalloc.a(jemalloc.o):/home/daniel/arangodb-3.5.4/build/3rdParty/jemalloc/v5.2.0/include/jemalloc/internal/tsd.h:211: first defined here
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libc.a(malloc.o): In function `__libc_realloc':
(.text+0x8280): multiple definition of `__libc_realloc'
../3rdParty/jemalloc/lib/libjemalloc.a(jemalloc.o):/home/daniel/arangodb-3.5.4/build/3rdParty/jemalloc/v5.2.0/src/jemalloc.c:2573: first defined here
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libc.a(malloc.o): In function `__libc_realloc':
(.text+0x8280): multiple definition of `realloc'
../3rdParty/jemalloc/lib/libjemalloc.a(jemalloc.o):/home/daniel/arangodb-3.5.4/build/3rdParty/jemalloc/v5.2.0/src/jemalloc.c:2573: first defined here
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libc.a(malloc.o): In function `__libc_memalign':
(.text+0x8670): multiple definition of `__libc_memalign'
../3rdParty/jemalloc/lib/libjemalloc.a(jemalloc.o):/home/daniel/arangodb-3.5.4/build/3rdParty/jemalloc/v5.2.0/src/jemalloc.c:2805: first defined here
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libc.a(malloc.o): In function `__libc_valloc':
(.text+0x8b60): multiple definition of `__libc_valloc'
../3rdParty/jemalloc/lib/libjemalloc.a(jemalloc.o):/home/daniel/arangodb-3.5.4/build/3rdParty/jemalloc/v5.2.0/src/jemalloc.c:2844: first defined here
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libc.a(malloc.o): In function `__libc_calloc':
(.text+0x95d0): multiple definition of `__libc_calloc'
../3rdParty/jemalloc/lib/libjemalloc.a(jemalloc.o):/home/daniel/arangodb-3.5.4/build/3rdParty/jemalloc/v5.2.0/src/jemalloc.c:2394: first defined here
../bin/libarango.a(PrivilegeFeature.cpp.o): In function `arangodb::options::StringParameter::valueString[abi:cxx11]() const':
/home/daniel/arangodb-3.5.4/lib/ApplicationFeatures/PrivilegeFeature.cpp:171: warning: Using 'initgroups' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
../bin/libarango.a(PrivilegeFeature.cpp.o): In function `arangodb::PrivilegeFeature::extractPrivileges()':
/home/daniel/arangodb-3.5.4/lib/ApplicationFeatures/PrivilegeFeature.cpp:92: warning: Using 'getgrgid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/daniel/arangodb-3.5.4/lib/ApplicationFeatures/PrivilegeFeature.cpp:102: warning: Using 'getgrnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/daniel/arangodb-3.5.4/lib/ApplicationFeatures/PrivilegeFeature.cpp:142: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
../bin/libarango.a(PrivilegeFeature.cpp.o): In function `arangodb::options::StringParameter::valueString[abi:cxx11]() const':
/home/daniel/arangodb-3.5.4/lib/ApplicationFeatures/PrivilegeFeature.cpp:168: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
../bin/libcurl.a(netrc.c.o): In function `Curl_parsenetrc':
/home/daniel/arangodb-3.5.4/3rdParty/curl/curl-7.66.0/lib/netrc.c:230: warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
../bin/libarangoserver.a(AcceptorTcp.cpp.o): In function `boost::asio::detail::resolver_service<boost::asio::ip::tcp>::resolve(std::shared_ptr<void>&, boost::asio::ip::basic_resolver_query<boost::asio::ip::tcp> const&, boost::system::error_code&)':
/home/daniel/arangodb-3.5.4/3rdParty/boost/1.69.0/boost/asio/detail/impl/socket_ops.ipp:3344: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libcrypto.a(b_sock.o): In function `BIO_gethostbyname':
(.text+0x71): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
collect2: error: ld returned 1 exit status
arangod/CMakeFiles/arangod.dir/build.make:131: recipe for target 'bin/arangod' failed
make[2]: *** [bin/arangod] Error 1
CMakeFiles/Makefile2:3948: recipe for target 'arangod/CMakeFiles/arangod.dir/all' failed
make[1]: *** [arangod/CMakeFiles/arangod.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2
root@daniel-virtual-machine:~/arangodb-3.5.4/build#

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