합성




1. binutils/bfd
configure: error: installation or configuration problem: C compiler cannot create executables.
make: *** [configure-bfd] Error 1
C 컴파일러가 워킹을 하지 못해서 발생한 오류입니다.
추적하여 가면 다음과 같은 명령어에서 동작을 하지 못함을 알 수 있습니다.
gcc -o conftest.dSYM -g -O2 conftest.c 1>&5
중간에 conftest.dSYM을 만들어 내는데 이것이 문제입니다.
log 파일을 보면
checking for executable suffix
에서 dSYM을 찾아 붙입입니다.
테스트를 위해서 덤프 코드를 넣어서 수행해보면 아래와 같은 사항을 확인할 수 있습니다.
checking for executable suffix... (cached) .dSYM
[4] .dSYM
그럼 문제는 .dSYM이 만들어지는 것에 있네요.. 이것은 MAC에서 사용하는 파일-폴더 확장자입니다.
이 코드는 bfd/configure : 2441라인에서 시작하는 부분에 해당합니다.
코드를 확인해보면
시그윈이거나 윈도우즈 일때는 .exe를 붙이고
아닐때는 스크립트에 의해서 찾아서 붙이도록 되어 있습니다.
일일이 코드 고치기도 귀찮으니까
그냥 exeext 를 강제로 “”로 매핑시켜 버립니다.
그러면 컴파일이 진행됩니다.
진행되면서 같은 오류가 발생한는데 그때마다 강제 매핑을 하고 진행하면 됩니다.
몇군데 매핑시켜놓고 진행하면 mac에서도 잘 컴파일이 됩니다.
- 4군데 정도 되네요..
2.gcc를 빌드하다가..
..........
vmodsi4.o libgcc/./_mulsi3.o libgcc/./_xordi3.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde.o libgcc/./unwind-sjlj.o libgcc/./gthr-gnat.o libgcc/./unwind-c.o libgcc/./_eprintf.o libgcc/./__gcc_bcmp.o
make[2]: zpu-elf-ar: Command not found
에서.. 에러가 발생합니다.
env.sh를 실행을 시켰는데 아닌것 같습니다.
확인해 보니 실행하는게 아니고 source 하는거네요
source env.sh
로 해서 매핑시키고 다시 환경 변수를 확인해 보니 잘 들어갑니다.
set
.......
PATH=/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin:/usr/X11R6/bin:/Users/kevinim/Desktop/zylin/toolchain/toolchain/install/bin
......
다시 컴파일 하면 됩니다.
babyworm 2009/07/22 09:15 편집/삭제 댓글 작성 댓글 주소
네, 말씀하신것처럼 GPL에 해당하는 하드웨어 코드의 경우 그 IP에 영향을 받은 모든 소스를 공개해야 합니다. 즉, 해당 IP를 적용해서 SoC를 만드는 경우 이 SoC의 모든 소스가 공개되어야 합니다. 불합리하죠.. 다른말로 이걸로 사업하지 말라는 것과 동일해요.. 하드웨어서는...
LGPL의 경우도 dynamic link 만 허용하므로, 역시 statically link된 하드웨어의 경우에는 모든 SoC의 소스가 공개되어야 한다는 것이 일반적인 견해입니다.
따라서, OpenCore의 경우는 되도록 modified BSD license를 사용하도록 권장하고 있습니다(만 실은 모두 그런건 아니죠 ^^![]()
GUNDAM 2009/07/22 16:41 편집/삭제 댓글 작성 댓글 주소
라이센스 문제는 오픈된 코아를 사용하는 이상 계속 따라다니는 문제인것 같습니다.
결국 자체적으로 만드는 수 밖에 없는 경우가 많습니다.
이런 경우에 아쉬운놈이 우물 판다는 말이 맞는듯 합니다.
FPGA Evaluation B/D를 만들어 파는 업체들의 경우 당연히 소스 코드를 제공해주기 때문에 GPL도 무섭지 않은 (?) 라이센스 조건이 되는 것 같습니다.
당신의 의견을 작성해 주세요.