cmake news: RPATH, kdevelop projects, finding kdelibs

Alexander Neundorf neundorf at kde.org
Mon Mar 20 16:51:57 GMT 2006


Hi,

On Monday 20 March 2006 10:43, Thiago Macieira wrote:
> Alexander Neundorf wrote:
> >On Friday 17 March 2006 10:05, Thiago Macieira wrote:
> >> Alexander Neundorf wrote:
> >> >"install" - (not on OS X)
> >> >Compile with RPATH set to the installation directory, the kde library
> >> >directory and the Qt library directory.
> >> >To run the executables during the build, simple wrapper shell scripts
> >> > are created which set (DY)LD_LIBRARY_PATH accordingly.
> >>
> >> Do you pass the -Wl,--enable-new-dtags linker option to g++ during
> >> linking? If you don't, you know by now that setting LD_LIBRARY_PATH
> >> has no effect if you used RPATH, on most distros anyways.
> >>
> >> Anyways, why isn't this option the default and why can't OS X deal
> >> with it?
> >
> >Because AFAIK under OS X  RPATH does not exist, but instead
> > install_name. I guess for OS X the now-defautl behaviour is just right
> > (supposed I did it correctly, which is probably not the case since I
> > cannot test it)
>
> But if the end behaviour is the same (i.e., the final binaries load only
> libraries installed in the destination path), it should be the same
> option.
>
> And I strongly urge to make this option the default. It has to be so for
> released code anyways, or the "no rpath" option. 
> Relinking during installing and leaving clutter in the form of build-paths
> are not options for release code.

Which clutter do you mean ? I'm not aware of any.
The current default option is the one which works best (as in "I don't know of 
any problems with it") , but takes more time when doing "make install". 

I'm no expert in OS X stuff, but if I understood things correctly, this 
linking again when installing isn't necessary on OS X, because the same 
effect is achieved by running "install_name_tool". This AFAIK is much faster 
than linking again, so IMO it's the best solution for OS X.
So these two options are equivalent and I'm not aware of any problems, except 
that installing takes longer on Linux/*BSD.

Disadvantages of the other options:
"none" and "install": in order to run the applications from the build tree, 
wrapper shell scripts have to be invoked. Not dramatic, it works, but running 
the executable directly is nicer.
"both": executables can be run from the build tree directly, but when 
installed, they will still prefer the not-installed libraries over the 
installed libraries. I think this is an option which may be useful for 
developers, who also install the stuff they work on from time to time and 
don't want to wait for the relatively slow "default" make install.

After all, let's just work a bit with the options as they are now, then we'll 
see better what we really need. 
The four options available now should be enough to satisfy most developers 
needs.

Bye
Alex
-- 
Work: alexander.neundorf AT jenoptik.com - http://www.jenoptik-los.de
Home: neundorf AT kde.org                - http://www.kde.org
      alex AT neundorf.net               - http://www.neundorf.net




More information about the kde-core-devel mailing list