On Thu, Mar 17, 2016 at 07:00:09PM +0100, Kamil Dudka wrote: > On Thursday 17 March 2016 13:21:42 Przemek Klosowski wrote: > I was (by mistake) speaking about loading libcurl's run-time dependencies > by dlopen(), which is implemented for OpenLDAP in RHEL-5. It used to cause > problems and was removed from upstream curl long time ago. Judging by this discussion: https://github.com/curl/curl/issues/349 and: > https://lists.mayfirst.org/pipermail/vtls/2015-February/000020.html that was because they implemented it badly. They shouldn't dlopen the external libraries directly. libcurl should have a plugin system, so that the plugin for (eg) libssh2 could be pushed off to $plugindir/libcurl-ssh2.so. This is a library containing curl code, which is linked normally (NOT using dlopen) to libssh2. When core libcurl starts, _it_ dlopens any plugins found in $plugindir, and they register themselves with the core libcurl. The order of library loading is predictable, as if the main program or another library linked to the main program is already using libssh2, it won't be loaded a second time. >From there it would be easy to package the core libcurl, and the plugins in separate RPMs. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx http://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx