Although the repo is not maintained anymore I was wondering if you could help me figure out a linking error I'm having.
,I'm trying to compile a C++ project statically that uses DockerClientpp so I run
g++ -static obj1.o obj2.o obj3.o obj4.o obj5.o -larchive -lz -lbz2 -llzma -lDockerClientpp
But I get a series of undefined references
deps/DockerClientpp/build/lib/libDockerClientpp.a(Archive.cpp.o): In function `DockerClientpp::Utility::Archive::Impl::writeEntry(archive*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
test/deps/DockerClientpp/src/Archive.cpp:97: undefined reference to `archive_entry_new'
test/deps/DockerClientpp/src/Archive.cpp:98: undefined reference to `archive_entry_copy_stat'
test/deps/DockerClientpp/src/Archive.cpp:100: undefined reference to `archive_entry_set_pathname'
test/deps/DockerClientpp/src/Archive.cpp:102: undefined reference to `archive_write_header'
test/deps/DockerClientpp/src/Archive.cpp:108: undefined reference to `archive_write_data'
test/deps/DockerClientpp/src/Archive.cpp:112: undefined reference to `archive_entry_free'
deps/DockerClientpp/build/lib/libDockerClientpp.a(Archive.cpp.o): In function `DockerClientpp::Utility::Archive::Impl::writeToFd(int)':
test/deps/DockerClientpp/src/Archive.cpp:49: undefined reference to `archive_write_new'
test/deps/DockerClientpp/src/Archive.cpp:51: undefined reference to `archive_write_set_format_pax_restricted'
test/deps/DockerClientpp/src/Archive.cpp:53: undefined reference to `archive_write_open_fd'
test/deps/DockerClientpp/src/Archive.cpp:64: undefined reference to `archive_write_free'
deps/DockerClientpp/build/lib/libDockerClientpp.a(Archive.cpp.o): In function `DockerClientpp::Utility::Archive::Impl::getTar[abi:cxx11]()':
test/deps/DockerClientpp/src/Archive.cpp:71: undefined reference to `archive_write_new'
test/deps/DockerClientpp/src/Archive.cpp:73: undefined reference to `archive_write_set_format_pax_restricted'
test/deps/DockerClientpp/src/Archive.cpp:75: undefined reference to `archive_write_open'
test/deps/DockerClientpp/src/Archive.cpp:86: undefined reference to `archive_write_free'
deps/DockerClientpp/build/lib/libDockerClientpp.a(Archive.cpp.o): In function `DockerClientpp::Utility::Archive::Impl::writeContentToDisk(archive*, archive*)':
test/deps/DockerClientpp/src/Archive.cpp:179: undefined reference to `archive_write_data_block'
test/deps/DockerClientpp/src/Archive.cpp:175: undefined reference to `archive_read_data_block'
deps/DockerClientpp/build/lib/libDockerClientpp.a(Archive.cpp.o): In function `DockerClientpp::Utility::Archive::Impl::extractTar(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
test/deps/DockerClientpp/src/Archive.cpp:144: undefined reference to `archive_read_new'
test/deps/DockerClientpp/src/Archive.cpp:145: undefined reference to `archive_read_support_format_all'
test/deps/DockerClientpp/src/Archive.cpp:147: undefined reference to `archive_write_disk_new'
test/deps/DockerClientpp/src/Archive.cpp:148: undefined reference to `archive_write_disk_set_options'
test/deps/DockerClientpp/src/Archive.cpp:149: undefined reference to `archive_write_disk_set_standard_lookup'
test/deps/DockerClientpp/src/Archive.cpp:151: undefined reference to `archive_read_open_memory'
test/deps/DockerClientpp/src/Archive.cpp:155: undefined reference to `archive_entry_set_pathname'
test/deps/DockerClientpp/src/Archive.cpp:157: undefined reference to `archive_write_header'
test/deps/DockerClientpp/src/Archive.cpp:158: undefined reference to `archive_entry_size'
test/deps/DockerClientpp/src/Archive.cpp:161: undefined reference to `archive_write_finish_entry'
test/deps/DockerClientpp/src/Archive.cpp:153: undefined reference to `archive_read_next_header'
test/deps/DockerClientpp/src/Archive.cpp:156: undefined reference to `archive_entry_pathname'
test/deps/DockerClientpp/src/Archive.cpp:163: undefined reference to `archive_read_close'
test/deps/DockerClientpp/src/Archive.cpp:164: undefined reference to `archive_read_free'
test/deps/DockerClientpp/src/Archive.cpp:165: undefined reference to `archive_write_close'
test/deps/DockerClientpp/src/Archive.cpp:166: undefined reference to `archive_write_free'
collect2: error: ld returned 1 exit status
I was thinking that maybe I should change something in the CMakeLists.txt to compile all the libraries statically but I'm not sure what.
Any suggestion is highly appreciated
Although the repo is not maintained anymore I was wondering if you could help me figure out a linking error I'm having.
,I'm trying to compile a C++ project statically that uses DockerClientpp so I run
But I get a series of undefined references
I was thinking that maybe I should change something in the
CMakeLists.txtto compile all the libraries statically but I'm not sure what.Any suggestion is highly appreciated