John Dennis wrote:
O.K. I give up. I've begun to truly despise libtool. There are too many layers, obsurcifications, and poorly documented configuration options to wrap my poor little brain around.
The libtool people must be *much* smarter than me, because I don't understand the code. My inclination at this point is to remove libltld entirely from the build. If your system doesn't have a functional dlopen(), it doesn't deserve to run FreeRADIUS.
I figured out that the reason why INSTALL_LTDL was never defined is because it's defined deep inside the code which only gets turned on when --with-system-libtool is not specified.
However if one removes this option then linking fails because libtool cannot find libltdl/libltdlc.la in the root of the build tree.
What the heck is libltdlc.la? I don't see it on my system when the server is being built.
With the prior release (2.1.1) if I didn't define --with-system-libtool then I would get an unresolved reference to lt__PROGRAM__LTX_preloaded_symbols and I was told by our libtool maintainer this is due to incompatibilities with the files included in the tarball and the right solution is to specify --with-system-libtool so that local files are used but if I do that then it barfs on INSTALL_LTDL :-(
Googling all of this did not provide much help other than discovering I'm not the only who thinks libtool is too hard to use. If anyone truly understands this stuff I'd love an explanation.
libtool, libltdl, and autoconf are steaming masses of fertilizer. When FreeRADIUS started, I took a look at automake, and decided it was truly pointless. So we used gmake, and no one has ever really complained. If you look at the source code, there are a few references to WITHOUT_LIBLTLDL. It still requires some finalization, but it's been known to work (after some edits) on some systems. I might just spend some time removing ltldl from the system entirely. Alan DeKok.