2012-07-20 2 views
4

64 비트 호스트 (CentOS 5.8 실행)에서 valgrind (3.7.0)를 빌드하려고합니다. 나는 32 비트 프로그램의 성능을 검사 할 때 valgrind를 사용할 필요가 있습니다. (32 비트 호스트를 기반으로합니다. 32 비트와 64 비트 호스트에서 프로그램을 실행해야하기 때문에 32 비트가 필요합니다.)64 비트 CentOS 5 호스트에서 32 비트 빌드

문제는 내 64 비트 호스트에 gcc가 없으므로 스탠포드 대학 리포 미러 ("64 비트 호스트의 기본 저장소"는 사용할 수 없으므로 yum은 아웃). 이렇게하면 valgrind를 빌드 할 수 있었고 로컬 작업 (예 : "valgrind ls -l")에서는 작동했지만 다른 호스트에서 빌드 한 32 비트 프로그램을 실행하면 실패했습니다. 나는 valgrind에 대한 configure 스크립트가 "configure --enable-only32bit"를 실행하여 32 비트 빌드 지원을 확인하지 못했다는 것을 알아 냈습니다. .

그래서 gcc 등에서 32 비트를 어떻게 지원합니까? 나는 "yum search gcc | grep i386"을 시도한 다음 32 비트 C 항목 ("sudo yum install compat-glibc.i386 compat-libgcc-296.i386 compat-libstdC++ - 296.i386 compat-libstdC++ - 33" i386 libgcc.i386 libstdC++ .i386 libstdC++ - devel.i386 libstdC++ 44-devel.i386 edac-utils.x86_64 nspluginwrapper.i386 ") 그러나"configure - enable-only32bit "는 여전히 32 비트 지원을보고하지 않습니다. .

추신 : yum.conf는 매우 작게 표시됩니다 (제외 할 수 없음). 그것의 유일한 이상한 일이다 "installonly_limit = 5"

OK, 여기에 짧은 대답 어쨌든에 CentOS 5.8에 (의 glibc-devel.i386를 설치하는 것입니다 Error "gnu/stubs-32.h: No such file or directory" while compiling Nachos source code

에 특종, 감사를 위해입니다 ... glibc-devel.i686, libc6-dev-i386 등 다른 이름을 가진 다른 배포판), 위에 나열된 다른 패키지에 추가 할 수 있습니다 (glibc-devel.i386이 충분했는지 확인하기 위해 제거하지 않았습니다. 그 자체).

configure 스크립트를 검사하여 "-m32"로 최소 C 프로그램을 컴파일하려고 시도하는 것을보고 올바른 질문을 얻었습니다. 실패하면 configure 스크립트가 "32 비트 지원 없음"을보고합니다. 그래서 고전적인 HelloWorld C 프로그램을 만들고 컴파일했습니다 ("cc -m32 hello.c"). 이것은 헤더 파일 "gnu/stubs-32.h"가 누락되었다고 불평했습니다. 그래서 "어떤 패키지에 gnu/스텁 - 32.h가 있는지"에 대한 Google 검색에서 위에 인용 한 stackoverflow 페이지로 이동했습니다.

답변

관련 문제