arm용 gcc-2.95.3 에 표준c++라이브러리를 올릴 수 있을까요?

jatin의 이미지

사수가 없는 상태에서 XScale용 보드의 Application을 유지보수하는 역할을 맡았습니다.
PC의 Ubuntu에서 작업하여 코드는 만들어 놓았는데, 크로스 컴파일러로 빌드하자마자 좌절했습니다.

바로 표준 c++ 라이브러리를 사용한 코드가 빌드가 안되는 것입니다.

그리하야 설치된 툴체인이 뭔지 살펴보았습니다. (이미 컴파일환경이 갖춰진 서버가 있었습니다.)
압축파일이 hybus-arm-linux-R1.1.tar.gz 인 것을 단서로 구글링해 보니 관련이 있어 보이는 게시물을 찾았습니다.

여기 같은 파일 이름으로 된 툴체인을 설명하는 글이 있습니다.
(2번 게시물 "Toolchain 설치는 어떻게 합니까?")
http://odm.hybus.net/board/board.asp?bid=faq&bunlu=3

위 링크에서 설명하길:
hybus-arm-linux-R1.1.tar.gz 파일이 다음 파일들을 빌드 후 압축한 것이라고 합니다.
* binutils-2.12.tar.gz
* gcc-2.95.3.tar.gz
* glibc-2.2.3.tar.gz
* glibc-linuxthreads-2.2.3.tar.gz

감으로 느끼기에는 libstdc++이 있어야 할 것 같은데...
저 버전들을 구해서 libstdc++과 함께 같이 빌드하면 표준c++ 라이브러리를 사용할 수 있을까요?

저것들은 configure --target=arm-linux 와 make 작전으로 빌드하는 것인가요?
그렇다면 libstdc++ 의 버전은 무엇을 써야 할까요?

사실 이번이 처음이라 몇 일째 삽질하다가 질문 남깁니다.

먼저 이 길을 걸어보신 분들께 도움을 구합니다.

도와주세요~

shint의 이미지

GUI를 위한 Qt 포팅 튜토리얼
http://blog.naver.com/pjyn22/20019071062

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

sandy의 이미지

.

..

jatin의 이미지

CPU는 PXA250 구글링 해보아도 toolchain에 libstdc++이 빠진것 밖에 없네요.

일단은 코드 양이 얼마 안되서 C style로 코드를 변경하여 해결하였습니다만..

임베디드는 역시.. 어렵군요...

bushi의 이미지

g++은 있지만 libstdc++.so 이 빠진 툴체인이 그리 흔하진 않은데... 묘하군요.

예전에 MIZI 에서 배포한 armv4l 2.95.3 툴체인이 생각나네요.
당시 MIZI 는 Qt를 들이밀고 있던터라 STL이 필요없어서 libstdc++.so 를 아예 제외했습니다.
이 직전까지 배포했던 2.95.2 툴체인엔 libstdc++.so 가 들어있었고,
이 직후에 PXA2xx iwmmxt용으로 Redhat과 계약해서 만들어 배포한 gcc 3.x 툴체인에도 libstdc++.so 는 들어있습니다.

뭐... 어쨌든.... 당시의 2.95.3 에 대한 툴체인 소스 패키지 목록은

cross-armv4l-binutils-2.12.90.0.1-17mz.src.rpm
cross-armv4l-gcc-2.95.3-16mz_pre.src.rpm
cross-armv4l-gcc-2.95.3-17mz.src.rpm
cross-armv4l-gdb-5.2.1-17mz.src.rpm
cross-armv4l-glibc-2.2.5-17mz.src.rpm
cross-armv4l-libfloat-1.0-17mz.src.rpm
cross-armv4l-kernel-headers-2.4.19_rmk4-21mz.src.rpm
정도 뿐이니 예전에 다운로드 받아놓은 분을 찾으셔서 파일을 얻어다가 다시 빌드하셔도 될 것 같습니다.
libstdc++.so 은 gcc-c++ 패키지에 들어가야하니 gcc spec 파일 잘 뜯어보시고 빌드를 좀 다르게 하셔야겠고요.
툴체인 빌드 순서가... 오래되서 확실친 않지만,
binutils, gcc_pre, kernel-headers, libfloat, glibc, gcc 순서일 겁니다.

혹시나 싶어 debian 사이트를 둘러봤는데 2.95.3 은 없는 것 같습니다. 각 major 버전의 최종 patch level 만 가지고 있는 듯...
http://archive.debian.org/debian-archive/debian/pool/main/g/gcc-2.95/

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.