[완료] 크로스 컴파일 환경을 만들려는데 컴파일러가 glibc 경로를 못찾네요.

churli의 이미지

Sygwin 환경에서

arm용 gcc, binutils, glibc 소스를 받아 각각 /usr/local/arm/ 위치에 설치 했습니다.

무사히 설치는 완료 했는데요 아래와 같은 소스를 컴파일 하면 문제가 생기네요.

// mytest.c

#include

int main()
{
printf("hello linux \n");

return 0;
}

// end of file

위 소스를 " $> arm-linux-gcc mytest.c" 와 같이 빌드를 하면 stdio.h 를 찾을수 없다고 에러가 나옵니다.
그래서 " $> arm-linux-gcc -I/usr/local/arm/glibc/arm-linux/include mytest.c " 라고 해보면
stdio.h 를 찾긴 하는데 컴파일 하고나서 링크 할때 또다시 crt1.o 를 찾을수 없다고 나옵니다. crt1.o는 glibc가 설치된 곳에 분명이 있습니다.

-l 옵션도 써보고 LD_LIBRARY_PATH 에도 등록을 해봤는데 crt1.o를 찾을수 없다고 나오네요.
/usr/local/arm/arm-linux/bin/ld: cannot open crt1.o: No such file or directory <= 요렇게

마지막으로 찾을수 없다는 라이브러리 파일을 모두 소스 파일이 있는곳으로 복사를 한후 실행을 하니
/usr/local/arm/arm-linux/bin/ld: cannot find -lc <= 요렇게 에러 메세지가 나옵니다.

리눅스를 첨 접해봐서 어려움이 많습니다. 도움좀 주세요~

vacancy의 이미지


Cygwin 환경에서 cross compiler 빌드가 쉽지 않으셨을텐데
어떻게 빌드를 잘 마치셨군요.
GCC는 secondary build까지 하셨는지 확인해주시면
다른 분들이 답변하시기 더 좋을것 같습니다.

그리고 쉽게 하시려면
www.codesourcery.com 에 가시면
그냥 바이너리를 구하실 수 있습니다. ;;

참고해주세요.

churli의 이미지

제대로 확인도 안하고..

제가 gcc configure 할때 glibc 경로를 제대로 잡아 주질 않았네요.

configure 옵션에서 --with-headers=/usr/local/arm/glibc/arm-linux-glic/include \
--with-libs=/usr/local/arm/glibc/arm-linux-glic/lib

요렇게 configure 하고 make, make install 하니깐 잘되네요.

답변과 관심 감사드립니다.

너무 허접한 질문이라서 지울까 하다가 혹시나 저같은 초보분에게 도움이 될수도 있을거 같아 놔둡니다.

yskwon22의 이미지


gcc 크로스 컴파일을 자주 하는 편인데, gcc bootstrap 에서는 문제가
안생기다가 gcc full compilation 에서는 언젠가부터(?)

.../ld: cannot find crti.o..

와 같은 에러가 발생하네요. 님이 말씀해 주신 --with-libs 로 해결했습니다.

Best Regards,

Young-Su Kwon

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.