[Development] Explicit linking vs dlopen/dlsym

Thiago Macieira thiago.macieira at intel.com
Tue Nov 25 17:58:51 CET 2014


On Tuesday 25 November 2014 13:45:31 Lisandro Damián Nicanor Pérez Meyer 
wrote:
> > Actually, the reason that you *need* to pass -system-xxx on distributions
> > is to make sure that Qt will use the system lib. In other words, if you
> > forget your BuildRequires: tag, the build for Qt should fail. If you let
> > the default on, it's possible that Qt will accidentally use the bundled
> > copy.
> I might need more caffeine but I think I'm not quite understanding you here.
> 
> If using the system libs where the default and the compilation would break
> if the lib is not there it would mean:
> 
> - No need for packagers to set up lots of flags.
> - Packagers will quickly notice if they are missing a library.
> 
> If using the embedded copies has to be the default for any other reason
> maybe having a --use-system-libs flag would be enough.

The default is to use the system lib if it's present and fallback to the 
bundled copy if not. If you want to force the system lib, force the bundled 
copy or force the option to be disabled, you need to pass an extra option.

I don't think -use-system-libs is useful for you because you *still* need to 
pass the option to ensure that the feature gets enabled:

That is
-sqlite
	sqlite systemwide:	uses systemwide
	sqlite missing:		uses bundled copy

-sqlite -use-system-libs
	sqlite sysstemwide:	uses systemwide
	sqlite missing:		disables sqlite plugin

-system-sqlite:
	sqlite systemwide:	uses systemwide
	sqlite missing:		configure fails

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list