ошибка при компиляции gr-gsm для GNU Radio 3.8 - PullRequest
0 голосов
/ 18 января 2020

Я пытаюсь скомпилировать проект gr-gsm (https://github.com/ptrkrysik/gr-gsm). Во время работы cmake у меня возникает следующая ошибка:

.
.
.
Building C object CMakeFiles/cmTC_5223d.dir/CheckFunctionExists.c.o
/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_5223d.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c
Linking C executable cmTC_5223d
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5223d.dir/link.txt --verbose=1
/usr/bin/cc  -DCHECK_FUNCTION_EXISTS=pthread_create    -rdynamic CMakeFiles/cmTC_5223d.dir   /CheckFunctionExists.c.o  -o cmTC_5223d  -lpthreads 
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_5223d.dir/build.make:87: cmTC_5223d] Błąd 1
make[1]: Opuszczenie katalogu '/home/notroot/Pobrane/gr-gsm/build/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_5223d/fast] Błąd 2

и после выполнения команды / usr / bin / cc -lpthreads у меня также возникает эта ошибка:

/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status

но не после выполнения команды / usr / bin / cc -lpthread , которая выдает такой вывод:

/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o: in function `_start':
(.text+0x24): undefined reference to `main'
collect2: error: ld returned 1 exit status

Мне удалось заменить все -lpthreads с -lpthread флаг с grep -irl "lpthreads" ./* | xargs sed -i 's / lpthreads / lpthread / g' . После запуска я вижу следующую ошибку:

Building C object CMakeFiles/cmTC_5223d.dir/CheckFunctionExists.c.o
/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_5223d.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c
Linking C executable cmTC_5223d
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5223d.dir/link.txt --verbose=1
/usr/bin/cc  -DCHECK_FUNCTION_EXISTS=pthread_create    -rdynamic CMakeFiles/cmTC_5223d.dir/CheckFunctionExists.c.o  -o cmTC_5223d  -lpthread 
/usr/bin/ld: cannot find -lpthread
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_5223d.dir/build.make:87: cmTC_5223d] Błąd 1
make[1]: Opuszczenie katalogu '/home/notroot/Pobrane/gr-gsm/build/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_5223d/fast] Błąd 2

, но при работе без cmake ld и find lpthread!

1 Ответ

1 голос
/ 18 января 2020

Я нашел решение: https://github.com/ptrkrysik/gr-gsm/issues/487

Этот код не работал с радио GNU 3.8. Работал только с радио GNU 3.7.

...