сделать ошибку, g cc: «make [4]: ​​g cc: разрешение отклонено» (Arch Linux) - PullRequest
0 голосов
/ 29 апреля 2020

Я обнаружил довольно странную ошибку make при попытке скомпилировать некоторые пакеты. Я использую Arch Linux 5.6.7

Например, при попытке скомпилировать R 3.6 я получаю следующую ошибку (полный вывод в конце):

gcc -shared -fopenmp -L/usr/local/lib64 -o libRblas.so blas.o  cmplxblas.o -lgfortran -lm -lquadmath
make[4]: gcc: Permission denied

Однако gcc обновлен, работает для других установок, и кажется, что все настроено правильно:

[cmasso6@cmasso6 R-3.6.3]$ gcc --version
gcc (Arch Linux 9.3.0-1) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[cmasso6@cmasso6 R-3.6.3]$ which gcc
/usr/bin/gcc

Я посмотрел на Makeconf файл пакета, который содержит следующая строка: CC=gcc. Изменив его на CC=/usr/bin/gcc, он заработал.

Вот мой $PATH:

/usr/lib/aurutils:/usr/lib:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl

И снова gcc работает правильно из командной строки. Я не знаю, что происходит.

Для ясности, я заставил эту установку работать, изменив файл Makeconf , и я также могу установить R 4.0 с pacman без каких-либо беда. Тем не менее, я получаю ту же ошибку при попытке установить некоторые пакеты R, например ps. Поэтому я думаю, что есть общая проблема с gcc и / или make.

Я понятия не имею, что делать, любая помощь будет принята с благодарностью!

Полный вывод make ошибка:

[cmasso6@cmasso6 R-3.6.3]$ make
make[1]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/m4'
make[1]: Nothing to be done for 'R'.
make[1]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/m4'
make[1]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/tools'
make[1]: Nothing to be done for 'R'.
make[1]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/tools'
make[1]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/doc'
make[2]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/doc/html'
make[2]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/doc/html'
make[2]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/doc/manual'
make[2]: Nothing to be done for 'R'.
make[2]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/doc/manual'
make[1]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/doc'
make[1]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/etc'
make[1]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/etc'
make[1]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/share'
make[1]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/share'
make[1]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/src'
make[2]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/src/scripts'
creating src/scripts/R.fe
make[3]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/src/scripts'
make[3]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/src/scripts'
make[2]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/src/scripts'
make[2]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/src/include'
config.status: creating src/include/config.h
config.status: src/include/config.h is unchanged
make[3]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/src/include/R_ext'
make[3]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/src/include/R_ext'
make[2]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/src/include'
make[2]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/src/extra'
make[3]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/src/extra/blas'
make[4]: Entering directory '/home/cmasso6/Downloads/R-3.6.3/src/extra/blas'
gfortran -fno-optimize-sibling-calls -fpic  -g -O2  -c blas.f -o blas.o
gfortran -fno-optimize-sibling-calls -fpic  -g -O2  -c cmplxblas.f -o cmplxblas.o
gcc -shared -fopenmp -L/usr/local/lib64 -o libRblas.so blas.o  cmplxblas.o -lgfortran -lm -lquadmath
make[4]: gcc: Permission denied
make[4]: *** [Makefile:37: libRblas.so] Error 127
make[4]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/src/extra/blas'
make[3]: *** [Makefile:32: R] Error 2
make[3]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/src/extra/blas'
make[2]: *** [Makefile:35: make.blas] Error 2
make[2]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/src/extra'
make[1]: *** [Makefile:28: R] Error 1
make[1]: Leaving directory '/home/cmasso6/Downloads/R-3.6.3/src'
make: *** [Makefile:61: R] Error 1

1 Ответ

2 голосов
/ 29 апреля 2020

У вас есть каталог с именем gcc где-то в одном из каталогов вашего PATH, перед тем, который содержит двоичный файл gcc.

Это ошибка в модуле в GNU Библиотека gnulib, которую GNU использует для поиска содержимого в PATH. См https://savannah.gnu.org/bugs/?57962

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...