잘못된 ELF 시스템 유형 : EM_SPARC 라는 에러가 발생합니다.
글쓴이: ioiezioi / 작성시간: 수, 2004/03/24 - 1:32오후
솔라리스에서 gcc로 컴파일을 하려 하는데 다음과 같은 에러가 발생하네요
'ld: 치명적: 파일 /usr/syslog/pkg_rel/lib/release.dynamic/libOS.so: 잘못된 ELF 시스템 유형 : EM_SPARC'
이런식으로 shared object를 사용하는 부분이 다 에러가 발생합니다.
제공한 SDK 중 solaris용 gcc 라이브러리를 사용하는 것이 맞고
intel cpu의 32bit 머신 상에서 컴파일 중입니다.
혹시 이 에러에 대해서 아시는 분 알려주세요
뭐가 문제인 것일까요 sparc용인데 intel cpu를 사용하는 머신이라 그런 것일까요? 컴파일 하는데 옵션이 추가되어야 하는 것일까요
머리아프군요 ㅠ.ㅠ
Forums:
solaris for x86 에서 컴파일 하신다는 말이죠?shar
solaris for x86 에서 컴파일 하신다는 말이죠?
shared object 는 linker가 이해하는 architecture이어야만 제대로 링크가 됩니다.
상황이, Sparc 용 라이브러리를 x86 machine에서 sparc architecture를 이해하는 크로스 컴파일 환경을 사용하지 않기 때문에 생기거나,
Sparc machine에서 링크하도록 되어 있는 것을 x86 에서 사용하기 때문입니다.
---
http://coolengineer.com
감사합니다 ^^
답변 감사합니다 ^^
생각하고 있었던 것이 보다 명확해 지는군요
저도 그런 결론에 도달해서 일단 x86 머신에서는 보류상태 입니다.
sparc 에서만 테스트 중이구요. 그럼 sparc용으로 밖에 안되는 것이겠군요
제공해 주는 라이브러리가 그거 밖에 없는데, 그럼 x86머신에서는 방법이
없는건가요?
좋은하루 되세요 ^^
pynoos 님이 말씀하셨듯이, 크로스 컴파일 환경을 만드시면 됩니다 :
pynoos 님이 말씀하셨듯이, 크로스 컴파일 환경을 만드시면 됩니다 :-)
gcc를 사용하시는 거라면.. binutils와 gcc를 원하시는 크로스 컴파일이
가능하도록 설정하셔서 설치해야 합니다.
----
Let's shut up and code.
감사합니다 ^^
sangwoo님 말씀하신 것도 한 번 해 봐야 겠네요
답변 감사합니다 ^^
현재 Sparc 머신에서는 정상적으로 컴파일 되어서 테스트 중입니다.
사실 i86에서 동작을 해야 하는데 ㅜ.ㅜ 그쪽에서는 다른 방법을
사용해야 하겠군요
행복하세요~
Re: 감사합니다 ^^
윽, 컴파일하는 것과 실행하는 것은 차이가 많이 있습니다.
i386에서 sparc의 library를 이용해서, sparc용 바이너리를 빌드하는것은
가능하지만 (크로스컴파일), 만일 sparc의 library들과 링킹하여 프로그램을
i386에서 실행시키는게 목적이라면, 사실상 힘들 것으로 생각됩니다.
----
Let's shut up and code.
댓글 달기