답변:
CPU가 64 비트입니다. 커널이 64 비트입니다. 다른 것은 32 비트이지만, 무엇을 말하기가 어렵습니다. 아마도 getconf 당신의 길에서 제일 먼저 오는 것은 32 비트입니다. 들어 봐. /usr/libexec/getconf 단서를 위해.
최신 정보 : 주로 32 비트 사용자 공간을 가지고있는 것 같습니다. 아마도 누군가 4GB 이상의 물리적 메모리를 지원하기 위해 64 비트 OS를 설치했을 것입니다. 64 비트 실행 파일이있을 수 있습니다. 그러나 이제는 혼합 된 환경이 분명합니다.
/usr/libexec. 젠투가 사용하는 것 같아요. /etc/make.conf.
시험 arch x86_64를 인쇄하면 64 비트가됩니다. 일부 응용 프로그램은 32 비트이기 때문에 LONG_BIT는 32를 얻습니다. gcc가 32 비트로 컴파일 된 경우가 될 수 있습니다.
따라서 아치는 실제로 64 비트이고 64 비트 애플리케이션을 실행할 수 있지만 32 비트 gcc를 설치했습니다.
file $(which gcc) 이것을 터미널에서 실행하십시오. 다음과 같이 인쇄하면 : /usr/bin/gcc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped 당신은 64bit gcc를 가지고 있습니다. 그렇지 않으면 아마도 ELF 뒤에 쓰여지는 것이 32 비트 일 것입니다.
gcc x86_86-pc-linux-gnu-gcc를 가지고 있어도 컴파일 할 수 있습니다. 여러분의 Gentoo 시스템에 대한 몇 가지 정보가 유용 할 것입니다. 64 비트 커널을 실행 중이지만 32 비트 응용 프로그램을 설치했습니다. 그래서 누군가가 CHOST를 변경했거나 현재 설치된 32 비트 gcc로 커널이 시스템에 빌드되지 않았습니다. 또는 거기에 설치되었지만 교차 컴파일되었습니다. @DavidSchwartz 그렇습니다. 그러나 Gentoo에서는 정말 드문 일입니다.
Gentoo에서 make.conf를 읽을 수 있으려면 루트 접근 권한이 필요하다는 것을 기억하지 못합니다.
grep CHOST /etc/make.conf
네가 얻으면
CHOST="x86_64-pc-linux-gnu"
그런 다음 시스템이 64 비트 패키지를 컴파일하고 설치하도록 설정됩니다. 그렇지 않으면 당신이 얻는다면
CHOST="i686-pc-linux-gnu"
그런 다음 시스템이 32 비트로 설정됩니다.
그 중 하나를 얻지 못하면 루트 권한이 필요할 수 있습니다. 주어진 당신의 uname 귀하의 시스템이 64 비트가 될 것으로 기대합니다.
file...에which getconf너 줄까? 무엇을 하는가?/usr/libexec/conf/default다음으로 연결?