2008-02-06 13:57:43 Building DirectFB for BF548
Simon Budig (GERMANY)
Message: 50770 Hi all.
I have read the other thread about building DirectFB but currently don't even get that far - I wonder what I am missing.
My checkout is at revision r6175 and includes some fixes R. Getz did to the directFB examples (The toolchain I use is at revision r2169 IIRC). I had to increase the size of the image, because otherwise the default configuration for the bf548 would not fit. I then enabled the DirectFB examples and compilation stopped with some missing symbols in libpng (which probably should come from libz):
bfin-uclinux-gcc -I/home/simon/uclinux-dist/staging/usr/include/freetype2 \
-I/home/simon/uclinux-dist/staging/usr/include -ffast-math -pipe -pipe -Wall -g \
-O2 -mcpu=bf548-0.0 -D_GNU_SOURCE -Werror-implicit-function-declaration \
-Wl,-elf2flt -mcpu=bf548-0.0 -o dfbpenmount dfbpenmount.o ../src/.libs/libdirectfb.a \
/home/simon/uclinux-dist/lib/DirectFB/build-DirectFB-1.1.1/lib/fusion/.libs/libfusion.a \
../lib/fusion/.libs/libfusion.a /home/simon/uclinux-dist/lib/DirectFB/build-DirectFB-1.1.1/lib/direct/.libs/libdirect.a \
../lib/direct/.libs/libdirect.a -lz -lpthread
/home/simon/uclinux-dist/staging/usr/lib/libpng12.a(libpng12_la-png.o): In function `png_reset_zstream':
../libpng-1.2.24/png.c:761: undefined reference to `_inflateReset'
/home/simon/uclinux-dist/staging/usr/lib/libpng12.a(libpng12_la-png.o): In function `png_calculate_crc':
../libpng-1.2.24/png.c:229: undefined reference to `_crc32'
[...]
Other missing symbols are _inflate, _inflateInit_, _crc32 and _pow (from libm?)
It seems that the static linking against libpng goes wrong here. Any Idea whats the problem?
Another thing is, that apparently the configure process of DirectFB does not properly detect the Linux Kernel for Framebuffer support:
checking for stdbool.h... yes
configure: WARNING:
*** no linux kernel -- building without linux fbdev support.
checking for sysfs_get_mnt_path in -lsysfs... no
configure: WARNING: *** libsysfs not found -- Building without sysfs support.
checking for jpeg_destroy_decompress in -ljpeg... yes
The source of this problem is, that - even when --enable-fbdev is hardcoded in the configure line from the uclinux makefile - it gets overridden when the target system does not seem to be a linux:
(from configure.in:)
dnl Test for Linux frame buffer device
AC_ARG_ENABLE(fbdev,
[ --enable-fbdev build with linux fbdev support default=auto],,
enable_fbdev=yes)
if test "$have_linux" = "no"; then
enable_fbdev=no
AC_MSG_WARN([
*** no linux kernel -- building without linux fbdev support.])
fi
and $have_linux is determined by:
case "$target_or_host" in
*-linux*)
have_linux=yes
;;
but $target is (I am unclear about this) either "bfin-uclinux" or "bfin-unknown-uclinux", which does not match the above pattern.
This seems to need a fix I think...
What currently bugs me the most is the linking issue. Zlib definitely is enabled in the configuration (automatically) and even adding it as a hard dependency to the KConfig option for the directfb-examples does not help.
Any clue whats going on here?
Thanks,
Simon
QuoteReplyEditDelete
2008-02-06 16:26:41 Re: Building DirectFB for BF548
Mike Frysinger (UNITED STATES)
Message: 50774 we havent really played with DirectFB in the FLAT format, so not too surprised it fails ...
ive fixed the linking issues in the branch/trunk as well as the mis-detection of uclinux as non-linux
QuoteReplyEditDelete
2008-02-07 07:37:00 Re: Building DirectFB for BF548
Simon Budig (GERMANY)
Message: 50818 Ah, Ok. I got the impression from the other thread that FLAT would be the way to go.
What *do* you actually use? In fact a complete configuration (plus informations of the SVN revisions used, there seem to be some problems related to the new kernel at the moment) of a state where the directfb-examples do run on a EZKIT-BF548 would help me a lot.
Thanks for fixing the linking issues, will play with this.
Bye,
Simon
QuoteReplyEditDelete
2008-02-07 09:34:20 Re: Building DirectFB for BF548
Robin Getz (UNITED STATES)
Message: 50821 Simon:
For the 548, I build lots of stuff, and put everything on the hard drive.
but I build with fdpic.
conf files attached (created with make bugreport)
bugreport.tgz