2014-04-19 3 views
3

전용 서버에 Slackware64 14.0을 새로 설치하고 nginx를 컴파일하는 데 어려움을 겪고 있습니다. 이 그대로C 컴파일러를 찾을 수 없지만 GCC가 설치되었습니다.

./configure (my options) 

반환

checking for OS 
+ Linux 3.10.23-xxxx-std-ipv6-64 x86_64 
checking for C compiler ... not found 

./configure: error: C compiler cc is not found 

하지만 GCC가 설치되어있는 gcc -v 반환 : 내가 뭘하려

Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/specs 
COLLECT_GCC=gcc 
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-slackware-linux/4.7.1/lto-wrapper 
Target: x86_64-slackware-linux 
Configured with: ../gcc-4.7.1/configure --prefix=/usr --libdir=/usr/lib64 --mandir=/usr/man --infodir=/usr/info --enable-shared --enable-bootstrap --enable-languages=ada,c,c++,fortran,go,java,lto,objc --enable-threads=posix --enable-checking=release --enable-objc-gc --with-system-zlib --with-python-dir=/lib64/python2.7/site-packages --disable-libunwind-exceptions --enable-__cxa_atexit --enable-libssp --enable-lto --with-gnu-ld --verbose --enable-java-home --with-java-home=/usr/lib64/jvm/jre --with-jvm-root-dir=/usr/lib64/jvm --with-jvm-jar-dir=/usr/lib64/jvm/jvm-exports --with-arch-directory=amd64 --with-antlr-jar=/home/slackware/slackbuilds/gcc/antlr-runtime-3.4.jar --enable-multilib --target=x86_64-slackware-linux --build=x86_64-slackware-linux --host=x86_64-slackware-linux 
Thread model: posix 
gcc version 4.7.1 (GCC) 

"(인터넷 검색 후) 10은 noexec으로 마운트됩니다. .는 "사실
은이었다, 나의 경화 구성의 일부로서 나는 그것을 다시 부팅 내 /etc/fstab이 보이는 지금, 확인 변경 :. NOEXEC없이 새로운 fstab에 그래도 작동하지 않습니다

# <file system> <mount point> <type> <options> <dump> <pass> 
/dev/md1 / ext4 errors=remount-ro,discard 0 1 
/dev/md2 /home ext4 defaults,discard 1 2 
/dev/md5 /var/www ext4 defaults,discard 1 2 
/dev/md6 /var/log ext4 defaults,discard 1 2 
/dev/md7 /tmp ext4 defaults,discard,nodev,nosuid 1 2 
/dev/md8 /var/lib/mysql ext4 defaults,discard 1 2 
/dev/sda3 swap swap defaults 0 0 
/dev/sdb3 swap swap defaults 0 0 
proc   /proc proc defaults  0  0 
sysfs   /sys sysfs defaults  0  0 
/tmp   /var/tmp none rw,nosuid,nodev,bind 0 0 

(I 심지어 명시 적 exec)

과 노력
그것은이다 "GCC는 $PATH 당신에 없습니다."

whereis gcc 
gcc: /usr/bin/gcc /usr/lib64/gcc /usr/X11R6/bin/gcc /usr/bin/X11/gcc /usr/X11/bin/gcc /usr/libexec/gcc /usr/man/man1/gcc.1.gz /usr/share/man/man1/gcc.1.gz /usr/X11/man/man1/gcc.1.gz 

echo $PATH 
/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin 

다른 것들은 내가 그랬어 : nginx를 구성 파일을 찾고

는, 그들이 CC var에 사용합니다. 이 CC는 존재하지 않았습니다.

CC=/usr/bin/gcc 

이 역시 작동하지 않았습니다.

내가이 Nginx에 문제가되지 않습니다 있는지 확인 소스에서 다른 프로그램을 컴파일했는데, 나는 어쩌면 흥미로운 발견이다

./configure 

checking for gcc... gcc 
checking whether the C compiler works... no 
configure: error: in `/home/napster/htop-master': 
configure: error: C compiler cannot create executables 
See `config.log' for more details 

: htop를 컴파일하려고하면

을, 나는이있어 왜냐하면 대부분의 개발자 도구가 없어도 최소한의 설치만으로 gcc가 발견되기 때문입니다. 이 오류는 필요한 도구를 설치하여 해결해야합니다.

ls -l /usr/bin 

cc -> gcc 
gcc -> gcc-4.7.1 

어떤 아이디어 :

나는 심지어 확실 GCC와 CC가 확인되어 있도록 /usr/bin에 심볼릭 링크를 확인?
미리 감사드립니다.

답변

0

'config.log'파일의 내용은 무엇입니까?

대부분의 경우 나쁜 CFLAGS 나 LDFLAGS를 어딘가에 가지고있을 가능성이 있습니다. 설정 스크립트 나 nginx/htop 기본값을 사용했을 가능성이 있습니다.

CFLAGS 및 LDFLAGS는 컴파일러의 명령 줄에 전달되는 옵션입니다. 유효하지 않으면 컴파일러가 실행되지 않습니다.

nginx/htop에 필요한 기본 라이브러리가없고 LDCC가 gcc를 구제하는 것으로 지정하는 경우 동일한 증상이 나타날 수 있습니다.

정말 config.log 파일을 확인해야합니다.

+0

오류가 다르더라도 원인은 동일합니다. config.log에서 지적한 오류를 해결하면 nginx도 해결됩니다. 감사. –

+0

누군가가 궁금해하는 경우, 나를위한 htop의 config.log에서 libmpc가 누락되었다고 지적했습니다. –

-3

권한 문제 일 수 있습니다. sudo ./configure를 사용하면 문제가 없습니다.

관련 문제