[Armadillo:02306] Re: 「Armadillo-240でDirectFB」で「DirectFBがみつかりません」のエラーについて教えてください

nakai email@hidden
2007年 10月 29日 (月) 12:32:14 JST


nakaiです。

 > Relocations in generic ELF (EM: 3)
> df_knuckles.o: could not read symbols: 間違った形式のファイル
> collect2: ld returned 1 exit status
> とエラーが出てしまいます。

このエラーが出るのは、
リンク対象のバイナリがARM ELF以外の形式のバイナリをリンクしようとするからだと思います。
df_knuckles.o matrix.o 
または、DirectFBのライブラリが正しくビルドできていないと推測されます。

$ file [ファイル]
としたとき、
ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), for GNU/Linux 2.4.1,
stripped
のように、ARM ELFでビルドされているか確認してください。

違うようならば、
一度make cleanをおこなってビルドしなおしてみてください。

> 私は ↓こんなところで作業しています。 環境は ATDEの1.0です。そのせいか 
> pngなどのライブラリの最新版は、バージョンが合わないといわれてインストールできず、それだけは「DirectFBを動かしてみ
> よう」に紹介されている版に近いものを使っています。

こちらに関しては、
ATDE1.0のディストリビューションが「debian sarge」なため、stable用パッケージをもってきて
クロス変換してもインストールできないと思います。

http://www.debian.org/distrib/packages
のパッケージディレクトリを検索のところで、
ディストリビューションに「旧案定版(old stable)」を選択して
該当のライブラリを取得してみてください。

libpng12-0: debian sarge/ARM用
http://ftp2.jp.debian.org/debian/pool/main/libp/libpng3/libpng12-0_1.2.8rel-1_arm.deb


> -----Original Message-----
> From: email@hidden 
> [mailto:email@hidden] On Behalf 
> Of ses/shibata
> Sent: Wednesday, October 24, 2007 3:46 PM
> To: Armadillo series general discussion list
> Subject: [Armadillo:02297] Re: 
> 「Armadillo-240でDirectFB」で「DirectFBがみつかりません」のエラーについて教えてください
> 
> お世話になります SES 柴田です。 nakaiさま やってみました。
> 
> エラーがでたのですが、このまま質問を続けてよいものやら「DirectFBを動かしてみよう」の
> HowTo改を待つべきなのか、はたまた 今月号のSoftwareDesignをみて Armadillo-240に読み替えるべきなのか
> 迷っています。そのへんいかがてしょう。。。
> 
> 私は ↓こんなところで作業しています。 環境は ATDEの1.0です。そのせいか 
> pngなどのライブラリの最新版は、バージョンが合わないといわれてインストールできず、それだけは「DirectFBを動かしてみ
> よう」に紹介されている版に近いものを使っています。
> 
>  /home/atmark/directfb
>  |-- DirectFB-0.9.25.1
>  |-- DirectFB-examples-0.9.25
>  |-- configure-directfb-for-arm.sh
>  |-- install-directfb-for-arm.sh
>  `-- install_dir
> パスをそのように変更して実行しました。
> email@hidden:/home/atmark/directfb/DirectFB-examples-0.9.25# 
> ./configure --host=arm-linux-gnu 
> DIRECTFB_LIBS="/home/atmark/directfb/install_dir/lib/libdirect
> fb-0.9.so.25 
> /home/atmark/directfb/install_dir/lib/libdirect-0.9.so.25 
> /home/atmark/directfb/install_dir/lib/libfusion-0.9.so.25" 
> CFLAGS="-Wall -O2 -I 
> /home/atmark/directfb/install_dir/usr/local/include/directfb" 
> CC=arm-linux-gcc PKG_CONFIG=true
> と入力すると
> config.status: creating src/df_knuckles/Makefile
> config.status: creating src/df_neo/Makefile
> config.status: creating src/spacedream/Makefile
> となって(最後までいったようです)
> 
> makeのほうは、
> 
> email@hidden:/home/atmark/directfb/DirectFB-examples-0.9.25# make
> とすると
> 
> 〜略〜
> 
> Making all in df_knuckles
> make[2]: Entering directory 
> `/home/atmark/directfb/DirectFB-examples-0.9.25/src/df_knuckles'
> arm-linux-gcc  -Wall -O3 -pipe -Wall -O2 -I 
> /home/atmark/directfb/install_dir/usr/local/include/directfb 
> -Werror-implicit-function-declaration 
>   -o df_knuckles  df_knuckles.o matrix.o 
> /home/atmark/directfb/install_dir/lib/libdirectfb-0.9.so.25 
> /home/atmark/directfb/install_dir/lib/libdirect-0.9.so.25 
> /home/atmark/directfb/install_dir/lib/libfusion-0.9.so.25 -lm
> /usr/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld: 
> df_knuckles.o: 
> Relocations in generic ELF (EM: 3)
> df_knuckles.o: could not read symbols: 間違った形式のファイル
> collect2: ld returned 1 exit status
> とエラーが出てしまいます。
> 
> 
> 
> 読めないという df_knuckles.oは、
> 
> email@hidden:~/directfb/DirectFB-examples-0.9.25/src/df_knuckles$ ls -l
> 合計 132
> -rw-r--r--  1 root   atmark  8326 2007-10-24 14:31 Makefile
> -rw-r--r--  1 atmark atmark   238 2005-10-19 08:14 Makefile.am
> -rw-r--r--  1 atmark atmark  7604 2006-05-20 16:32 Makefile.in
> -rw-r--r--  1 atmark atmark  8295 2005-10-29 11:28 df_knuckles.c
> -rw-r--r--  1 root   atmark 28632 2007-10-24 10:16 df_knuckles.o
> -rw-r--r--  1 atmark atmark  3398 2005-10-19 08:14 matrix.c
> -rw-r--r--  1 atmark atmark   905 2005-10-19 08:14 matrix.h
> -rw-r--r--  1 root   atmark  4084 2007-10-24 10:16 matrix.o
> -rw-r--r--  1 atmark atmark 51331 2005-10-19 08:14 skull.h
> email@hidden:~/directfb/DirectFB-examples-0.9.25/src/df_knuckles$
> 
> ↑あるには あるようです。
> 
> 
> よろしくお願いいたします。
> 
> SES 柴田
> 
> 
> > nakaiさま ありがとうございます。
> > さっそく 自分のフォルダに合わせて やってみます!!!
> >
> > SES 柴田
> >
> >
> >> nakaiです。
> >>
> >> 「DirectFBを動かしてみよう」の
> >> HowToどおりに作業しても、うまくいかないんですよね。。
> >> 早急に直したいと思います。
> >>
> >>>
> >>> 当方の環境では、DirectFB-examples の configure を実行する前に
> >>> DirectFB の make install を行ったところ、DirectFB-examples の
> >>> configure が通りました。
> >>>
> >>
> >> DirectFB-examplesのビルドを試してみました。
> >>
> >> 1.DirectFBをHowToのようにビルドしてみる
> >> 2.install-directfb-for-arm.shでテンポラリディレクトリにインストールする(失敗で終了するが気にしない。。)
> >> 3.DirectFB-examplesのconfigureを以下のように実行
> >> $ ./configure --host=arm-linux-gnu
> >> 
> DIRECTFB_LIBS="/home/atmark/products/directfb/install_dir/lib/
> libdirectfb-0.9.so.25
> >> /home/atmark/products/directfb/install_dir/lib/libdirect-0.9.so.25
> >> /home/atmark/products/directfb/install_dir/lib/libfusion-0.9.so.25"
> >> CFLAGS="-Wall -O2
> >> 
> -I/home/atmark/products/directfb/install_dir/usr/local/include
> /directfb"
> >> CC=arm-linux-gcc PKG_CONFIG=true
> >>
> >> とすると、
> >> make
> >> でビルドすることができました。
> >>
> >> 作業ディレクトリ構成は、
> >> /home/atmark/products/directfb
> >> |-- DirectFB-0.9.25.1
> >> |-- DirectFB-examples-0.9.25
> >> |-- configure-directfb-for-arm.sh
> >> |-- install-directfb-for-arm.sh
> >> `-- install_dir
> >>
> >> です。
> >>
> >>
> >> _______________________________________________
> >> armadillo mailing list
> >> email@hidden
> >> http://lists.atmark-techno.com/mailman/listinfo/armadillo
> >>
> >
> > _______________________________________________
> > armadillo mailing list
> > email@hidden
> > http://lists.atmark-techno.com/mailman/listinfo/armadillo
> > 
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo




armadillo メーリングリストの案内