[Armadillo:01054] Re: libjpegのクロスコンパイルについて
江口敦央
email@hidden
2006年 6月 15日 (木) 12:45:13 JST
江口です
重ね重ね申し訳ありませんが、今一度確認させていただいてよろしいでしょうか?
> ./configure --host=i686-pc-linux-gnu --target=arm-linux-gnu \
> --enable-shared CC=arm-linux-gcc
> make
私の環境の場合、
./configure --host=i386-linux --target=arm-linux-gnu \
--enable-shared CC=arm-linux-gcc
make
となると思うので、これで実行しているのですが、make実行時に
libtoolに関してエラーがでてしまいます。
http://ogapee.at.infoseek.co.jp/zaurus/sl-devel.htmlを参考に
> configure --host=i386-linux --target=arm-linux-gnu
--prefix=/opt/Embedix/tools/arm-linux --enable-shared
としmakeを実行すると、フォルダ内にlibjpeg.aは生成されるのですが、
arm-linux-objdumpで確認してみるとファイルのフォーマットは
elf32-littleとなっており、elf32-littlearm形式では生成されません。
下の方法も試しているのですが、これはlibjpegのインストールしているという
ことでよろしいのですよね?
この場合には、libjpeg.aはどこに生成されるのでしょうか?
私の理解が不足しているばかりに手間をお掛けして申し訳ありません。
> パッケージ:
> http://packages.debian.org/stable/libs/libjpeg62
> http://packages.debian.org/stable/libdevel/libjpeg62-dev
>
> libjpeg62-dev_6b-10_arm.deb
> libjpeg62_6b-10_arm.deb
> を次のように変換。
>
> dpkg-cross --build --arch arm libjpeg-*_arm.deb
>
> でどうでしょう?
nakai wrote:
> 中井です。
>
> あくまでjpegsrc.v6b.tar.gzのソースからコンパイルしたものを
> 使いたいようですね^^;
> ならビルド手順は以下のとおりです。
>
> ./configure --host=i686-pc-linux-gnu --target=arm-linux-gnu \
> --enable-shared CC=arm-linux-gcc
> make
>
> 他の手順は、私の開発環境下では必要無しでした。
> kpeg-6b/.libs
> にコンパイルしたライブラリが作成されます。
> インストールに関しては、がんばってみてください。
>
>
>
>>> arm-cross用のパッケージをインストールしたんですよね?
>> http://www.ijg.org/
>> からダウンロードしたjpegsrc.v6b.tar.gzをtarで解凍して、解凍フォルダ内にて、
>>
>>>> configure --host=i386-linux --target=strongarm-linux
>> --prefix=/opt/Embedix/tools/arm-linux --enable-shared
>>
>> を実行し、その後/usr/bin/libtoolを解凍フォルダにコピーし、
>> make, make installを実行しました。
>> このconfigureのオプションで、arm-cross用に設定したつもりだったんですが。
>>
>> http://ogapee.at.infoseek.co.jp/zaurus/sl-devel.html
>> のlibjpeg 6bの項参考
>>
>>> #arm-linux-gcc -g -Wall -Ijpeg-6b -o sample jpegio.c sample.c
>>> /usr/arm-linux/lib/libjpeg.a
>>> とした場合、成功しませんか?
>> /usr/arm-linux/lib内にlibjpeg.aは内容です。
>> やはり、設定が不足してるのかもしれません。
>>
>>
>> nakai wrote:
>>> 中井です。
>>>
>>>> たびたびありがとうございます。
>>>> ご指摘のような確認方法があるとは知りませんでした。
>>>> linuxに関して無知なもので、理解が遅いとは思いますが
>>>> よろしくお願いします。
>>>>
>>>>> arm-linux-objdump -f /opt/Embedix/tools/arm-linux/lib/libjpeg.a
>>>>> ですね。
>>>>> 正常な場合、
>>>>> file format elf32-littlearm
>>>>> と見えるとおもいます。
>>>> 上の件試してみました。
>>>> 実行結果たくさんのオブジェクトファイルが表示されたのですが、
>>>> file format elf32-little
>>>> file formatは全部上のようになっておりました。
>>>> ちなみにarchitectureはUNKNOWN!です。
>>>>
>>>> このファイルはarm対応になっていないのですのですかね?
>>> 違うようですね。
>>> arm-cross用のパッケージをインストールしたんですよね?
>>> #arm-linux-gcc -g -Wall -Ijpeg-6b -o sample jpegio.c sample.c
>>> /usr/arm-linux/lib/libjpeg.a
>>> とした場合、成功しませんか?
>>>
>>>> 江口
>>>>
>>>>
>>>> nakai wrote:
>>>>> 中井です。
>>>>>
>>>>>>>> libjpeg62-dev_6b-10_arm.deb
>>>>>>>> libjpeg62_6b-10_arm.deb
>>>>>>>> を次のように変換。
>>>>>>>>
>>>>>>>> dpkg-cross --build --arch arm libjpeg-*_arm.deb
>>>>>>> ご意見いただいたとおりに試してみましたが、エラーの状況は変わりませんでした。
>>>>>>> ちなみに、エラーメッセージの詳細は下のようになっております。
>>>>>>>
>>>>>>> //実行コマンド
>>>>>>> #arm-linux-gcc -g -Wall -Ijpeg-6b -o sample jpegio.c sample.c
>>>>>>> /opt/Embedix/tools/arm-linux/lib/libjpeg.a
>>>>>>> //以下エラー
>>>>>>> /usr/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld:
>>>>>>> /opt/Embedix/tools/arm-linux/lib/libjpeg.a(jcapimin.o):Relocations in
>>>>>>> generic ELF (EM: 3)
>>>>>>> /opt/Embedix/tools/arm-linux/lib/libjpeg.a: could not read symbols: File
>>>>>>> in wrong format
>>>>>>> collect2: ld return 1 exit status
>>>>>> パッケージ内のlibjpeg.aのprefixは「usr/lib/」となってると思います。
>>>>>> 普通に、(root dirを変更しない場合)インストールすると、
>>>>>> 「/usr/arm-linux/lib/libjpeg.a」にインストールされると思いますが。
>>>>>>
>>>>>> ためしに、
>>>>>> file /opt/Embedix/tools/arm-linux/lib/libjpeg.a
>>>>>> でファイルフォーマットを確認したらどうでしょうか?
>>>>> 間違えました^^;
>>>>> arm-linux-objdump -f /opt/Embedix/tools/arm-linux/lib/libjpeg.a
>>>>> ですね。
>>>>> 正常な場合、
>>>>> file format elf32-littlearm
>>>>> と見えるとおもいます。
>>>>>
>>>>>>> 大変お手数ですが、引き続きよろしくお願いします。
>>>>>>>
>>>>>>> 江口
>>>>>>>
>>>>>>> nakai wrote:
>>>>>>>> 中井です。
>>>>>>>>
>>>>>>>> libjpegでしたら、arm用のdebパッケージをクロス向けに
>>>>>>>> 変換して使用したらどうでしょうか?
>>>>>>>>
>>>>>>>> パッケージ:
>>>>>>>> http://packages.debian.org/stable/libs/libjpeg62
>>>>>>>> http://packages.debian.org/stable/libdevel/libjpeg62-dev
>>>>>>>>
>>>>>>>> libjpeg62-dev_6b-10_arm.deb
>>>>>>>> libjpeg62_6b-10_arm.deb
>>>>>>>> を次のように変換。
>>>>>>>>
>>>>>>>> dpkg-cross --build --arch arm libjpeg-*_arm.deb
>>>>>>>>
>>>>>>>> でどうでしょう?
>>>>>>>>
>>>>>>>>
>>>>>>>>> 私は現在libjpegを使ったプログラムをcolinux上で
>>>>>>>>> arm-linux-gccを用いクロスコンパイルを行い、
>>>>>>>>> armadillo-9にデプロイしようと考えています。
>>>>>>>>>
>>>>>>>>> しかし、arm-linux-gccを実行する際に、
>>>>>>>>> libjpeg.aに対しRelocations in generic ELF(EM: 3)
>>>>>>>>> というエラーがでてしまいコンパイルが実行できません。
>>>>>>>>>
>>>>>>>>> libjpegに対しては、
>>>>>>>>>
>>>>>>>>>> configure --host=i386-linux --target=strongarm-linux
>>>>>>>>> --prefix=/opt/Embedix/tools/arm-linux --enable-shared
>>>>>>>>>
>>>>>>>>> というオプションをつけ、armクロスコンパイル用にしているつもりです。
>>>>>>>>>
>>>>>>>>> http://lists.atmark-techno.com/pipermail/armadillo/2005-May/000275.html
>>>>>>>>>
>>>>>>>>> をみると、armadillo-9にlibjpegを用いたものをデプロイできそうなのですが、
>>>>>>>>> その方法がわかりません。
>>>>>>>>>
>>>>>>>>> もしなにかお気づきの点ありましたら、
>>>>>>>>> ご教授いただけませんでしょうか。よろしくお願いします。
>>>>>>>> _______________________________________________
>>>>>>>> armadillo mailing list
>>>>>>>> email@hidden
>>>>>>>> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>>>>>>>
>>>>>>>>
>>>>>>> --
>>>>>>> *************************************
>>>>>>> (株)内田洋行
>>>>>>> 次世代ソリューション開発センター
>>>>>>> プロダクト開発課
>>>>>>>
>>>>>>> 江口敦央
>>>>>>>
>>>>>>> TEL:03-5634-6367
>>>>>>> FAX:03-5634-6860
>>>>>>> *************************************
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>
>>>>>
>>>> --
>>>> *************************************
>>>> (株)内田洋行
>>>> 次世代ソリューション開発センター
>>>> プロダクト開発課
>>>>
>>>> 江口敦央
>>>>
>>>> TEL:03-5634-6367
>>>> FAX:03-5634-6860
>>>> *************************************
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>>
>> --
>> *************************************
>> (株)内田洋行
>> 次世代ソリューション開発センター
>> プロダクト開発課
>>
>> 江口敦央
>>
>> TEL:03-5634-6367
>> FAX:03-5634-6860
>> *************************************
>>
>> _______________________________________________
>> 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
>
>
--
*************************************
(株)内田洋行
次世代ソリューション開発センター
プロダクト開発課
江口敦央
TEL:03-5634-6367
FAX:03-5634-6860
*************************************
armadillo メーリングリストの案内