неопределенная ссылка на компиляцию TaskWarrior на руке Chromebook - PullRequest
0 голосов
/ 18 мая 2019

Я пытался собрать task-2.5.1 на своем Chromebook armv81 в рамках сессии termux. Это не сработало из-за зависимостей сборки, поэтому я установил их, затем распаковал и начал в новом новом каталоге. Когда я запускал make VERBOSE=1, я получал undefined reference to __atomic_fetch_add_4 при связывании ...

[ 98%] Linking CXX executable lex
cd /data/data/com.termux/files/home/src/task-2.5.1/src && /data/data/com.termux/files/usr/bin/cmake -E cmake_link_script CMakeFiles/lex_executable.dir/link.txt --verbose=1
/data/data/com.termux/files/usr/bin/c++  -Wall -Wsign-compare -Wreturn-type -std=c++11 -stdlib=libc++  -O3 -DNDEBUG  -rdynamic CMakeFiles/lex_executable.dir/lex.cpp.o  -o lex libtask.a commands/libcommands.a columns/libcolumns.a libtask.a -lgnutls -luuid
/data/data/com.termux/files/usr/bin/arm-linux-androideabi-ld: libtask.a(Nibbler.cpp.o): in function `Nibbler::Nibbler(Nibbler const&)':
Nibbler.cpp:(.text+0x8c): undefined reference to `__atomic_fetch_add_4'
/data/data/com.termux/files/usr/bin/arm-linux-androideabi-ld: libtask.a(Nibbler.cpp.o): in function `Nibbler::operator=(Nibbler const&)':
Nibbler.cpp:(.text+0xe0): undefined reference to `__atomic_fetch_add_4'
/data/data/com.termux/files/usr/bin/arm-linux-androideabi-ld: Nibbler.cpp:(.text+0x104): undefined reference to `__atomic_fetch_add_4'
/data/data/com.termux/files/usr/bin/arm-linux-androideabi-ld: libtask.a(Nibbler.cpp.o): in function `Nibbler::~Nibbler()':
Nibbler.cpp:(.text+0x174): undefined reference to `__atomic_fetch_add_4'
clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/CMakeFiles/lex_executable.dir/build.make:90: src/lex] Error 1
make[2]: Leaving directory '/data/data/com.termux/files/home/src/task-2.5.1'
make[1]: *** [CMakeFiles/Makefile2:175: src/CMakeFiles/lex_executable.dir/all] Error 2
make[1]: Leaving directory '/data/data/com.termux/files/home/src/task-2.5.1'
make: *** [Makefile:152: all] Error 2

Я нашел это обсуждение о неопределенных ссылках в сборках рук. Я попытался добавить -latomic в CMakeFiles / task_executable.dir / link.txt, но это не изменило вывод.

Есть идеи как это исправить?

1 Ответ

0 голосов
/ 29 мая 2019

Большое спасибо wbsch в этой проблеме (опубликованной сразу после этой) за ссылку на известное исправление , которое было успешно установлено на моей машине, удалив три строки из CMakeLists.txt.

...