近頃版/another blog@hatena/Wiki/BBS
< 仕事。 | メモというか愚痴というか、の続き >
sh4上のLinux上にSDL + SDL_ttf環境を作らねばならないらしい。そんなわけでコンパイル母艦のi686-linux上でクロスコンパイル作業。
_SDL
$ cd ~/SDL-1.2.7 $ ./configure --host=sh4-linux --build=i686-linux --disable-jotstick --disable-cdrom --disable-audio --disable-video-x11 --enable-video-fbcon --prefix=/opt/Embedix/tools/sh4-linux $ make # make install
_freetype
$ cd ~/freetype-2.1.9 $ ./configure --host=sh4-linux --build=i686-linux --prefix=/opt/Embedix/tools/sh4-linux $ make # make install
ここまでは試行錯誤があったものの順調。
_SDL-ttf(1)
$cd SDL_ttf-2.0.6 $ ./configure --host=sh4-linux --build=i686-linux --prefix=/opt/Embedix/tools/sh4-linux --with-sdl-prefix=/opt/Embedix/tools/sh4-linux --disable-sdltest $ PATH=/opt/Embedix/tools/sh4-linux/bin:$PATH make . . . gcc -shared SDL_ttf.lo -lfreetype -lz -L/opt/Embedix/tools/sh4-linux/lib -lSDL -lpthread -lc -Wl,-soname -Wl,libSDL_ttf-2.0.so.0 -o .libs/libSDL_ttf-2.0.so.0.6.0 /opt/Embedix/tools/lib/gcc-lib/sh4-linux/3.0.4/../../../../sh4-linux/bin/ld: cannot find -lz collect2: ld returned 1 exit status make: *** [libSDL_ttf.la] エラー 1
クロスコンパイルオプションに対応してない上に、zlibが見付からないとか怒られた。そして確かに/opt/Embedix/tools/sh4-linux/libにはlibz.*は存在していない。
_zlib
$ cd ~/zlib-1.2.1 $ ./configure --prefix=/opt/Embedix/tools/sh4-linux $ PATH=/opt/Embedix/tools/sh4-linux/bin:$PATH make # make install
やっぱりクロスコンパイルオプションに対応してないし。でも強引に解決。
_SDL-ttf(2)
$ PATH=/opt/Embedix/tools/sh4-linux/bin:$PATH make . . . gcc -g -O2 -I/usr/include/freetype2 -I/opt/Embedix/tools/sh4-linux/include/SDL -D_REENTRANT -I/usr/X11R6/include -DHAVE_OPENGL -o .libs/glfont glfont.o .libs/libSDL_ttf.so -lfreetype -lz -L/opt/Embedix/tools/sh4-linux/lib -lSDL -lpthread -L/usr/X11R6/lib -lGL -lm -lfreetype -lz -L/opt/Embedix/tools/sh4-linux/lib -Wl,-rpath,/opt/Embedix/tools/sh4-linux/lib -lSDL -lpthread -Wl,--rpath -Wl,/opt/Embedix/tools/sh4-linux/lib /usr/X11R6/lib/libGL.so: could not read symbols: Invalid operation collect2: ld returned 1 exit status make: *** [glfont] エラー 1
えーと、母艦のX11のライブラリとリンクしようとしてコケてるんですねそうですね。
ちなみに開発対象機体用のX関連のSDKは9月中旬に出てくる予定だそうですが、私が担当するSDLを使った画面表示部分の納期は9月中旬だそうです。