임베디드 개발하다보면, 크로스 컴파일은 밥먹듯 하는데..
가끔 황당한 오류가 바로 ld 관련 오류이다.

ntfs_3g_usermap-usermap.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[2]: *** [ntfs-3g.usermap] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

이녀석은 ntfs-3g 라는 녀석인데, 크로스 컴파일을 하려니 이러한 오류가 발생했다.
조금은 뜬금없기도 하고, 옵션도 문제가 없는데 왜 이러냐면은..


원인 : 크로스 컴파일 이전에 컴파일 되는지 확인하기 위해 호스트에서(i686-linux) 컴파일을 이미 했기 때문!
해결 : 머. make clean 한번 하고 ./configure 다시 해주고..

결론 : 잊지말자 make clean!



사족 : File in wrong format 인건, 당연히 링커가 아키텍쳐가 다른 파일을 조작하려 하니 포맷을 알리가 ㅋㅋ
         이런 경우에는 갸우뚱 하지 말고 make clean 하고 다시 컴파일 하는게 상책이다.
Posted by 구차니

댓글을 달아 주세요

  1. 포스팅 속도가 빛의 속도이시군요. ㅎㅎㅎ

    2010.01.06 15:21 [ ADDR : EDIT/ DEL : REPLY ]
    • 시꾸랏 ㅋㅋ
      일하다 막히면 하나씩 쓰는거라니까 그러네 ㅋㅋ

      2010.01.06 15:26 [ ADDR : EDIT/ DEL ]
  2. 포스팅의 수준이 너무 높아 제가 이해 하기에 어려움이 있습니다.

    Happy New Year !

    2010.01.06 19:58 [ ADDR : EDIT/ DEL : REPLY ]

$HOME/.subversion/config 파일의 [tunnels] 부분 내용이다.

### Section for configuring tunnel agents.
[tunnels]
### Configure svn protocol tunnel schemes here.  By default, only
### the 'ssh' scheme is defined.  You can define other schemes to
### be used with 'svn+scheme://hostname/path' URLs.  A scheme
### definition is simply a command, optionally prefixed by an
### environment variable name which can override the command if it
### is defined.  The command (or environment variable) may contain
### arguments, using standard shell quoting for arguments with
### spaces.  The command will be invoked as:
###   <command> <hostname> svnserve -t
### (If the URL includes a username, then the hostname will be
### passed to the tunnel agent as <user>@<hostname>.)  Here we
### redefine the built-in 'ssh' scheme to avoid an unfortunate
### interaction with the "ControlMaster auto" feature (for
### details, see Debian Bug #413102):
ssh = $SVN_SSH ssh -o ControlMaster=no
### If you wanted to define a new 'rsh' scheme, to be used with
### 'svn+rsh:' URLs, you could do so as follows:
# rsh = rsh
### Or, if you wanted to specify a full path and arguments:
# rsh = /path/to/rsh -l myusername
### On Windows, if you are specifying a full path to a command,
### use a forward slash (/) or a paired backslash (\\) as the
### path separator.  A single backslash will be treated as an
### escape for the following character.

http://www.pyrasis.com/main/Subversion-HOWTO#s-4.4 의 문서에 의하면 저기에 있는

ssh = $SVN_SSH ssh -o ControlMaster=no

ssh = ssh -l userid

로 하면 된다고 하는데.. 해도 안된다 ㅠ.ㅠ
svn client의 차이때문일려나... (예제는 콘솔에서이고 나는 TortoiseSVN에서)


그리고 TortoiseSVN의 설명에서는
.ssh/ 에 몇가지 RSA 키를 생성하고 접속시에
svn+ssh://svnuser@SvnConnection/repos
이렇게 하라는데.. 여전히 안된다...

Posted by 구차니
TAG svn+ssh

댓글을 달아 주세요

솔찍히 gprof로 나오는 결과를 보는 방법도 모르겠고
간단한 프로그램으로는 결과도 제대로 나오지 않아서 실제로 사용해본적이 없다.
아무튼.. 간단하게 gui로 보여주는게 있길래 일단 링크

Download

Don't remember when, 2007, or maybe 2008.
xgprof-0.9.tar.gz
More improvements in the GUI, provided by Enrico Segre (dig the web to get his contact, he might still be at the Weizmann Institute).



[링크 : http://sed.free.fr/xgprof/]


Posted by 구차니
TAG gprof, xgprof

댓글을 달아 주세요

ponyprog는 윈도우에서 사용하는 AVR ISP 용 프로그램이다.
물론 리눅스용도 있긴 하지만, 문제는 구버전용이라는 것.

PonyProg2000 v2.05a BETA English binary distribution (RedHat7.0 + Kernel 2.4.x)
PonyProg2000 v2.06c BETA English binary distribution (RedHat7.0 + Kernel 2.4.x)

라고 써있듯 Redhat 9도 아니고 무려 7용이다.. OTL
이것을 실행하려면 Fedora Core 9에서는 기본으로는 안되고 별도로
legacy library를 설치를 해야 할 듯하다.

일단 구동하면 발생하는 에러는
# ponyprog2000
ponyprog2000: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory

libstdc++ 이 필요 하다라고 나오는 것 봐서는.. 꽤나 구형 라이브러리들을 많이 설치를 해야 할 듯 한데,
충돌없이 잘 작동이 되려나..

[ponyprog 공식 : http://www.lancos.com/ppwin95.html]



avrdude는 IO 포트를 사용해야 하므로, 반드시 root 권한으로 사용해야 한다.(역시 구형인가..)
그리고 AVRDUDE는.. STK-200 호환인지 먼지 알수가 없어서 하려고 하는데 이래저래 실패만 잔뜩..

$ avrdude -p m128 -c stk200 -P /dev/parport0
avrdude: can't open device "/dev/parport0": Permission denied
avrdude: failed to open parallel port "/dev/parport0"

# avrdude -p m128 -c stk200 -P /dev/parport0

avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

2009/04/15 - [AVR / 8051] - gnome-avrdude : avrdude GUI frontend for gnome


스리슬적 성공기
# avrdude -p m128 -c stk200 -P /dev/parport0

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9702

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Posted by 구차니

댓글을 달아 주세요

Requirements

For running KScope:
  1. The KDE runtime libraries, version 3.3 or above
  2. The Qt runtime libraries, as required by the installed KDE version
  3. Cscope
  4. Exuberant Ctags (KScope will not work with other variants of Ctags)
  5. Graphviz (required as of KScope version 1.3.0).

위에 보이듯이 version 3.3 이상의 QT가 필요 하다는데.. (KDE 3.3)
문제는 요즘꺼는 KDE 4 이다 보니, 제대로 호환이 되지 않아 컴파일시에
kateinterface 쪽에서 문제가 발생한다.

[링크 : http://sourceforge.net/forum/forum.php?thread_id=2574152&forum_id=338423]

아직까지 Kscope가 KDE4에 맞게 나오지 않았고, 나오기 까지는 상당시간이 걸릴것으로 예상이 된다.
그냥.. 다른걸 사용하도록 해야할듯 하다.
Posted by 구차니

댓글을 달아 주세요