요즘 arm-linux용의 크로스 빌드 환경이 필요해서, FreeBSD만 갖고 열심히 시도해보다가 자꾸 ld에서 세그폴트가 나는 바람에 그냥 결국은 리눅스 에뮬레이션을 쓰기로 하고 –; 데비안으로 또 한참 시도를 했는데.. gcc랑 glibc랑 이것저것 꼬여서.. 결국은 포기; -ㅇ-;
그래서 뭔가 고치기 쉬운 emulators/linux_base-gentoo-stage1 포트를 이용해서 깔아보기로 마음을 먹었습니다. 일단, 컴파일 기반이니까 마음을 단디 먹고 -.-;
포트만 설치하는 것은 아주 간단했습니다. 그냥 젠투 사이트에서 tar.bz2받아다가 /compat/linux 에 풀어놓는 것 뿐이라.. 흐흐.. 그런데, 이제 정상 사용자로 들어가려고 bootstrap.sh를 하는데 빌드도 참 오지게 많이 하는데 거의 make world보다 더 많은 것 같더군요. -ㅇ-; 하여간, 거의 3시간을 기다렸는데.. 떨어지는 것은
1 2 3 4 5 6 7 8 9 10 11 12 |
CPP='gcc -E -x c-header' /var/tmp/..중략../elf/ld-linux.so.2 ..후략.. /bin/sh: line 1: /var/tmp/..../ld-linux.so.2: cannot execute binary file make[2]: *** [/var/tmp/..../buildhere/sunrpc/xbootparam_prot.stmp] Error 126 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/..../sunrpc' make[1]: *** [sunrpc/others] Error 2 make[1]: Leaving directory `/var/..../glibc-2.3.2' make: *** [all] Error 2 !!! ERROR: sys-libs/glibc-2.3.2-r3 failed. !!! Function src_compile, Line 442, Exitcode 2 !!! (no error message) |
-ㅁ-; 웬 glibc 날벼락이요~ 흑흑~. 몇번의 추적 끝에, 다음 한 줄을 고쳐서 해결했습니다:
1 2 3 4 5 6 7 8 9 10 11 |
--- sunrpc/Makefile.orig Tue Nov 25 07:57:06 2003 +++ sunrpc/Makefile Tue Nov 25 07:57:41 2003 @@ -136,7 +136,7 @@ include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) # Tell rpcgen where to find the C preprocessor. -rpcgen-cmd = CPP='$(CC) -E -x c-header' $(built-program-cmd) -Y ../scripts +rpcgen-cmd = CPP='$(CC) -E -x c-header' $(objpfx)/rpcgen -Y ../scripts # Install the rpc data base file. $(inst_sysconfdir)/rpc: etc.rpc $(+force) |
음.. 이게 FreeBSD에서만 생기는 문제인지.. 왜 생기는 건지는 잘 모르겠는데 하여간 저 부분에서 build-program-cmd 변수가 지정이 엉뚱한게 돼서.. 요걸로 빌드하니 잘 되는군요 흐흣..
포티지에 패치를 넣는 방법은 files/디렉토리에 패치를 넣은 다음에 ebuild를 직접 고쳐서 끝부분에 epatch ‘패치파일이름’을 직접 해 줘야한다고 합니다. (-ㅁ-;)
자 그래서 이제 프비에서 젠투쓰기 성공~ 데비안 바이너리 갖다 깔면 호환성문제가 진짜 많이 발생했는데, 젠투 깔으니 무지 좋네요 헤헤헤.
1 2 3 4 5 6 |
alicegentoo(root):/usr/portage# uname -a Linux alice.linuxkorea.co.kr 2.4.2 FreeBSD 5.2-BETA #0: Mon Nov 24 16:15:38 KST 2003 i686 GenuineIntel GNU/Linux alicegentoo(root):/usr/portage# emerge rsync >>> starting rsync with rsync://rsync.gentoo.org/gentoo-portage... This rsync server locate rsync.gentoo.gr.jp(210.138.60.45). It's first server in Tokyo Japan! |
젠투 명령어를 가르쳐주신 nainu님과 mithrandir님께 감사 (_ _)