Java Mailing List Archive

http://www.redhatconfig.com/

Home » Mandriva Cooker »

Re: [Cooker] I don't get this underlinking crap, but it's breaking
 Brasero...

pcpa

2008-06-11

Replies: Find Java Web Hosting

Author LoginPost Reply
Quoting Adam Williamson <awilliamson@(protected)>:

> Okay, I really don't understand this underlinking stuff. And yes, I read
> the Wiki. But I still don't get it, or at least, how to fix problems.
>
> It's breaking Brasero's build:
>
> Making all in cdrdao
> make[4]: Entering directory
> `/home/adamw/rpm/BUILD/brasero-0.7.90/src/plugins/cdrdao'
> /bin/sh ../../../libtool --tag=CC  --mode=link gcc -g -O2 -g -pipe
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=4 -fomit-frame-pointer -march=i586
> -mtune=generic -fasynchronous-unwind-tables -module -avoid-version
> -Wl,--as-needed -Wl,--no-undefined -o libbrasero-cdrdao.la -rpath
> /usr/lib/brasero/plugins burn-cdrdao.lo -lgconf-2 -lglib-2.0  
> -Wl,--as-needed -Wl,--no-undefined
> gcc -shared -Wl,--as-needed .libs/burn-cdrdao.o
> /usr/lib/libgconf-2.so /usr/lib/libglib-2.0.so  -march=i586
> -mtune=generic -Wl,--as-needed -Wl,--as-needed -Wl,--no-undefined
> -Wl,-soname -Wl,libbrasero-cdrdao.so -o .libs/libbrasero-cdrdao.so
> .libs/burn-cdrdao.o: In function `brasero_cdrdao_finalize':
> /home/adamw/rpm/BUILD/brasero-0.7.90/src/plugins/cdrdao/burn-cdrdao.c:528:
> undefined reference to `g_type_check_class_cast'
> .libs/burn-cdrdao.o: In function `brasero_cdrdao_class_init':
> /home/adamw/rpm/BUILD/brasero-0.7.90/src/plugins/cdrdao/burn-cdrdao.c:510:
> undefined reference to `g_type_check_class_cast'
> /home/adamw/rpm/BUILD/brasero-0.7.90/src/plugins/cdrdao/burn-cdrdao.c:511:
> undefined reference to `brasero_process_get_type'
> /home/adamw/rpm/BUILD/brasero-0.7.90/src/plugins/cdrdao/burn-cdrdao.c:511:
> undefined reference to `g_type_check_class_cast'
> /home/adamw/rpm/BUILD/brasero-0.7.90/src/plugins/cdrdao/burn-cdrdao.c:513:
> undefined reference to `g_type_class_peek_parent'
> /home/adamw/rpm/BUILD/brasero-0.7.90/src/plugins/cdrdao/burn-cdrdao.c:518:
> undefined reference to `brasero_job_finished_session'
>
> (etc etc etc, there's hundreds of them)
>
> how do I fix this?
> --
> adamw

Try something like:

$ for f in /usr/lib/*.so.*; do objdump -t -T $f | grep $symbol | grep
-v '*UND*'
&& echo $f; done

where $symbol is the unresolved symbol. This will tell you in what
library the symbol exists, if any.

I belive the brasero_job_finished_session should be in some library
brasero itself builds.

After knowing where it is defined, it should be added to the
Makefile's *_LIBADD of the binary or library as a patch (preferably
in Makefile.am or Makefile.in and not after running %configure).

It may also be required to actually fix the one of the libraries and not
the final library/binary (i.e. brasero binaries), in that case it may
also be required patching pkgconfig .pc files, if it uses them.

I am sure others will have a better response, and ways to handle this :-)

Paulo




©2008 redhatconfig.com - Jax Systems, LLC, U.S.A.