directfb-csource compilation pb with uclibc

Dely Nicolas Nicolas.Dely at thomson.net
Fri Oct 7 14:49:08 UTC 2005


Hi all,

I would like to install dfbsee on my embedded x86 platform with
buildroot. I've added dfbsee directory in package, Config.in,
dfbsee.mk ...

To configure cleanly dfbsee I need directfb-csource, 
* when I compile directfb-csource with glibc/gcc ./directfb-csource
runs,
* but when it is compiled with uclibc/gcc ./directfb-csource says
"bash: ./directfb-csource: No such file or directory"

Compilation is :
if /users/buildroot/build_i686/staging_dir/bin/i686-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../include -I../include -I../lib -I../src  -D_REENTRANT   -Wall -O3 -ffast-math -pipe -Os -pipe  -I/users/buildroot/build_i686/staging_dir/usr/include -D_GNU_SOURCE  -Werror-implicit-function-declaration -MT directfb-csource.o -MD -MP -MF ".deps/directfb-csource.Tpo" -c -o directfb-csource.o directfb-csource.c; \
> then mv -f ".deps/directfb-csource.Tpo" ".deps/directfb-csource.Po"; else rm -f ".deps/directfb-csource.Tpo"; exit 1; fi

/bin/sh ../libtool --tag=CC --mode=link /users/buildroot/build_i686/staging_dir/bin/i686-linux-uclibc-gcc  -Wall -O3 -ffast-math -pipe -Os -pipe  -I/users/buildroot/build_i686/staging_dir/usr/include -D_GNU_SOURCE  -Werror-implicit-function-declaration  -L/users/buildroot/build_i686/staging_dir/lib -L/users/buildroot/build_i686/staging_dir/usr/lib -o directfb-csource  directfb-csource.o -lpng -lz -lm -ldl -lpthread

/users/buildroot/build_i686/staging_dir/bin/i686-linux-uclibc-gcc -Wall -O3 -ffast-math -pipe -Os -pipe -I/users/buildroot/build_i686/staging_dir/usr/include -D_GNU_SOURCE -Werror-implicit-function-declaration -o directfb-csource directfb-csource.o  -L/users/buildroot/build_i686/staging_dir/lib -L/users/buildroot/build_i686/staging_dir/usr/lib -lpng -lz -lm -ldl -lpthread

There is no error, no warning

I suppose something called in directfb-csource.c is not implemented in uclibc ?

Can someone explain me please ?

I've attached the following files:
* dfbsee Config.in and dfbsee.mk
* DirectFB directfb.mk

Regards,

Nicolas
-------------- next part --------------
config BR2_PACKAGE_DFBSEE
	bool "dfbsee"
	default n
	help
          An image viewer and video player, the current version
          is a quick hack but nice though. It should become a 
          full-featured image and video viewer over time.
	  
	  http://www.directfb.org/index.php?path=Development%2FProjects%2FDFBSee
-------------- next part --------------
#############################################################
#
# dfbsee
#
#############################################################
DFBSEE_VER:=0.7.4
DFBSEE_SOURCE:=DFBSee-$(DFBSEE_VER).tar.gz
DFBSEE_SITE:=http://www.directfb.org/download/DFBSee
DFBSEE_DIR:=$(BUILD_DIR)/DFBSee-$(DFBSEE_VER)
DFBSEE_CAT:=zcat
DFBSEE_BINARY:=$(DFBSEE_DIR)/src/dfbsee
DFBSEE_TARGET_BINARY:=$(TARGET_DIR)/bin/zmore

$(DL_DIR)/$(DFBSEE_SOURCE):
	 $(WGET) -P $(DL_DIR) $(DFBSEE_SITE)/$(DFBSEE_SOURCE)

dfbsee-source: $(DL_DIR)/$(DFBSEE_SOURCE)

$(DFBSEE_DIR)/.unpacked: $(DL_DIR)/$(DFBSEE_SOURCE)
	$(DFBSEE_CAT) $(DL_DIR)/$(DFBSEE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
	touch $(DFBSEE_DIR)/.unpacked

$(DFBSEE_DIR)/.configured: $(DFBSEE_DIR)/.unpacked
	(cd $(DFBSEE_DIR); rm -rf config.cache; \
		$(TARGET_CONFIGURE_OPTS) \
		PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig \
		PATH=$(TARGET_DIR)/usr/bin:$(PATH) \
		CFLAGS="$(TARGET_CFLAGS)" \
		./configure \
		--target=$(GNU_TARGET_NAME) \
		--host=$(GNU_TARGET_NAME) \
		--build=$(GNU_HOST_NAME) \
		--prefix=/usr \
		--exec-prefix=/ \
		--sysconfdir=/etc \
	);
	touch  $(DFBSEE_DIR)/.configured

$(DFBSEE_BINARY): $(DFBSEE_DIR)/.configured
	$(MAKE) CC=$(TARGET_CC) -C $(DFBSEE_DIR)

dfbsee-install: $(DFBSEE_BINARY)
	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(DFBSEE_DIR) install
	rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
		$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc

dfbsee: uclibc dfbsee-install

dfbsee-clean:
	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(DFBSEE_DIR) uninstall
	-$(MAKE) -C $(DFBSEE_DIR) clean

dfbsee-dirclean:
	rm -rf $(DFBSEE_DIR)

#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_DFBSEE)),y)
TARGETS+=dfbsee
endif
-------------- next part --------------
#############################################################
#
# directfb
#
#############################################################
DIRECTFB_VERSION:=0.9.22
DIRECTFB_SOURCE:=DirectFB-$(DIRECTFB_VERSION).tar.gz
DIRECTFB_SITE:=http://www.directfb.org/downloads/Core
DIRECTFB_CAT:=zcat
DIRECTFB_DIR:=$(BUILD_DIR)/DirectFB-$(DIRECTFB_VERSION)

$(DL_DIR)/$(DIRECTFB_SOURCE):
	$(WGET) -P $(DL_DIR) $(DIRECTFB_SITE)/$(DIRECTFB_SOURCE)

directfb-source: $(DL_DIR)/$(DIRECTFB_SOURCE)

$(DIRECTFB_DIR)/.unpacked: $(DL_DIR)/$(DIRECTFB_SOURCE)
	$(DIRECTFB_CAT) $(DL_DIR)/$(DIRECTFB_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
	toolchain/patch-kernel.sh $(DIRECTFB_DIR) package/directfb/ directfb\*.patch
	touch $(DIRECTFB_DIR)/.unpacked

$(DIRECTFB_DIR)/.configured: $(DIRECTFB_DIR)/.unpacked
	(cd $(DIRECTFB_DIR); \
	$(TARGET_CONFIGURE_OPTS) \
	CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
	LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
	ac_cv_header_linux_wm97xx_h=no \
	ac_cv_header_linux_sisfb_h=no \
	./configure \
	--target=$(GNU_TARGET_NAME) \
	--host=$(GNU_TARGET_NAME) \
	--build=$(GNU_HOST_NAME) \
	--prefix=$(STAGING_DIR)/usr \
	--with-gfxdrivers=i830 \
	--enable-jpeg \
	--enable-png \
	--enable-linux-input \
	--enable-zlib \
	--enable-lirc \
	--enable-freetype \
	--enable-sysfs \
	--disable-video4linux \
	--disable-video4linux2 \
	--enable-fusion );
	touch  $(DIRECTFB_DIR)/.configured

$(DIRECTFB_DIR)/.compiled: $(DIRECTFB_DIR)/.configured
	$(MAKE) -C $(DIRECTFB_DIR)
	touch $(DIRECTFB_DIR)/.compiled

$(STAGING_DIR)/usr/lib/libdirectfb.so: $(DIRECTFB_DIR)/.compiled
	$(MAKE) -C $(DIRECTFB_DIR) install
	touch -c $(STAGING_DIR)/lib/libdirectfb.so

$(TARGET_DIR)/usr/lib/libdirectfb.so: $(STAGING_DIR)/usr/lib/libdirectfb.so
	cp -dpf $(STAGING_DIR)/usr/bin/*directfb-csource $(TARGET_DIR)/usr/bin/directfb-csource
	cp -dpf $(STAGING_DIR)/usr/lib/libdirect* $(TARGET_DIR)/usr/lib/
	cp -dpf $(STAGING_DIR)/usr/lib/libfusion* $(TARGET_DIR)/usr/lib/
	cp -rdpf $(STAGING_DIR)/usr/lib/directfb-$(DIRECTFB_VERSION) $(TARGET_DIR)/usr/lib/
	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libdirectfb.so

directfb: uclibc jpeg libpng freetype libsysfs lirc $(TARGET_DIR)/usr/lib/libdirectfb.so

directfb-clean:
	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(DIRECTFB_DIR) uninstall
	-$(MAKE) -C $(DIRECTFB_DIR) clean

directfb-dirclean:
	rm -rf $(DIRECTFB_DIR)

#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_DIRECTFB)),y)
TARGETS+=directfb
endif


More information about the uClibc mailing list