Не удается правильно связать библиотеку ZSTD при сборке GCC 10

#c #linux #gcc #ubuntu-20.04

#c #linux #ссагпз #ubuntu-20.04

Вопрос:

Я пытаюсь собрать GCC 10 из исходного кода в Ubuntu 20.04, и я создал другие зависимости. Ниже приведены флаги, которые я установил для настройки файлов make:

 $PWD/../gcc/configure 
--with-gmp=/tmp/gcc 
--with-mpfr=/tmp/gcc 
--with-mpc=/tmp/gcc 
--with-zstd=/../zstd
 

где gmp, mpfr и mpc находятся в /tmp/gcc. Я не могу создать zstd в /tmp/gcc, так как для него нет файла конфигурации. Когда я попытался запустить команду make -j8 , это результат, который я получаю:

 $PWD/../gcc/gcc/lto-compress.c:120: error: undefined reference to 'ZSTD_maxCLevel'
$PWD/../gcc/gcc/lto-compress.c:121: error: undefined reference to 'ZSTD_maxCLevel'
$PWD/../gcc/gcc/lto-compress.c:135: error: undefined reference to 'ZSTD_compressBound'
$PWD/../gcc/gcc/lto-compress.c:138: error: undefined reference to 'ZSTD_compress'
$PWD/../gcc/gcc/lto-compress.c:141: error: undefined reference to 'ZSTD_isError'
$PWD/../gcc/gcc/lto-compress.c:142: error: undefined reference to 'ZSTD_getErrorName'
$PWD/../gcc/gcc/lto-compress.c:161: error: undefined reference to 'ZSTD_getFrameContentSize'
$PWD/../gcc/gcc/lto-compress.c:168: error: undefined reference to 'ZSTD_decompress'
$PWD/../gcc/gcc/lto-compress.c:170: error: undefined reference to 'ZSTD_isError'
$PWD/../gcc/gcc/lto-compress.c:171: error: undefined reference to 'ZSTD_getErrorName'
collect2: error: ld returned 1 exit status
 

Я уже пытался получить ZSTD от sudo apt-get install zstd и обновил свой ПУТЬ, но ничего не произошло. Что мне нужно сделать, чтобы это заработало?

Комментарии:

1. /../zstd не является допустимым путем. Возможно, вы имеете в виду —with-zstd=../zstd (для /tmp/zstd/)?

2. Или, скорее, /../zstd является допустимым путем. Это эквивалентно /zstd.

3. Я проверил файл конфигурации, и по какой-то причине там нет флага с именем —with-zstd= . Кроме того, /../zstd не является эквивалентом /zstd, потому что я нахожусь в другом каталоге с именем gcc-build . Я создал zstd в папке с именем zstd, которая находится в /../zstd, и двоичные файлы там есть, но он по-прежнему не видит его. Из-за этого я понял, что мне нужно как-то связать библиотеки.