changelog sais "remove generation of libGL.la since eselect-opengl-1.0.9 and newer no longer uses it. refactor installation of libraries to fix FreeBSD issues" maybe eselect doesn't use that file any more but there are packages which need this file for building... gnash 0.8.6 for example... Reproducible: Always Steps to Reproduce: 1. install nvidia-drivers-190.42-r3 2. install, say, www-plugin/gnash-0.8.6 Actual Results: build of gnash fails due to missing libGL.la Expected Results: build of gnash succeeds or at least doesn't complain about missing libGL.la
Please read and follow the elog messages that came after upgrading eselect-opengl. /var/log/portage/elog/summary.log if you missed it.
I noticed the same error manifest while trying to ebuild vinagre-2.28.1 via libtool errors trying to link libvnc.la: mv -f .deps/vinagre-vnc-tab.Tpo .deps/vinagre-vnc-tab.Plo /bin/sh ../../libtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc -march=k8 -Os -pipe -module -avoid-version -Wl,-O1 -o libvnc.la -rpath /usr/lib64/vinagre-1/plugins vinagre-vnc-plugin.lo vinagre-vnc-connection.lo vinagre-vnc-tab.lo -lgtk-vnc-1.0 -lgtk-x11-2.0 -lgnutls -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lxml2 /bin/grep: /usr/lib64/libGL.la: No such file or directory /bin/sed: can't read /usr/lib64/libGL.la: No such file or directory libtool: link: `/usr/lib64/libGL.la' is not a valid libtool archive I have run "eselect opengl set nvidia" prior to this and I've even trying doing "eselect opengl set xorg-x11" followed by "eselect opengl set nvidia" however neither is creating the symlink from /usr/lig64/opengl/nvidia/lib/libGL.la to /usr/lib64/libGL.la . I seem to recall a decision change NOT to create /usr/lib64/libGL.la however I can't find the report. In any case this is preventing other things from emerging. In any case, manually creating the symlink does allow vinagre to ebuild successfully.
I've noticed that the manually created link fixes packages, but then seems to get removed at some point. This creates a little time-bomb of surprise when a package will suddenly fail.
A copy of libGL.la is also shipped with mesa (in the files directory of its ebuild) which gets installed to /usr/lib64/opengl/xorg-x11/lib/libGL.la. I'm guessing the applications should be linking to that instead of the driver specific version? If not, maybe the mesa package should create the symbolic link?
Hrmm ... after further investigation I believe this is related to the plague that is libtool .la file linkage. I ran lafilefixer --justfixit (you may have to emerge lafilefixer first) and then re-tried my emerge without any libGL.la symbolic links and it finished successfully.
(In reply to comment #5) > Hrmm ... after further investigation I believe this is related to the plague > that is libtool .la file linkage. I ran lafilefixer --justfixit (you may have > to emerge lafilefixer first) and then re-tried my emerge without any libGL.la > symbolic links and it finished successfully. # info about removal of .la file einfo elog "eselect-opengl since version 1.0.9 strips the libGL.la file." elog "This file was broken by design and thus removed." elog "For fixing all sort of configure issues please run:" elog " lafilefixer --justfixit" elog "or run revdep-rebuild if you update from any older release." elog "(lafilefixer package can be found as dev-util/lafilefixer)