gnash-0.8.3 compilation fails on my box with : libtool: link: x86_64-pc-linux-gnu-g++ -march=native -O3 -pipe -msse3 -pthread -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -fvisibility-inlines-hidden -Wl,--as-needed -Wl,--as-needed -o .libs/soldumper soldumper.o -L/usr/lib -L/usr/lib64 ../server/.libs/libgnashserver.so -L/lib /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libnet/.libs/libgnashnet.so /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libmedia/.libs/libgnashmedia.so /usr/lib64/libfontconfig.so /usr/lib64/libfreetype.so /usr/lib64/libexpat.so ../libamf/.libs/libgnashamf.so ../libnet/.libs/libgnashnet.so /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libamf/.libs/libgnashamf.so /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libbase/.libs/libgnashbase.so ../libbase/.libs/libgnashbase.so ../libmedia/.libs/libgnashmedia.so /usr/lib64/libjpeg.so /usr/lib64/libcurl.so /usr/lib64/libidn.so /usr/lib64/libssh2.so -lssl -lcrypto /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so /usr/lib64/libgcrypt.so /usr/lib64/libgpg-error.so /usr/lib64/libltdl.so -lboost_thread-mt-d -lboost_date_time-mt-d /usr/lib64/libgstbase-0.10.so /usr/lib64/libgstpbutils-0.10.so /usr/lib64/libgstreamer-0.10.so /usr/lib64/libgobject-2.0.so /usr/lib64/libgmodule-2.0.so /usr/lib64/libgthread-2.0.so -lpthread /usr/lib64/libxml2.so -lz /usr/lib64/libglib-2.0.so -lc -lrt /usr/lib64/libXi.so /usr/lib64/libXext.so /usr/lib64/libX11.so /usr/lib64/libxcb-xlib.so /usr/lib64/libxcb.so /usr/lib64/libXau.so /usr/lib64/libXdmcp.so -lm -ldl -pthread -Wl,-rpath -Wl,/usr/lib64/gnash libtool: link: x86_64-pc-linux-gnu-g++ -march=native -O3 -pipe -msse3 -pthread -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -fvisibility-inlines-hidden -Wl,--as-needed -Wl,--as-needed -o .libs/dumpshm dumpshm.o -L/usr/lib -L/usr/lib64 ../server/.libs/libgnashserver.so -L/lib /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libnet/.libs/libgnashnet.so /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libmedia/.libs/libgnashmedia.so /usr/lib64/libfontconfig.so /usr/lib64/libfreetype.so /usr/lib64/libexpat.so ../libamf/.libs/libgnashamf.so ../libnet/.libs/libgnashnet.so /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libamf/.libs/libgnashamf.so /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libbase/.libs/libgnashbase.so ../libbase/.libs/libgnashbase.so ../libmedia/.libs/libgnashmedia.so /usr/lib64/libjpeg.so /usr/lib64/libcurl.so /usr/lib64/libidn.so /usr/lib64/libssh2.so -lssl -lcrypto /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so /usr/lib64/libgcrypt.so /usr/lib64/libgpg-error.so /usr/lib64/libltdl.so -lboost_thread-mt-d -lboost_date_time-mt-d /usr/lib64/libgstbase-0.10.so /usr/lib64/libgstpbutils-0.10.so /usr/lib64/libgstreamer-0.10.so /usr/lib64/libgobject-2.0.so /usr/lib64/libgmodule-2.0.so /usr/lib64/libgthread-2.0.so -lpthread /usr/lib64/libxml2.so -lz /usr/lib64/libglib-2.0.so -lc -lrt /usr/lib64/libXi.so /usr/lib64/libXext.so /usr/lib64/libX11.so /usr/lib64/libxcb-xlib.so /usr/lib64/libxcb.so /usr/lib64/libXau.so /usr/lib64/libXdmcp.so -lm -ldl -pthread -Wl,-rpath -Wl,/usr/lib64/gnash /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libbase/.libs/libgnashbase.so: undefined reference to `boost::thread::start_thread()' collect2: ld returned 1 exit status make[2]: *** [soldumper] Erreur 1 make[2]: *** Attente des tâches non terminées.... /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libbase/.libs/libgnashbase.so: undefined reference to `boost::thread::start_thread()' collect2: ld returned 1 exit status make[2]: *** [dumpshm] Erreur 1 libtool: link: x86_64-pc-linux-gnu-g++ -march=native -O3 -pipe -msse3 -pthread -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -fvisibility-inlines-hidden -Wl,--as-needed -Wl,--as-needed -o .libs/gprocessor gprocessor-processor.o -Wl,--export-dynamic -L/usr/lib -L/usr/lib64 ../server/.libs/libgnashserver.so -L/lib /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libnet/.libs/libgnashnet.so /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libmedia/.libs/libgnashmedia.so /usr/lib64/libfontconfig.so /usr/lib64/libfreetype.so /usr/lib64/libexpat.so ../libamf/.libs/libgnashamf.so ../libnet/.libs/libgnashnet.so /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libamf/.libs/libgnashamf.so /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/libbase/.libs/libgnashbase.so ../libbase/.libs/libgnashbase.so ../libmedia/.libs/libgnashmedia.so /usr/lib64/libjpeg.so /usr/lib64/libcurl.so /usr/lib64/libidn.so /usr/lib64/libssh2.so -lssl -lcrypto /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so /usr/lib64/libgcrypt.so /usr/lib64/libgpg-error.so /usr/lib64/libltdl.so -lboost_thread-mt-d -lboost_date_time-mt-d /usr/lib64/libgstbase-0.10.so /usr/lib64/libgstpbutils-0.10.so /usr/lib64/libgstreamer-0.10.so /usr/lib64/libgobject-2.0.so /usr/lib64/libgmodule-2.0.so /usr/lib64/libgthread-2.0.so -lpthread /usr/lib64/libxml2.so -lz /usr/lib64/libglib-2.0.so -lc -lrt /usr/lib64/libXi.so /usr/lib64/libXext.so /usr/lib64/libX11.so /usr/lib64/libxcb-xlib.so /usr/lib64/libxcb.so /usr/lib64/libXau.so /usr/lib64/libXdmcp.so -lm -ldl -pthread -Wl,-rpath -Wl,/usr/lib64/gnash ../server/.libs/libgnashserver.so: undefined reference to `boost::thread::start_thread()' ../server/.libs/libgnashserver.so: undefined reference to `boost::this_thread::get_id()' ../server/.libs/libgnashserver.so: undefined reference to `boost::thread::get_id() const' ../server/.libs/libgnashserver.so: undefined reference to `boost::detail::get_current_thread_data()' collect2: ld returned 1 exit status make[2]: *** [gprocessor] Erreur 1 make[2]: quittant le répertoire « /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3/utilities » make[1]: *** [all-recursive] Erreur 1 make[1]: quittant le répertoire « /var/tmp/portage/net-www/gnash-0.8.3/work/gnash-0.8.3 » make: *** [all] Erreur 2 * * ERROR: net-www/gnash-0.8.3 failed. I have rebuild boost but it gave no improvement. I attach the full compilation log and my emerge --info. Reproducible: Always
Created attachment 158759 [details] emerge log
Created attachment 158761 [details] emerge --info
This bug should only concern compilation failures that contain "undefined reference to `boost::thread::start_thread()'", no cluttering it with unrelated errors this time.
Please attach the file boostfiles, which you'll create by doing: equery files boost > boostfiles
This looks like a typical --as-needed bug. Most probably, the only fix, that's necessary is adding the required boost libs to the list of libs, that libgnashbase is built with. I could probably give you the exact automake file, but currently gnash sources don't seem browseable online (at least only link I see, is the non-working bazaar one).
It's probably only a matter of moving the var with boost libs from soldumper_LDADD to libgnashbase_LIBADD.
Of course, if I'm right, upstream should get those fixes.
Created attachment 158765 [details] boostfiles
Now, that I dug deeper, it seems that upsteam is actually OK. But for some reason, gnash tries to link with libraries that don't seem to exist on your system (boost_thread-mt-d boost_date_time-mt-d), instead of those you actually have (boost_thread-mt boost_date_time-mt).
(In reply to comment #8) > Created an attachment (id=158765) [edit] > boostfiles > Ok, I'm looking at the code and the only thing I can think of is that perhaps a broken symlink is amongst the output of "ls -la /usr/lib64/libboost_thread*" Could you post the output of that command?
> Ok, I'm looking at the code and the only thing I can think of is that perhaps a > broken symlink is amongst the output of "ls -la /usr/lib64/libboost_thread*" > Could you post the output of that command? > ls -la /usr/lib64/libboost_thread* lrwxrwxrwx 1 root root 20 juin 28 17:38 /usr/lib64/libboost_thread.a -> libboost_thread-mt.a -rw-r--r-- 1 root root 304924 juin 28 17:36 /usr/lib64/libboost_thread-mt.a -rwxr-xr-x 1 root root 106016 avril 26 10:02 /usr/lib64/libboost_thread-mt-d.so -rw-r--r-- 1 root root 304924 juin 28 17:36 /usr/lib64/libboost_thread-mt-s.a -rwxr-xr-x 1 root root 136112 juin 28 17:36 /usr/lib64/libboost_thread-mt.so lrwxrwxrwx 1 root root 21 juin 28 17:38 /usr/lib64/libboost_thread.so -> libboost_thread-mt.so
This seems weird. You didn't try to compile boost yourself, did you? We can find out which package owns this with this command: equery belongs /usr/lib64/libboost_thread-mt-d.so Please post the output.
(In reply to comment #12) > This seems weird. You didn't try to compile boost yourself, did you? > We can find out which package owns this with this command: > equery belongs /usr/lib64/libboost_thread-mt-d.so > Please post the output. > equery belongs /usr/lib64/libboost_thread-mt-d.so [ Searching for file(s) /usr/lib64/libboost_thread-mt-d.so in *... ] no result !
If you didn't try to compile boost yourself, I don't know how you got that file there, but I know how to solve your problem: rm -f /usr/lib64/libboost_*mt-d* then remember to run revdep-rebuild -i -- -a to rebuild anything that may have linked against the broken libs. Please tell me how things go.
(In reply to comment #14) > If you didn't try to compile boost yourself, I don't know how you got that file > there, but I know how to solve your problem: > rm -f /usr/lib64/libboost_*mt-d* > then remember to run > revdep-rebuild -i -- -a > to rebuild anything that may have linked against the broken libs. > > Please tell me how things go. > The compilation worked fine after deleting /usr/lib64/libboost_*mt-d* Many thanks for your help Peter, I never had compiled boost myself, at any time with portage, so perhaps was an old lib remaining after upgrading the package.
When running reconcilio I notice this warning after upgrading to gnash-0.8.3 : The following broken files are not owned by any installed package: /usr/lib64/gnash/libgnashbackend-0.8.1.so (requires libavformat.so.51) /usr/lib64/gnash/libgnashbase-0.8.1.so (requires libavformat.so.51) /usr/lib64/gnash/libgnashserver-0.8.1.so (requires libavformat.so.51) wich seems to telle that the upgrade lets some olds libs in system.
(In reply to comment #16) > When running reconcilio I notice this warning after upgrading to gnash-0.8.3 : > > The following broken files are not owned by any installed package: > /usr/lib64/gnash/libgnashbackend-0.8.1.so (requires libavformat.so.51) > /usr/lib64/gnash/libgnashbase-0.8.1.so (requires libavformat.so.51) > /usr/lib64/gnash/libgnashserver-0.8.1.so (requires libavformat.so.51) > > wich seems to telle that the upgrade lets some olds libs in system. > and so on for : The following broken files are not owned by any installed package: /usr/bin/gparser (requires libgnashbase-0.8.1.so libgnashserver-0.8.1.so) /usr/lib64/gnash/libgnashamf-0.8.1.so (requires libgnashbase-0.8.1.so) /usr/lib64/gnash/libgnashgeo-0.8.1.so (requires libgnashbase-0.8.1.so) after deleting libs above
It almost sounds like something touched a lot of your files at one point. What's the output of: ls -la /usr/lib64/gnash/libgnashamf-0.8.1.so ? If it's somewhere on 26th of April, I'd say that's the most likely explanation.
(In reply to comment #18) > It almost sounds like something touched a lot of your files at one point. > What's the output of: > ls -la /usr/lib64/gnash/libgnashamf-0.8.1.so > ? > If it's somewhere on 26th of April, I'd say that's the most likely explanation. > Sorry Peter I have deleted the orphaned libs :-)
(In reply to comment #19) > (In reply to comment #18) > > It almost sounds like something touched a lot of your files at one point. > > What's the output of: > > ls -la /usr/lib64/gnash/libgnashamf-0.8.1.so > > ? > > If it's somewhere on 26th of April, I'd say that's the most likely explanation. > > > Sorry Peter I have deleted the orphaned libs :-) > That's fine. We got to the bottom of this, for which I'm glad. We can consider this bug resolved, I think.