LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 08-23-2016, 11:00 PM   #1
Contrak
LQ Newbie
 
Registered: Mar 2014
Posts: 26

Rep: Reputation: Disabled
Slackbuilds digikam 4.14.0 compile error


Compiled digikam 4.14.0 with slackbuilds and it broke at 15%. Installed all dependencies just fine. Anyone have a workaround?

Quote:
[ 15%] Linking CXX shared module ../../../lib/kipiplugin_advancedslideshow.so
...
/usr/lib64/qt/lib/libQtGui.so /usr/lib64/qt/lib/libQtCore.so -lpthread -Wl,-rpath,/usr/lib64/qt/lib:/tmp/SBo/digikam-4.14.0/build/lib:
/usr/lib64/gcc/x86_64-slackware-linux/5.3.0/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL
/usr/lib64/gcc/x86_64-slackware-linux/5.3.0/../../../../x86_64-slackware-linux/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
extra/kipi-plugins/advancedslideshow/CMakeFiles/kipiplugin_advancedslideshow.dir/build.make:606: recipe for target 'lib/kipiplugin_advancedslideshow.so' failed
make[2]: *** [lib/kipiplugin_advancedslideshow.so] Error 1
make[2]: Leaving directory '/tmp/SBo/digikam-4.14.0/build'
CMakeFiles/Makefile2:5786: recipe for target 'extra/kipi-plugins/advancedslideshow/CMakeFiles/kipiplugin_advancedslideshow.dir/all' failed
make[1]: *** [extra/kipi-plugins/advancedslideshow/CMakeFiles/kipiplugin_advancedslideshow.dir/all] Error 2
make[1]: Leaving directory '/tmp/SBo/digikam-4.14.0/build'
Makefile:141: recipe for target 'all' failed
make: *** [all] Error 2
Slackware 14.2 x86_64
multilib
Installed dependencies:
Slackbuild lensfun (0.3.2)
Slackbuild libkgeomap4 (15.08.3)
Slackbuild libkvkontakte (4.12.0)
Slackbuild liblqr (0.4.2)
Slackbuild libpgf (6.14.12)
Slackbuild libkface (15.08.3)
Slackbuild opencv (3.1.0)
AlienBob ffmpeg-3.1.1-x86_64-1alien
 
Old 08-24-2016, 06:12 AM   #2
zk1234
4MLinux Maintainer
 
Registered: Oct 2010
Location: Poland
Distribution: 4MLinux, Slackware
Posts: 1,254

Rep: Reputation: 220Reputation: 220Reputation: 220
It's rather self-explanatory: problem with OpenGL library ("cannot find -lGL"), which exists but seems to be incompatible ("skipping incompatible /usr/lib/libGL.so"). Does /usr/lib/libGL.so link to the x86_64 library? Are you using mesa or proprietary drivers ?

.

Last edited by zk1234; 08-24-2016 at 06:42 AM.
 
Old 08-24-2016, 08:15 AM   #3
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Quote:
skipping incompatible /usr/lib/libGL.so when searching for -lGL
This is likely due to you running multilib. See the SBo FAQ entry on multilib. It will likely fix your problem.
 
2 members found this post helpful.
Old 08-24-2016, 02:12 PM   #4
Contrak
LQ Newbie
 
Registered: Mar 2014
Posts: 26

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by zk1234 View Post
It's rather self-explanatory: problem with OpenGL library ("cannot find -lGL"), which exists but seems to be incompatible ("skipping incompatible /usr/lib/libGL.so"). Does /usr/lib/libGL.so link to the x86_64 library? Are you using mesa or proprietary drivers ?

.
The ls of libGL* in my system.
Quote:
[:/usr/lib]$ls libGL*
libGL.la* libGLESv2.la* libGLEWmx.so.1.13@
libGL.so@ libGLESv2.so@ libGLEWmx.so.1.13.0*
libGL.so.1@ libGLESv2.so.2@ libGLU.la*
libGL.so.1.2.0* libGLESv2.so.2.0.0* libGLU.so@
libGLESv1_CM.la* libGLEW.so@ libGLU.so.1@
libGLESv1_CM.so@ libGLEW.so.1.13@ libGLU.so.1.3.1*
libGLESv1_CM.so.1@ libGLEW.so.1.13.0*
libGLESv1_CM.so.1.1.0* libGLEWmx.so@

[:/usr/lib64]$ls libGL*
libGL.la* libGLESv2.la* libGLEWmx.so@
libGL.so.1@ libGLESv2.so@ libGLEWmx.so.1.13@
libGL.so.1.2.0* libGLESv2.so.2@ libGLEWmx.so.1.13.0*
libGLESv1_CM.la* libGLESv2.so.2.0.0* libGLU.la*
libGLESv1_CM.so@ libGLEW.so@ libGLU.so@
libGLESv1_CM.so.1@ libGLEW.so.1.13@ libGLU.so.1@
libGLESv1_CM.so.1.1.0* libGLEW.so.1.13.0* libGLU.so.1.3.1*
I'm not using any proprietary software.
Do you have a solution to the problem?
 
Old 08-24-2016, 02:25 PM   #5
notKlaatu
Senior Member
 
Registered: Sep 2010
Location: Lawrence, New Zealand
Distribution: Slackware
Posts: 1,077

Rep: Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732
As bassmadrigal said, it's because of multilib.

Look:

Code:
/usr/lib64/gcc/x86_64-slackware-linux/5.3.0/../../../../x86_64-slackware-linux/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL
You see that /usr/lib64/blah is skipping inocompatible /usr/lib/libGL.so

Why is something from the 64bit /usr/lib64 looking in 32bit location /usr/lib ? You need to point your liker to your 64 bit libraries and tell it to ignore the 32bit stuff (which is explained in the link that bassmadrigal provides).
 
1 members found this post helpful.
Old 08-24-2016, 02:29 PM   #6
Contrak
LQ Newbie
 
Registered: Mar 2014
Posts: 26

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by bassmadrigal View Post
This is likely due to you running multilib. See the SBo FAQ entry on multilib. It will likely fix your problem.
This is the part of Mr. Raharjo's slackbuild for digikam where I would add ""LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" "" per Slackbuild FAQ #18. But it doesn't look familiar to me.
Quote:
cd build
cmake \
-DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=$(kde4-config --libsuffix) \
-DMAN_INSTALL_DIR=/usr/man \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DCMAKE_VERBOSE_MAKEFILE:BOOL="TRUE" \
-DDIGIKAMSC_COMPILE_LIBMEDIAWIKI=ON \
-DDIGIKAMSC_COMPILE_LIBKVKONTAKTE=ON \
-DDIGIKAMSC_COMPILE_LIBKFACE=ON \
-DDIGIKAMSC_COMPILE_DOC=OFF \
-DCMAKE_CXX_FLAGS:STRING="$(/usr/bin/Magick++-config --libs)" \
-DENABLE_OPENCV3=ON \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_BUILD_TYPE=Release ..
make
make install DESTDIR=$PKG
cd ..
Where would I add ""LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" "" ?
 
Old 08-24-2016, 02:31 PM   #7
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
it's ugly, but you can alternatively do a temporary rename of /usr/lib to /usr/lib.old, build digikam, then move back /usr/lib.old to /usr/lib.
 
Old 08-24-2016, 02:41 PM   #8
Contrak
LQ Newbie
 
Registered: Mar 2014
Posts: 26

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by ponce View Post
it's ugly, but you can alternatively do a temporary rename of /usr/lib to /usr/lib.old, build digikam, then move back /usr/lib.old to /usr/lib.
That's gangster. But I'll do it by the end of this week if that's the only solution.
 
Old 08-24-2016, 02:50 PM   #9
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
as you might have read in the FAQ, your setup is unsupported, so you might have to adapt...

having just had a look at the bootstrap.local file in the source directory, you probably might also try an
Code:
export LD_LIBRARY_PATH=/usr/lib64:/lib64
in the root shell in which you will run the digikam.SlackBuild just after, but it's just a guess and I haven't tried it here so it might not work...
 
Old 08-24-2016, 06:16 PM   #10
Contrak
LQ Newbie
 
Registered: Mar 2014
Posts: 26

Original Poster
Rep: Reputation: Disabled
Thanks everyone for helping me get my head out of my arse.

So the ld command wanted specifically libGL.so It tried to find it in /usr/lib64/ but it wasn't there so it went to /usr/lib/. the ld command found a libGL.so and tried to use the -lGL flag to the 32bit libGL.so but it showed to be incompatible. Used the 'file' command to get some info from /usr/lib/libGL.so and it was a symlink to /usr/lib/libGL.so.1. Aha!? So I created a /usr/lib64/libGL.so symlink targeted to /usr/lib64/libGL.so.1

All is good. Compiled successfully and installed.
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] digikam not starting after installing kde4.10.5 - unable to compile digikam now. camorri Slackware 19 07-25-2013 04:43 PM
[SOLVED] avidemux compile error using slackbuilds.org BCarey Slackware 4 08-18-2011 12:35 PM
digikam no compile micder Slackware 2 02-13-2009 09:10 AM
digikam no compile micder Linux - Software 2 02-12-2009 09:06 AM
digikam 0.6 compile error driving me MAD ! qwijibow Linux - Software 0 07-18-2004 01:06 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 12:02 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration