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

Compilation error: Undefined reference to __atomic_fetch_add_8 #22843

Closed
mineas312 opened this issue Jan 28, 2022 · 8 comments
Closed

Compilation error: Undefined reference to __atomic_fetch_add_8 #22843

mineas312 opened this issue Jan 28, 2022 · 8 comments
Assignees
Labels
category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`)

Comments

@mineas312
Copy link

Describe the bug
Compilation error.

Environment

  • OS: Raspbian
  • Compiler: g++ (Raspbian 10.2.1-6+rpi1)

To Reproduce
Steps to reproduce the behavior:

  1. ./bootstrap-vcpkg.sh

Expected behavior
Compiles.

Failure logs

/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o: in function `vcpkg::Filesystem::write_contents(vcpkg::Path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vcpkg::LineInfo)':
files.cpp:(.text+0x1fd0): undefined reference to `__atomic_fetch_add_8'

I do not know where full error log is located.
There are other errors like this and I think it basically does not link a library related with this functions.

@sandeepmistry
Copy link

I'm also facing this issue:

cSt11char_traitsIcESaIcEEERSt10error_code]+0xe0): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: files.cpp:(.text._ZN5vcpkg14RealFilesystem23write_contents_and_dirsERKNS_4PathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10error_code[_ZN5vcpkg14RealFilesystem23write_contents_and_dirsERKNS_4PathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10error_code]+0x27c): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o:files.cpp:(.text._ZN5vcpkg14RealFilesystem22copy_regular_recursiveERKNS_4PathES3_RSt10error_code[_ZN5vcpkg14RealFilesystem22copy_regular_recursiveERKNS_4PathES3_RSt10error_code]+0x80): more undefined references to `__atomic_fetch_add_8' follow
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o: in function `vcpkg::Json::Reader::get_reader_stats()':
json.cpp:(.text+0x1754): undefined reference to `__atomic_load_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o: in function `vcpkg::Json::get_json_parsing_stats()':
json.cpp:(.text+0x1bb8): undefined reference to `__atomic_load_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o: in function `vcpkg::Json::parse(vcpkg::StringView, vcpkg::StringView)':
json.cpp:(.text+0x8004): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o: in function `vcpkg::Json::parse_file(vcpkg::Filesystem const&, vcpkg::Path const&, std::error_code&)':
json.cpp:(.text+0x828c): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o: in function `vcpkg::Json::parse_file(vcpkg::LineInfo, vcpkg::Filesystem const&, vcpkg::Path const&)':
json.cpp:(.text+0xa7d8): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/sourceparagraph.cpp.o: in function `vcpkg::parse_manifest_configuration[abi:cxx11](vcpkg::StringView, vcpkg::Json::Object const&)':
sourceparagraph.cpp:(.text+0x51ac): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/sourceparagraph.cpp.o: in function `vcpkg::SourceControlFile::parse_manifest_object(vcpkg::StringView, vcpkg::Json::Object const&)':
sourceparagraph.cpp:(.text+0xbf74): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/vcpkgpaths.cpp.o:vcpkgpaths.cpp:(.text+0x9068): more undefined references to `__atomic_fetch_add_8' follow
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.process.cpp.o: in function `vcpkg::get_subproccess_stats()':
system.process.cpp:(.text+0x18fc): undefined reference to `__atomic_load_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.process.cpp.o: in function `vcpkg::cmd_execute_and_stream_data(vcpkg::Command const&, vcpkg::InWorkingDirectory, std::function<void (vcpkg::StringView)>, vcpkg::Environment const&)':
system.process.cpp:(.text+0x1e4c): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.process.cpp.o: in function `vcpkg::cmd_execute(vcpkg::Command const&, vcpkg::InWorkingDirectory, vcpkg::Environment const&)':
system.process.cpp:(.text+0x38fc): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/paragraphs.cpp.o: in function `vcpkg::Paragraphs::get_load_ports_stats()':
paragraphs.cpp:(.text+0x2070): undefined reference to `__atomic_load_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/paragraphs.cpp.o: in function `vcpkg::Paragraphs::try_load_port(vcpkg::Filesystem const&, vcpkg::Path const&)':
paragraphs.cpp:(.text+0x407c): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/paragraphs.cpp.o: in function `vcpkg::Paragraphs::try_load_cached_package[abi:cxx11](vcpkg::Filesystem const&, vcpkg::Path const&, vcpkg::PackageSpec const&)':
paragraphs.cpp:(.text+0x6494): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/paragraphs.cpp.o: in function `vcpkg::Paragraphs::try_load_port_text(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vcpkg::StringView, bool)':
paragraphs.cpp:(.text+0x6730): undefined reference to `__atomic_fetch_add_8'
collect2: error: ld returned 1 exit status
[133/133] Linking CXX executable vcpkg-test
FAILED: vcpkg-test 
: && /usr/bin/c++ -O3 -DNDEBUG  CMakeFiles/vcpkglib.dir/src/vcpkg/base/checks.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/chrono.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/cofffilereader.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/downloads.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/hash.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/messages.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/parse.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/strings.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/stringview.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.print.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.process.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.proxy.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/uint128.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/unicode.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/base/xmlserializer.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/archives.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/binarycaching.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/binaryparagraph.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/build.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/buildenvironment.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/cmakevars.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.activate.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.add-version.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.add.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.autocomplete.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.buildexternal.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.cache.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.check-support.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.ci.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.ciclean.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.civerifyversions.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.contact.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.create.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.dependinfo.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.edit.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.env.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.fetch.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.find.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.format-manifest.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.generate-message-map.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.hash.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.info.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.init-registry.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.integrate.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.list.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.new.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.owns.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.porthistory.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.portsdiff.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.regenerate.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.search.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.setinstalled.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.upgrade.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.upload-metrics.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.use.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.version.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.xdownload.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.xvsinstances.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.zbootstrap-standalone.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.zce.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/commands.zprintconfig.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/configuration.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/configure-environment.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/dependencies.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/export.chocolatey.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/export.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/export.ifw.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/export.prefab.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/globalstate.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/help.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/input.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/install.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/metrics.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/packagespec.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/paragraphs.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/platform-expression.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/portfileprovider.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/postbuildlint.buildtype.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/postbuildlint.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/registries.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/remove.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/sourceparagraph.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/statusparagraph.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/statusparagraphs.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/tools.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/triplet.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/update.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/userconfig.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/vcpkgcmdarguments.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/vcpkglib.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/vcpkgpaths.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/versiondeserializers.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/versions.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/versiont.cpp.o CMakeFiles/vcpkglib.dir/src/vcpkg/visualstudio.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/arguments.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/binarycaching.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/catch.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/chrono.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/commands.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/configmetadata.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/configparser.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/dependencies.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/downloads.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/files.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/hash.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/json.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/manifests.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/mockcmakevarsprovider.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/optional.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/paragraph.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/plan.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/platform-expression.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/registries.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/specifier.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/statusparagraphs.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/strings.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/stringview.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/system.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/uint128.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/update.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/util.cpp.o CMakeFiles/vcpkg-test.dir/src/vcpkg-test/versionplan.cpp.o -o vcpkg-test  _deps/fmt-build/libfmt.a  -pthread && :
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o: in function `vcpkg::Filesystem::write_contents(vcpkg::Path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vcpkg::LineInfo)':
files.cpp:(.text+0x1fd0): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o: in function `vcpkg::Filesystem::write_contents_and_dirs(vcpkg::Path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vcpkg::LineInfo)':
files.cpp:(.text+0x2190): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: files.cpp:(.text+0x23d8): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o: in function `vcpkg::Filesystem::copy_regular_recursive(vcpkg::Path const&, vcpkg::Path const&, vcpkg::LineInfo)':
files.cpp:(.text+0x5604): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o: in function `vcpkg::get_filesystem_stats()':
files.cpp:(.text+0x59a4): undefined reference to `__atomic_load_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o: in function `vcpkg::RealFilesystem::write_contents(vcpkg::Path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::error_code&)':
files.cpp:(.text._ZN5vcpkg14RealFilesystem14write_contentsERKNS_4PathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10error_code[_ZN5vcpkg14RealFilesystem14write_contentsERKNS_4PathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10error_code]+0xdc): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o: in function `vcpkg::StatsTimer::~StatsTimer()':
files.cpp:(.text._ZN5vcpkg10StatsTimerD2Ev[_ZN5vcpkg10StatsTimerD5Ev]+0x50): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o: in function `vcpkg::RealFilesystem::create_directories(vcpkg::Path const&, std::error_code&)':
files.cpp:(.text._ZN5vcpkg14RealFilesystem18create_directoriesERKNS_4PathERSt10error_code[_ZN5vcpkg14RealFilesystem18create_directoriesERKNS_4PathERSt10error_code]+0x278): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o: in function `vcpkg::RealFilesystem::write_contents_and_dirs(vcpkg::Path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::error_code&)':
files.cpp:(.text._ZN5vcpkg14RealFilesystem23write_contents_and_dirsERKNS_4PathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10error_code[_ZN5vcpkg14RealFilesystem23write_contents_and_dirsERKNS_4PathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10error_code]+0xe0): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: files.cpp:(.text._ZN5vcpkg14RealFilesystem23write_contents_and_dirsERKNS_4PathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10error_code[_ZN5vcpkg14RealFilesystem23write_contents_and_dirsERKNS_4PathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10error_code]+0x27c): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/files.cpp.o:files.cpp:(.text._ZN5vcpkg14RealFilesystem22copy_regular_recursiveERKNS_4PathES3_RSt10error_code[_ZN5vcpkg14RealFilesystem22copy_regular_recursiveERKNS_4PathES3_RSt10error_code]+0x80): more undefined references to `__atomic_fetch_add_8' follow
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o: in function `vcpkg::Json::Reader::get_reader_stats()':
json.cpp:(.text+0x1754): undefined reference to `__atomic_load_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o: in function `vcpkg::Json::get_json_parsing_stats()':
json.cpp:(.text+0x1bb8): undefined reference to `__atomic_load_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o: in function `vcpkg::Json::parse(vcpkg::StringView, vcpkg::StringView)':
json.cpp:(.text+0x8004): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o: in function `vcpkg::Json::parse_file(vcpkg::Filesystem const&, vcpkg::Path const&, std::error_code&)':
json.cpp:(.text+0x828c): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/json.cpp.o: in function `vcpkg::Json::parse_file(vcpkg::LineInfo, vcpkg::Filesystem const&, vcpkg::Path const&)':
json.cpp:(.text+0xa7d8): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/sourceparagraph.cpp.o: in function `vcpkg::parse_manifest_configuration[abi:cxx11](vcpkg::StringView, vcpkg::Json::Object const&)':
sourceparagraph.cpp:(.text+0x51ac): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/sourceparagraph.cpp.o: in function `vcpkg::SourceControlFile::parse_manifest_object(vcpkg::StringView, vcpkg::Json::Object const&)':
sourceparagraph.cpp:(.text+0xbf74): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/vcpkgpaths.cpp.o:vcpkgpaths.cpp:(.text+0x9068): more undefined references to `__atomic_fetch_add_8' follow
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.process.cpp.o: in function `vcpkg::get_subproccess_stats()':
system.process.cpp:(.text+0x18fc): undefined reference to `__atomic_load_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.process.cpp.o: in function `vcpkg::cmd_execute_and_stream_data(vcpkg::Command const&, vcpkg::InWorkingDirectory, std::function<void (vcpkg::StringView)>, vcpkg::Environment const&)':
system.process.cpp:(.text+0x1e4c): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/base/system.process.cpp.o: in function `vcpkg::cmd_execute(vcpkg::Command const&, vcpkg::InWorkingDirectory, vcpkg::Environment const&)':
system.process.cpp:(.text+0x38fc): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/paragraphs.cpp.o: in function `vcpkg::Paragraphs::get_load_ports_stats()':
paragraphs.cpp:(.text+0x2070): undefined reference to `__atomic_load_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/paragraphs.cpp.o: in function `vcpkg::Paragraphs::try_load_port(vcpkg::Filesystem const&, vcpkg::Path const&)':
paragraphs.cpp:(.text+0x407c): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/paragraphs.cpp.o: in function `vcpkg::Paragraphs::try_load_cached_package[abi:cxx11](vcpkg::Filesystem const&, vcpkg::Path const&, vcpkg::PackageSpec const&)':
paragraphs.cpp:(.text+0x6494): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/vcpkglib.dir/src/vcpkg/paragraphs.cpp.o: in function `vcpkg::Paragraphs::try_load_port_text(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vcpkg::StringView, bool)':
paragraphs.cpp:(.text+0x6730): undefined reference to `__atomic_fetch_add_8'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

@mathisloge
Copy link
Contributor

mathisloge commented Jan 28, 2022

seems like you need to add -latomic when building vcpkg with raspbian gcc.
https://gitlab.kitware.com/cmake/cmake/-/issues/21174

@Cheney-W Cheney-W added the category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`) label Jan 29, 2022
@Dingkun0817
Copy link

I wanna ask which CML should target_link_libraries(tgt PRIVATE atomic) added into ?

@hifiberry
Copy link

Is there a workaround? Editing the file locally doesn't work as the bootstrap overwrites it again.

BillyONeal pushed a commit to microsoft/vcpkg-tool that referenced this issue Mar 25, 2022
* Added template constructor to StringView

Compilation on Raspberry Pi OS with gcc 8.3 was failing because the
StringView class did not have constructor defined for ZStringView.

Addresses microsoft/vcpkg#21142

* Added atomic library to link list

Addresses microsoft/vcpkg#22843
Related to microsoft/vcpkg#21142

* Added expression filter for atomic

* Corrected filter expression

* Detect libatomic

* fix it the strega way!

* Adjust atomic test code

* strega nits

Co-authored-by: Robert Schumacher <[email protected]>
Co-authored-by: nicole mazzuca <[email protected]>
Co-authored-by: nicole mazzuca <[email protected]>
@mprather
Copy link

@mineas312, @sandeepmistry, @hifiberry - a fix was committed to the rep on 3/25 which addresses the linker issue. The fix to vcpkg-tool was tested with Raspberry Pi OS 10, gcc 8.3, and a 32-bit board (3 B+). This plus another fix for #21142 has unblocked RPi compilation of vcpkg (as best I can tell). If you are still having issues, might be worth updating this issue with new info.

@sandeepmistry
Copy link

Hi @mprather, thank you for the update. I can confirm building (with commit 27fd32e) on a Raspberry Pi 4 is now successful.

@FrankXie05
Copy link
Contributor

This issue has been fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`)
Projects
None yet
Development

No branches or pull requests

8 participants