Quoting [EMAIL PROTECTED] ([EMAIL PROTECTED]):
> On Sun, Feb 16, 2003 at 02:03:30PM +0100, Denis Oliver Kropp wrote:
> >
> > This is what the Makefile.am says:
> >
> > dfbg_SOURCES = dfbg.c
> > dfbg_LDADD = ../src/libdirectfb.la
>
> Indeed. And for the part where that is relevant, that works (see
> explanation below before trying to grok the make output below):
>
> Making all in tools
> make[2]: Entering directory `/usr/src/RPM/BUILD/DirectFB-0.9.17/tools'
> if i586-mandrake-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../src
> -D_REENTRANT -O3 -fomit-frame-pointer -pipe -mcpu=pentiumpro -march=i586 -ffast-math
> -fno-strength-reduce -ffast-math -Wall -O3 -g -MT directfb-csource.o -MD -MP -MF
> ".deps/directfb-csource.Tpo" \
> -c -o directfb-csource.o `test -f 'directfb-csource.c' || echo
> './'`directfb-csource.c; \
> then mv ".deps/directfb-csource.Tpo" ".deps/directfb-csource.Po"; \
> else rm -f ".deps/directfb-csource.Tpo"; exit 1; \
> fi
> /bin/sh ../libtool --mode=link i586-mandrake-linux-gnu-gcc -D_REENTRANT -O3
> -fomit-frame-pointer -pipe -mcpu=pentiumpro -march=i586 -ffast-math
> -fno-strength-reduce -ffast-math -Wall -O3 -g -o directfb-csource
> directfb-csource.o -lpng -lz -lm -ldl -lpthread
> mkdir .libs
> i586-mandrake-linux-gnu-gcc -D_REENTRANT -O3 -fomit-frame-pointer -pipe
> -mcpu=pentiumpro -march=i586 -ffast-math -fno-strength-reduce -ffast-math -Wall -O3
> -g -o directfb-csource directfb-csource.o -lpng -lz -lm -ldl -lpthread
> if i586-mandrake-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../src
> -D_REENTRANT -O3 -fomit-frame-pointer -pipe -mcpu=pentiumpro -march=i586 -ffast-math
> -fno-strength-reduce -ffast-math -Wall -O3 -g -MT dfbg.o -MD -MP -MF
> ".deps/dfbg.Tpo" \
> -c -o dfbg.o `test -f 'dfbg.c' || echo './'`dfbg.c; \
> then mv ".deps/dfbg.Tpo" ".deps/dfbg.Po"; \
> else rm -f ".deps/dfbg.Tpo"; exit 1; \
> fi
> /bin/sh ../libtool --mode=link i586-mandrake-linux-gnu-gcc -D_REENTRANT -O3
> -fomit-frame-pointer -pipe -mcpu=pentiumpro -march=i586 -ffast-math
> -fno-strength-reduce -ffast-math -Wall -O3 -g -o dfbg dfbg.o
> ../src/libdirectfb.la -ldl -lpthread
> i586-mandrake-linux-gnu-gcc -D_REENTRANT -O3 -fomit-frame-pointer -pipe
> -mcpu=pentiumpro -march=i586 -ffast-math -fno-strength-reduce -ffast-math -Wall -O3
> -g -o .libs/dfbg dfbg.o ../src/.libs/libdirectfb.so -ldl -lpthread -Wl,--rpath
> -Wl,/usr/src/RPM/BUILD/DirectFB-0.9.17/src/.libs
> creating dfbg
> ...
> make[2]: Leaving directory `/usr/src/RPM/BUILD/DirectFB-0.9.17/tools'
>
>
> But later on, when the make install is done, this happens:
>
> Making install in tools
> make[1]: Entering directory `/usr/src/RPM/BUILD/DirectFB-0.9.17/tools'
> make[2]: Entering directory `/usr/src/RPM/BUILD/DirectFB-0.9.17/tools'
> /bin/sh ../mkinstalldirs /var/tmp/directfb-0.9.17/usr/bin
> mkdir -p -- /var/tmp/directfb-0.9.17/usr/bin
> /bin/sh ../libtool --mode=install /usr/bin/install -c directfb-csource
> /var/tmp/directfb-0.9.17/usr/bin/directfb-csource
> /usr/bin/install -c directfb-csource
> /var/tmp/directfb-0.9.17/usr/bin/directfb-csource
> /bin/sh ../libtool --mode=install /usr/bin/install -c dfbg
> /var/tmp/directfb-0.9.17/usr/bin/dfbg
> (cd /usr/src/RPM/BUILD/DirectFB-0.9.17/tools; { test -z "${LIBRARY_PATH+set}" ||
> unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z
> "${COMPILER_PATH+set}" || unset COMPILER_PATH || { COMPILER_PATH=; export
> COMPILER_PATH; }; }; { test -z "${GCC_EXEC_PREFIX+set}" || unset GCC_EXEC_PREFIX ||
> { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z "${LD_RUN_PATH+set}" ||
> unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z
> "${LD_LIBRARY_PATH+set}" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export
> LD_LIBRARY_PATH; }; };
> PATH="/home/brian/bin:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin"; export PATH;
> i586-mandrake-linux-gnu-gcc -D_REENTRANT -O3 -fomit-frame-pointer -pipe
> -mcpu=pentiumpro -march=i586 -ffast-math -fno-strength-reduce -ffast-math -Wall -O3
> -g -o /tmp/libtool-zcZclO/dfbg dfbg.o -L/usr/lib -ldirectfb -ldl -lpthread)
> /usr/bin/install -c /tmp/libtool-zcZclO/dfbg /var/tmp/directfb-0.9.17/usr/bin/dfbg
> make[2]: Nothing to be done for `install-data-am'.
> make[2]: Leaving directory `/usr/src/RPM/BUILD/DirectFB-0.9.17/tools'
>
> Notice that a temporary dfbg is linked (in /tmp/libtool-zcZclO/dfbg)
> against the system libdirectfb rather than the one in
> ../src/libdirectfb.la and that is what is installed, not the one that
> was made during the build phase. But the same is not done for
> directfb-source. It is installed from the binary made during the link
> phase.
>
> This is obviously a "tool" problem. For some reason, libtool is
> deciding that dfbg needs to be relinked while it's installing it. And
> the reason, I surmise, is because with dfbg, libtool knows it's being
> told to link with a library that's in the source tree being built. When
> that is done, rather than building the binary in place, the binary is
> built in .libs and a shell wrapper is placed where the binary should go
> that knows how to set the library path and execute the binary in .libs
> so that it runs with the source tree provided library.
>
> This all seems somewhat fragile. It only works if the new
> libdirectfb.so is installed before dfbg (or any other dependencies on
> it). This of course, does not happen when building an RPM, as
> everything is installed into a temporary destination directory. Libtool
> would have to be told somehow that the default library path is
> (something like) $DESTDIR/lib:$DESTDIR/usr/lib:/lib:/usr/lib.
>
> ~sigh~ So I understand the problem, just not what the right solution
> is. Due to time contraints, I think I will have to shove this onto the
> back burner and come back to it.
What happens if you have no DirectFB installed, compile it and do "make install"
in "tools" only. Does it use the correct path then or does it fail?
--
Best regards,
Denis Oliver Kropp
.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/ |
"------------------------------------------"
Convergence GmbH
--
Info: To unsubscribe send a mail to [EMAIL PROTECTED] with
"unsubscribe directfb-dev" as subject.