Bryan,
I didn't run into any of these issues when building DirectFB itself
(libdirect, libdirectfb, libfusion). The annoying libtool issues came
when building DirectFB-extra and FusionSound. Here's the relevant
portion of my build environment. Perhaps it will help you.
export FFMPEG_INC=$(INSTALLDIR)/usr/local/include
export FREETYPE_INC=$(INSTALLDIR)/usr/local/include/freetype2
export LIBXML2_INC=$(INSTALLDIR)/usr/local/include/libxml2
export ALSALIB_INC=$(INSTALLDIR)/usr/local/include/alsa
export SDL_INC=$(INSTALLDIR)/usr/local/include/SDL
export SDL_IMAGE_INC=$(INSTALLDIR)/usr/local/include/SDL
export SDL_TTF_INC=$(INSTALLDIR)/usr/local/include/SDL
export PNG_INC=$(INSTALLDIR)/usr/local/include
export JPEG_INC=$(INSTALLDIR)/usr/local/include
export DIRECTFB_INC=$(INSTALLDIR)/usr/local/include/directfb
export
DIRECTFB_INTERNAL_INC=$(INSTALLDIR)/usr/local/include/directfb-internal
export FUSIONSOUND_INC=$(INSTALLDIR)/usr/local/include/fusionsound
export
FUSIONSOUND_INTERNAL_INC=$(INSTALLDIR)/usr/local/inlude/fusionsound-internal
export FFMPEG_LIB=$(INSTALLDIR)/usr/local/lib
export FREETYPE_LIB=$(INSTALLDIR)/usr/local/lib
export LIBXML2_LIB=$(INSTALLDIR)/usr/local/lib
export ALSALIB_LIB=$(INSTALLDIR)/usr/local/lib
export SDL_LIB=$(INSTALLDIR)/usr/local/lib
export SDL_IMAGE_LIB=$(INSTALLDIR)/usr/local/lib
export SDL_TTF_LIB=$(INSTALLDIR)/usr/local/lib
export PNG_LIB=$(INSTALLDIR)/usr/local/lib
export JPEG_LIB=$(INSTALLDIR)/usr/local/lib
export DIRECTFB_LIB=$(INSTALLDIR)/usr/local/lib
export FUSIONSOUND_LIB=$(INSTALLDIR)/usr/local/lib
export TOOLS=/usr/local/eldk.arm/usr/bin
export PATH+=:$(TOOLS)
export LINUXDIRNAME=linux-2.6
export TOP=$(shell pwd)
export USER=$(TOP)/support
export BUILDDIR=$(USER)/build/VIC
export INSTALLDIRNAME=vic_sdk-install
export INSTALLDIR=$(TOP)/$(INSTALLDIRNAME)
export LINUXDIR=$(TOP)/kernels/$(LINUXDIRNAME)
export LINUXINCLUDE=$(LINUXDIR)/include
export CROSS_COMPILE=arm-linux-
export HOST=arm-linux
export KVERSION=2.6
export SDK_NAME=VIC_SDK
export SDK_VERSION=1.0
export SDK_MAJOR=$(shell echo $(SDK_VERSION) | cut -d. -f1)
export SDK_MINOR=$(shell echo $(SDK_VERSION) | cut -d. -f2)
export SDK_PATCH=$(shell echo $(SDK_VERSION) | cut -d. -f3)
export SDK_BUILD_DEBUG=1
export CC=$(CROSS_COMPILE)gcc
export AR=$(CROSS_COMPILE)ar
export AS=$(CROSS_COMPILE)as
export LD=$(CROSS_COMPILE)ld
export NM=$(CROSS_COMPILE)nm
export OBJCOPY=$(CROSS_COMPILE)objcopy
export OBJDUMP=$(CROSS_COMPILE)objdump
export RANLIB=$(CROSS_COMPILE)ranlib
export STRIP=$(CROSS_COMPILE)strip
DirectFB: $(BUILDDIR)/DirectFB/Makefile
$(MAKE) -C $(BUILDDIR)/DirectFB
DirectFB-install: DirectFB
DESTDIR=$(INSTALLDIR) \
$(MAKE) -C $(BUILDDIR)/DirectFB install
DirectFB-clean:
$(MAKE) -C $(BUILDDIR)/DirectFB clean
DirectFB-distclean:
$(MAKE) -C $(BUILDDIR)/DirectFB distclean
$(BUILDDIR)/DirectFB/Makefile:
chmod +x $(USER)/DirectFB/configure
mkdir -p $(BUILDDIR)/DirectFB
(cd $(BUILDDIR)/DirectFB; \
DESTDIR=$(INSTALLDIR) \
CFLAGS="-I$(INSTALLDIR)/usr/local/include" \
LDFLAGS="-L$(INSTALLDIR)/usr/local/lib" \
LIBS="-Wl,--rpath-link -Wl,$(INSTALLDIR)/usr/local/lib" \
PKG_CONFIG_SYSROOT="$(INSTALLDIR)" \
PKG_CONFIG_PATH="$(INSTALLDIR)/usr/local/pkgconfig" \
$(USER)/DirectFB/configure \
--host=$(HOST) \
--prefix=/usr/local \
--enable-debug-support \
--disable-network \
--disable-voodoo \
--disable-mmx \
--disable-sse \
--disable-sdl \
--disable-vnc \
--disable-sysfs \
--disable-jpeg \
--disable-zlib \
--enable-png \
--disable-gif \
--disable-freetype \
--disable-x11 \
--disable-video4linux \
--disable-video4linux2 \
--enable-fbdev \
--with-gfxdrivers=davinci \
--with-inputdrivers=none \
--with-tools \
--enable-debug \
);
DirectFB-extra: $(BUILDDIR)/DirectFB-extra/Makefile
$(MAKE) -C $(BUILDDIR)/DirectFB-extra
DirectFB-extra-install: DirectFB-extra
DESTDIR=$(INSTALLDIR) \
$(MAKE) -C $(BUILDDIR)/DirectFB-extra install
DirectFB-extra-clean:
$(MAKE) -C $(BUILDDIR)/DirectFB-extra clean
DirectFB-extra-distclean:
$(MAKE) -C $(BUILDDIR)/DirectFB-extra distclean
$(BUILDDIR)/DirectFB-extra/Makefile:
chmod +x $(USER)/DirectFB-extra/configure
mkdir -p $(BUILDDIR)/DirectFB-extra
(cd $(BUILDDIR)/DirectFB-extra; \
DESTDIR="$(INSTALLDIR)" \
CFLAGS="-I$(DIRECTFB_INC) \
-I$(DIRECTFB_INTERNAL_INC) \
-I$(FFMPEG_INC)/libavcodec \
-I$(FFMPEG_INC)/libavformat \
-I$(FUSIONSOUND_INC) \
-I$(FUSIONSOUND_INTERNAL_INC) \
" \
LDFLAGS="-L$(INSTALLDIR)/usr/local/lib" \
PKG_CONFIG_SYSROOT="$(INSTALLDIR)" \
PKG_CONFIG_PATH="$(INSTALLDIR)/usr/local/lib/pkgconfig" \
$(USER)/DirectFB-extra/configure \
--host=$(HOST) \
--prefix=/usr/local \
--disable-fast-install \
--disable-zlib \
--disable-imlib2 \
--disable-pnm \
--disable-svg \
--disable-mpeg2 \
--enable-bmp \
--disable-jpeg2000 \
--disable-openquicktime \
--disable-avifile \
--disable-libmpeg3 \
--disable-flash \
--disable-xine \
--disable-swfdec \
--enable-ffmpeg \
--with-fusionsound \
);
FusionSound: $(BUILDDIR)/FusionSound/Makefile
$(MAKE) -C $(BUILDDIR)/FusionSound
FusionSound-install: FusionSound
DESTDIR=$(INSTALLDIR) \
$(MAKE) -C $(BUILDDIR)/FusionSound install
FusionSound-clean:
$(MAKE) -C $(BUILDDIR)/FusionSound clean
FusionSound-distclean:
$(MAKE) -C $(BUILDDIR)/FusionSound distclean
$(BUILDDIR)/FusionSound/Makefile:
chmod +x $(USER)/FusionSound/configure
mkdir -p $(BUILDDIR)/FusionSound
(cd $(BUILDDIR)/FusionSound; \
DESTDIR=$(INSTALLDIR) \
CFLAGS="-I$(DIRECTFB_INC) -I$(DIRECTFB_INTERNAL_INC) \
-I$(INSTALLDIR)/usr/local/include" \
LDFLAGS="-L$(DIRECTFB_LIB)" \
LIBS="-Wl,--rpath-link -Wl,$(INSTALLDIR)/usr/local/lib" \
PKG_CONFIG_SYSROOT="$(INSTALLDIR)" \
PKG_CONFIG_PATH="$(INSTALLDIR)/usr/local/lib/pkgconfig" \
$(USER)/FusionSound/configure \
--host=$(HOST) \
--prefix=/usr/local \
--without-voodoo \
--with-drivers=alsa,oss \
--without-examples \
--without-tools \
--without-timidity \
--without-vorbis \
--without-tremor \
--without-mad \
--without-cdda \
--without-ffmpeg \
--without-playlist \
);
Bryan Bui-Tuong wrote:
> Okay, that solved that problem, but now when I try to 'make install' I get
> the following error:
>
>
>
> libtool: install: warning: relinking `libfusion.la
> (cd /home/bbui/Desktop/Graphics/DirectFB-1.1.1/lib/fusion; /bin/sh
> ../../libtool --tag=CC --mode=relink arm-linux-gcc -O3 -ffast-math -pipe
> -D_GNU_SOURCE -Werror-implicit-function-declaration -version-info 1:0:1
> -release 1.1 -lz -o libfusion.la -rpath /usr/lib arena.lo call.lo conf.lo
> fusion.lo hash.lo lock.lo object.lo property.lo reactor.lo ref.lo
> shmalloc.lo vector.lo shm/libfusion_shm.la ../direct/libdirect.la -ldl
> -lpthread -inst-prefix-dir /opt/arcom/arm-linux)
>
> arm-linux-gcc -shared .libs/arena.o .libs/call.o .libs/conf.o
> .libs/fusion.o .libs/hash.o .libs/lock.o .libs/object.o .libs/property.o
> .libs/reactor.o .libs/ref.o .libs/shmalloc.o .libs/vector.o
> -Wl,--whole-archive shm/.libs/libfusion_shm.a -Wl,--no-whole-archive -lz
> -L/opt/arcom/arm-linux/usr/lib -L/usr/lib -ldirect -ldl -lpthread
> -Wl,-soname -Wl,libfusion-1.1.so.0 -o .libs/libfusion-1.1.so.0.1.0
>
> /usr/lib/libz.so: could not read symbols: Invalid operation
> collect2: ld returned 1 exit status
> libtool: install: error: relink `libfusion.la' with the above command
> before installing it
>
>
>
> I've tried reconfiguring it and adding /opt/arcom/arm-linux/lib to my
> LD_LIBRARY_PATH, but when I do that, I am unable to run ./configure because
> it attempts to use the arm libraries to build the code. Any additional help
> will be greatly appreciated.
>
>
>
> -----Original Message-----
> From: Brian G. Rhodes [mailto:[EMAIL PROTECTED]
> Sent: Thursday, May 15, 2008 2:02 PM
> To: Bryan Bui-Tuong
> Cc: [email protected]
> Subject: Re: [directfb-users] libtool: install: error: cannot install
> `libfusion.la to a directory not ending in /usr/lib
>
> use DESTDIR=/opt/arcom/arm-linux and --prefix=/usr etc for
> configure/autoconf and DESTDIR=/opt/arcom/arm-linux for make install.
> libtool is completely ridiculous. What's with the absolute paths at
> compile time?!
>
> Bryan Bui-Tuong wrote:
>
>> Hello everyone,
>>
>> I am trying to cross compile DirectFB 1.1.1 on my desktop for an arm board
>> and get the following error message when I do a 'make install
>> prefix=/opt/arcom/arm-linux':
>>
>>
>>
>>
> ----------------------------------------------------------------------------
>
>> -------------------------
>>
>>
>> test -z "/opt/arcom/arm-linux/lib" || /bin/mkdir -p
>> "/opt/arcom/arm-linux/lib"
>> /bin/sh ../../libtool --mode=install /usr/bin/install -c
>> 'libfusion.la' '/opt/arcom/arm-linux/lib/libfusion.la'
>> libtool: install: error: cannot install `libfusion.la' to a directory
>> not ending in /usr/lib
>> make[4]: *** [install-libLTLIBRARIES] Error 1
>>
>>
>>
>>
>>
> ----------------------------------------------------------------------------
>
>> -------------------------
>>
>>
>>
>> These are my path settings and ./configure settings:
>>
>>
>>
>>
> ----------------------------------------------------------------------------
>
>> -------------------------
>>
>> CROSSCOMPILE=/opt/arcom/bin
>> CC=arm-linux-gcc
>> NM=arm-linux-nm
>> LD=arm-linux-ld
>> CXX=arm-linux-g++
>> RANLIB=arm-linux-ranlib
>> AR=arm-linux-ar
>> STRIP=arm-linux-strip
>> ARMLINUX=/opt/arcom/arm-linux
>> PATH=$ARMLINUX/bin:$CROSSCOMPILE:$ARMLINUX/lib:$PATH
>>
>> ./configure --disable-sdl --disable-osx --disable-x11 --disable-mmx
>> --disable-sse --disable-vnc --disable-video4linux --with-gfxdrivers=none
>> --with-inputdrivers=none --without-software --prefix=/usr --host=arm-linux
>> --target=arm-linux --build=i686-redhat-linux-gnu
>>
>>
>>
> ----------------------------------------------------------------------------
>
>> -------------------------
>>
>> Why am I not able to install into my arm-linux folder on my local drive
>> before I move it to the target drive?
>>
>> Thanks in advance for all your help.
>>
>>
>> Bryan B.
>> SSC-PACIFIC
>> Electrical Engineer
>>
>>
>>
>> _______________________________________________
>> directfb-users mailing list
>> [email protected]
>> http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users
>>
>>
>>
>
>
>
> _______________________________________________
> directfb-users mailing list
> [email protected]
> http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users
>
>
_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users