Здравствуйте.
Прошу помочь мне с решением следующей проблемы. Я хочу откомпилирвать midnight commander для медия плеера http://www.hdx1080.com/where-to-buy/hdx-web-shop?page=shop.product_details&flypage=flypage.ilvm_blue.tpl&product_id=4&category_id=1 Железка собрана на процессоре Sigma Designs SMP8642. Внутри установлен linux:
Цитата | sh-3.00# uname -a Linux tango3 2.6.22.19-27-sigma #11 PREEMPT Wed Aug 25 13:46:30 CST 2010 mips GNU/Linux
|
На Ubuntu 10.04 в каталог /home/akhromov/CodeSourcery я установил http://www.codesourcery.com/sgpp/lite/mips/portal/release607 Исходники проекта я загружаю в /home/akhromov/Stuff Компилирую zlib:
Цитата | $ cd ~/Stuff $ wget http://zlib.net/zlib-1.2.4.tar.gz $ tar xvzf zlib-1.2.4.tar.gz $ cd zlib-1.2.4 $ export PATH=$HOME/CodeSourcery/Sourcery_G++_Lite/bin:$PATH $ CFLAGS='-EL -march=74kc -fPIC' \ CXXFLAGS='-EL -march=74kc -fPIC' \ CC=mips-linux-gnu-gcc \ AR=mips-linux-gnu-ar \ RANLIB=mips-linux-gnu-ranlib \ ./configure --prefix=/home/akhromov/CodeSourcery/staging_dir $ make $ make install |
Затем компилирую libpng-1.4.1:
Цитата | $ cd ~/Stuff $ wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.4.1.tar.gz $ tar xvzf libpng-1.4.1.tar.gz $ cd libpng-1.4.1 $ CFLAGS='-EL -march=74kc -fPIC' \ CXXFLAGS='-EL -march=74kc -fPIC' \ LDFLAGS="-L/home/akhromov/CodeSourcery/staging_dir/lib" \ CPPFLAGS="-I/home/akhromov/CodeSourcery/staging_dir/include" \ ./configure --prefix=/home/akhromov/CodeSourcery/staging_dir --host=mips-linux-gnu $ make |
Здесь получаю следующую ошибку:
Цитата | /home/akhromov/CodeSourcery/staging_dir/lib/libz.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status |
Файл libz.so ссылается правильно:
Цитата | akhromov@x200s:~$ ls -la /home/akhromov/CodeSourcery/staging_dir/lib total 320 drwxr-xr-x 3 akhromov akhromov 4096 2010-09-26 13:16 . drwxr-xr-x 5 akhromov akhromov 4096 2010-09-26 13:16 .. -rw-r--r-- 1 akhromov akhromov 166250 2010-09-26 13:16 libz.a lrwxrwxrwx 1 akhromov akhromov 13 2010-09-26 13:16 libz.so -> libz.so.1.2.4 lrwxrwxrwx 1 akhromov akhromov 13 2010-09-26 13:16 libz.so.1 -> libz.so.1.2.4 -rwxr-xr-x 1 akhromov akhromov 147068 2010-09-26 13:16 libz.so.1.2.4 drwxr-xr-x 2 akhromov akhromov 4096 2010-09-26 13:16 pkgconfig |
libz.so.1.2.4, имеет вроде, как правильный формат:
Цитата | akhromov@x200s:~/Stuff$ mips-linux-gnu-objdump -af ~/CodeSourcery/staging_dir/lib/libz.so.1.2.4
/home/akhromov/CodeSourcery/staging_dir/lib/libz.so.1.2.4: file format elf32-tradlittlemips /home/akhromov/CodeSourcery/staging_dir/lib/libz.so.1.2.4 architecture: mips:isa32r2, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x000013c0 |
Если я не указываю флаги компилятора '-EL -march=74kc -fPIC', то сборка проходит нормально, но работать этот код не будет, потому как у меня архитектура mipsel. Пробовал последнюю сборку CodeSourcery - результат тот же. Сборка последней версии libpng-1.4.4 не помогла. Вот нашел эту статью. Вроде как по моей теме: http://www.metastatic.org/text/libtool.html Но как применить это к моему случаю не понимаю.
Подскажите, что я не так делаю, куда копать?
С уважением, Алексей. |