[SOLVED] Version issues. Installed Glib2 not recognised by the system and apps (gimp, gegl)
Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Version issues. Installed Glib2 not recognised by the system and apps (gimp, gegl)
Version issues. Installed Glib2 not recognised by the system and apps (gimp, gegl)
-------
Hi,
There is an error during ./configure process when building gimp-2.10.8
The process requires a new version of Glib2. My linux slackware 14.2 use old one Glib2-2.46.2
After removing the old version Glib2-2.46.2, I compiled and installed the last new release 2.58.2 but the process perists and shows an error:
Code:
- Error: missing dependency glib >= 2.54.2
*** Test for GLIB failed
The same case appear when building gegl-4.12 during ./configure process while the old Glib2 have been removed and the last version are installed:
Code:
./configure: line 18273: syntax error near unexpected token `$GLIB_REQUIRED_VERSION,'
./configure: line 18273: `AM_PATH_GLIB_2_0($GLIB_REQUIRED_VERSION, :,'
I did 'ldconfig' at the end of compilation but no effect.
What to do for the system to recognise the new Glib2 because it is an essential library for many graphical application ?
Maybe glib2 was not properly installed. Assuming you installed a 64 bit Slackware, please post the output of this command:
Code:
grep Version /usr/lib64/pkgconfig/glib-2.0.pc
How to recognize that it was not installed properly ?
Finally I re-install the old Glib2-2.46.2 because some applications like firefox cant run with the new version.
My system is a 32bits. The contents of /usr/local/lib/pkgconfig/glib-2.0.pc are bellow.
Note that the package installer of slackware do not restore the old version number. Strange thing.
This shows that the 2.46 version was properly reinstalled.
However the version 2.58.2 that you installed manually will stay forever, unless and until you remove it with "make install".
But no software will use it, unless you tell it where to to find this "alternate" glib2 when running ./configure, usually setting some environment variable. ./configure --help tells you which one.
This is one of the reasons why it's always better to make and install a Slackware package than just do a ./configure && make && make install. The Slackware tools installpkg, removepkg, upgradepkg know nothing about what you installed manually.
This shows that the 2.46 version was properly reinstalled.
However the version 2.58.2 that you installed manually will stay forever, unless and until you remove it with "make install".
But no software will use it, unless you tell it where to to find this "alternate" glib2 when running ./configure, usually setting some environment variable. ./configure --help tells you which one.
This is one of the reasons why it's always better to make and install a Slackware package than just do a ./configure && make && make install. The Slackware tools installpkg, removepkg, upgradepkg know nothing about what you installed manually.
Thank you for your help.
"make uninstall" works to remove the library.
What are the good parameters to configure that it will be seen and usable for the system ? (the standard method because this case may appear several times with other source code)
What are the good parameters to configure that it will be seen and usable for the system ? (the standard method because this case may appear several times with other source code)
There is no standard method, you have to read carefully the output of ./configure --help. As an example for gegl:
Code:
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
PKG_CONFIG_PATH
directories to add to pkg-config's search path
Some knowledge about compilation and linking helps.
But again, my advice is to not install stuff manually in non standard location, unless that is needed e.g. to have two versions of a program or library and symbolic links can't be used. Even then it's better to make a package that can be handled by the Slackware package tools.
Last edited by Didier Spaier; 12-27-2018 at 02:04 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.