Lance, On Wed, 2 Nov 2016 15:04:07 -0600, Lance Fredrickson wrote:
> > I just have not concluded what exactly the problem in 1.0.19 is for > > you. I am willing to get back the functionality you need. > > I just have not understand it. So an example is always useful to get > > me understand your problem. > The result is that programs that require dl symbols fail to compile at > all in a static matter. I think the idea is that if you're doing a static build, then everything should be static, and there shouldn't be any shared object in the system, be they used at link time or at run time (via dlopen). > I do realize that the 'dl' in libdl stands > for dynamic linking, but these static programs in some cases need these > symbols nonetheless, and otherwise fail to compile. OpenVPN is one such > example. It requires libdl, and it does operate as expected when > compiled statically. OpenVPN can be built with --disable-plugins, in which case it doesn't use dlopen(). > SoftEtherVPN, tranmission, unbound, are just a few more I can > confirm. The list would be very large. SoftEtherVPN, transmission seem to build fine in Buildroot in a fully statically linked environment. However, what confuses me is that this behavior is not new. We have been having build failures related to dlopen()/dlfcn.h being not available in static uClibc builds for a while. I don't see this as being new in 1.0.19. See for example http://autobuild.buildroot.org/results/e92/e929799366e6f574c7b08d8635b18623afd3e3e1/build-end.log. this build failure occurs because dlfcn.h is not present in a uClibc built with HAVE_SHARED disabled. And the uClibc version used in this toolchain is 1.0.17. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com _______________________________________________ devel mailing list [email protected] http://mailman.uclibc-ng.org/cgi-bin/mailman/listinfo/devel
