Page 1 of 1
CEGUI 0.8 Linux Installation
Posted: Sun Jul 03, 2011 10:37
by dermont
There is stray "$" in CEGUI.pc.in.
Libs: -L${libdir} -l$@CEGUI_BASE_LIBNAME@
And why are the libraries now installed to CMAKE_INSTALL_PREFIX/lib/CEGUI-0.8 instead of CMAKE_INSTALL_PREFIX/lib?
Re: CEGUI 0.8 Linux Installation
Posted: Sun Jul 03, 2011 11:57
by Kulik
I am not an expert to answer the stray $.
However the reason for the lib/CEGUI-X.Y is to allow slotted installs (so that you can install CEGUI 0.7, 0.8, etc...). We have done this to speed up adoption (games have trouble migrating to newer versions because distributions don't have them, they don't have them because none migrated...).
Re: CEGUI 0.8 Linux Installation
Posted: Sun Jul 03, 2011 15:03
by dermont
Kulik wrote:However the reason for the lib/CEGUI-X.Y is to allow slotted installs (so that you can install CEGUI 0.7, 0.8, etc...). We have done this to speed up adoption (games have trouble migrating to newer versions because distributions don't have them, they don't have them because none migrated...).
Fair enough it will interesting to see how you manage "slotted installs" over various distros.
For example on Ubuntu the libraries are installed to /usr/local/lib/CEGUI-0.8 and therefore won't be found at run-time. So how is this meant to be handled:
a) Create a /etc/ld.so.conf.d/CEGUI.conf with path to libs /usr/local/lib/CEGUI-0.8. There may be still a problem with libs being picked up from /usr/local/lib (??)
b) or preferable link with rpath.
Re: CEGUI 0.8 Linux Installation
Posted: Thu Jul 07, 2011 19:05
by CrazyEddie
I've not looked at it yet, but thanks for raising the issue with the .pc file and the stray $.
For finding the libs at runtime, it is intended that rpath / runpath be used.
[edited to add]
With regard to slotted installs, that is actually optional, but enabled by default since that is what we would prefer distros to do for future releases. Though ultimately it's up to the distro and package maintainers to decide what is best for their users. Disabling the appropriate cmake option will result in stuff being placed as it is for 0.7 and earlier.
CE.