LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   digikam fails to compile (https://www.linuxquestions.org/questions/slackware-14/digikam-fails-to-compile-4175455794/)

Bazzaah 03-27-2013 10:07 AM

digikam fails to compile
 
Following recent updates, it looked like I need to update Digikam since my existing install won't start because it can't find libmarblewidget. A quick Google suggests that it needs redoing following updates.

When I run digikam's sanity test, I get the message;

Code:

Unable to load library icui18n "Cannot load library icui18n: (libicui18n.so.49: cannot open shared object file: No such file or directory)"
Unable to load library icui18n "Cannot load library icui18n: (libicui18n.so.49: cannot open shared object file: No such file or directory)"
Unable to load library icui18n "Cannot load library icui18n: (libicui18n.so.49: cannot open shared object file: No such file or directory)"
CMake Error: The source directory "/home/slack/Downloads/digikam-3.0.0" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

The Slackbuild fails as well.

I've built it a couple of times in the past and it's always been fine.

I know there was a recent QT update which might have caused that error to appear but my system's (64 current) up to date.

Any ideas?

willysr 03-27-2013 10:49 AM

have you tried to upgrade to 3.1.0?
i have 3.1.0 running fine even on latest update on Current today

Bazzaah 03-27-2013 10:59 AM

Yes I have. It's more successful with bootstrap.linux (i.e. more output) but still fails with the same error.

EDIT just ran compilation of 3.10 again and got this fail

Code:

/usr/lib64/gcc/x86_64-slackware-linux/4.7.2/../../../../x86_64-slackware-linux/bin/ld: warning: libImath.so.6, needed by /usr/lib64/libopencv_highgui.so.2.4, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-slackware-linux/4.7.2/../../../../x86_64-slackware-linux/bin/ld: warning: libIlmImf.so.6, needed by /usr/lib64/libopencv_highgui.so.2.4, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-slackware-linux/4.7.2/../../../../x86_64-slackware-linux/bin/ld: warning: libIex.so.6, needed by /usr/lib64/libopencv_highgui.so.2.4, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-slackware-linux/4.7.2/../../../../x86_64-slackware-linux/bin/ld: warning: libHalf.so.6, needed by /usr/lib64/libopencv_highgui.so.2.4, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-slackware-linux/4.7.2/../../../../x86_64-slackware-linux/bin/ld: warning: libIlmThread.so.6, needed by /usr/lib64/libopencv_highgui.so.2.4, not found (try using -rpath or -rpath-link)
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::Header::channels()'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::Chromaticities::Chromaticities(Imath::Vec2<float> const&, Imath::Vec2<float> const&, Imath::Vec2<float> const&, Imath::Vec2<float> const&)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::Header::~Header()'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::OutputFile::OutputFile(char const*, Imf::Header const&, int)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::hasChromaticities(Imf::Header const&)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::ChannelList::insert(char const*, Imf::Channel const&)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::Header::Header(int, int, float, Imath::Vec2<float> const&, float, Imf::LineOrder, Imf::Compression)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::globalThreadCount()'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::OutputFile::writePixels(int)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::chromaticities(Imf::Header const&)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::OutputFile::setFrameBuffer(Imf::FrameBuffer const&)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::InputFile::header() const'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::OutputFile::~OutputFile()'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::InputFile::InputFile(char const*, int)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::InputFile::setFrameBuffer(Imf::FrameBuffer const&)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `half::_eLut'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::Channel::Channel(Imf::PixelType, int, int, bool)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::Header::dataWindow() const'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::Slice::Slice(Imf::PixelType, char*, unsigned long, unsigned long, int, int, double, bool, bool)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::ChannelList::findChannel(char const*) const'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::InputFile::readPixels(int, int)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::Header::channels() const'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `Imf::FrameBuffer::insert(char const*, Imf::Slice const&)'
/usr/lib64/libopencv_highgui.so.2.4: undefined reference to `half::convert(int)'
collect2: error: ld returned 1 exit status
make[2]: *** [extra/libkface/test/detect] Error 1
make[1]: *** [extra/libkface/test/CMakeFiles/detect.dir/all] Error 2
make: *** [all] Error 2


willysr 03-27-2013 11:08 AM

Do you mind test using my SlackBuilds ?
please make sure you have all the deps installed

willysr 03-27-2013 11:12 AM

you have to recompile OpenCV due to changes in -Current then digiKam will work again :)

kr4ey 03-27-2013 04:55 PM

Running digiKam 3.10 on Slackware stable with no problem. Used the slackBuild at SlackBuilds.org

gargamel 03-27-2013 05:09 PM

Yep, I have digikam 3.1.0 running here on Slackware64-current with all updates up to today, too, and can only recommend all digikam users to upgrade to 3.1.0! Although rebuilding OpenCV took ages, I have already processed 250+ RAW images with the showfoto application, and didn't see any of the annoyances of all previous versions, such as the application not responding for several minutes, just getting slow, or occasionally crashing.

Thanks for making your SlackBuild script available, Willy!

gargamel

Bazzaah 03-27-2013 06:00 PM

Thanks chaps.

Bazzaah 03-28-2013 08:45 AM

EDIT For some reason, it's now compiled without difficulty and works fine - thanks for the help.

cwizardone 03-28-2013 10:11 PM

I've tried several times to compile OpenCV and it fails each and every time. SBOpkg can't find the source code and returns the 404 error. I found it at the OpenCV site and it took several tries and a long session to finally download the file. It is verison 2.4.4a.

When I run the SlackBuild script it returns the error,

./opencv.SlackBuild: line 65: cd: OpenCV-2.4.4a: No such file or directory

If I change the version number in the SlackBuild script to 2.4.4a it returns the error:

./opencv.SlackBuild: line 65: cd: OpenCV-2.4.4: No such file or directory

Can't win.
:)

willysr 03-28-2013 10:18 PM

use my SlackBuilds :)

Daedra 03-28-2013 11:21 PM

Quote:

Originally Posted by cwizardone (Post 4920864)
I've tried several times to compile OpenCV and it fails each and every time. SBOpkg can't find the source code and returns the 404 error. I found it at the OpenCV site and it took several tries and a long session to finally download the file. It is verison 2.4.4a.

When I run the SlackBuild script it returns the error,

./opencv.SlackBuild: line 65: cd: OpenCV-2.4.4a: No such file or directory

If I change the version number in the SlackBuild script to 2.4.4a it returns the error:

./opencv.SlackBuild: line 65: cd: OpenCV-2.4.4: No such file or directory

Can't win.
:)

I maintain the OpenCV slackbuild @ www.slackbuids.org. Thanks for the heads up, Ill look into the problem.

Bazzaah 03-29-2013 01:59 AM

Quote:

Originally Posted by cwizardone (Post 4920864)
I've tried several times to compile OpenCV and it fails each and every time. SBOpkg can't find the source code and returns the 404 error. I found it at the OpenCV site and it took several tries and a long session to finally download the file. It is verison 2.4.4a.

When I run the SlackBuild script it returns the error,

./opencv.SlackBuild: line 65: cd: OpenCV-2.4.4a: No such file or directory

If I change the version number in the SlackBuild script to 2.4.4a it returns the error:

./opencv.SlackBuild: line 65: cd: OpenCV-2.4.4: No such file or directory

Can't win.
:)

I compiled OpenCV from source and it worked fine, so you could always give that a go.

willysr 03-29-2013 02:43 AM

Its eaasier to maintain if you want to remove or change the prefix in the future

cwizardone 03-29-2013 09:35 AM

Quote:

Originally Posted by willysr (Post 4920865)
use my SlackBuilds :)

Thanks, willysr.
Your script and patch worked like a charm.
:hattip:

vdemuth 04-01-2013 01:14 AM

Fails at the very end with this error

Code:

-- Installing: /tmp/build/package-digikam/usr/share/locale/zh_TW/LC_MESSAGES/kipiplugin_advancedslideshow.mo
-- Installing: /tmp/build/package-digikam/usr/share/locale/zh_TW/LC_MESSAGES/kipiplugin_flashexport.mo
-- Installing: /tmp/build/package-digikam/usr/share/locale/zh_TW/LC_MESSAGES/kipiplugin_gpssync.mo
-- Installing: /tmp/build/package-digikam/usr/share/locale/zh_TW/LC_MESSAGES/libkipi.mo
-- Installing: /tmp/build/package-digikam/usr/share/locale/zh_TW/LC_MESSAGES/kipiplugin_metadataedit.mo
-- Installing: /tmp/build/package-digikam/usr/share/locale/zh_TW/LC_MESSAGES/kipiplugin_batchprocessimages.mo
cat: /home/xxx/Downloads/digikam/digikam.SlackBuild: No such file or directory

That's another 3 hours I'll never get back again.

Please don't take this the wrong way as I have a great deal of both sympathy and admiration for those who have the time to build from source, including sharing their findings with the wider user base, so many thanks for that.
But I've just grabbed the wifes lappy, and the whole process has taken less than 10 minutes thanks to dependency resolution and a much more widely tested software repository, so am currently using that for my photo management and being able to use the computer for what it's designed for rather than spend hours unproductively waiting for compiling/building only to see it fail is almost pushing me to another distro after more than 8 years of using Slackware. So frustrating that it should all be so difficult and long winded in the 21st century.

willysr 04-01-2013 01:27 AM

By any chance, did you rename the digikam.SlackBuild to another name?

Bazzaah 04-01-2013 02:49 AM

I have found that installations of Digikam and Amarok have failed if I use 'sudo make install' for example instead of 'su' then 'make install'.

willysr 04-01-2013 03:11 AM

If you use slackbuilds, it's supposed to be run using su or su - not sudo

ponce 04-01-2013 03:46 AM

I think he builds and installs directly from source (and I'm wondering how he manages to remove old stuff when he needs to upgrade).

gargamel 04-01-2013 05:13 AM

Quote:

Originally Posted by willysr (Post 4922493)
By any chance, did you rename the digikam.SlackBuild to another name?

Just guessing based on my own experience, but still hoping it helps vdemuth to track the problem down.

In my experience 9 out of ten such problems are caused by wrong file access mode or user privileges. Just guessing, but did you take into account that digikam.SlackBuild is one of the following?

1. It is readable and has to be called this way:
Code:

$ su -c "sh digikam.SlackBuild"
OR that it is

2. It is readable and executable and thus can alternatively called like so:
Code:

su -c "./digikam.SlackBuild"
Sometimes obsolete stuff in /tmp may cause trouble, so ensure to wipe all stuff related to building digikam from there. Finally, I occasionally had problems on multilib systems, when the build script picked 32-bit libraries, although it was supposed to pick 64-bit stuff. In the last case the only reliable (!) workaround I found was to build the package on a pure 64-bit system and transfer the binary package to the target machine.

gargamel

gargamel 04-01-2013 05:15 AM

Quote:

Originally Posted by ponce (Post 4922563)
I think he builds and installs directly from source (and I'm wondering how he manages to remove old stuff when he needs to upgrade).

Yeah, part of his posts seems to suggest this, but then in the error output he has:

Code:

cat: /home/xxx/Downloads/digikam/digikam.SlackBuild: No such file or directory
Building directly from source wouldn't yield this message, I guess... ;)

gargamel

willysr 04-01-2013 05:26 AM

My only assumption during the process it was moved, deleted, or renamed by other process or he renamed it before the compilation start

vdemuth 04-01-2013 10:44 AM

Quote:

Originally Posted by ponce (Post 4922563)
I think he builds and installs directly from source (and I'm wondering how he manages to remove old stuff when he needs to upgrade).

How wrong you are:)

Quote:

By any chance, did you rename the digikam.SlackBuild to another name?
Anyway, can't believe I made such a fundamental error, and managed to name the SlackBuild as Slackbuild without the capitalised B.

All up and running now.

Still stand by what I said about things really ought to be simpler in the 21st Century:), but happy it's resolved.

ponce 04-01-2013 10:49 AM

Quote:

Originally Posted by vdemuth (Post 4922824)
How wrong you are:)

sorry if I wasn't clear, I was responding to willysr following the post by Bazzaah.

vdemuth 04-01-2013 11:04 AM

Apologies for the mix up this end.

ponce 04-01-2013 11:06 AM

no prob at all, I should have specified that I was referring to him ;) (also gargamel thought I was referring to you)

Bazzaah 04-01-2013 01:01 PM

Quote:

Originally Posted by ponce (Post 4922563)
I think he builds and installs directly from source (and I'm wondering how he manages to remove old stuff when he needs to upgrade).

Less than ideal but I tend just to delete the executable from /usr/bin - a messed up kind of reinstall. That said, the few programs I compile myself work very well and I don't get any error messages so it can't be that bad.

I should learn how to write a couple of SlackBuilds - that would be cleaner and make for easier maintenance.

ponce 04-01-2013 01:22 PM

Quote:

Originally Posted by Bazzaah (Post 4922921)
Less than ideal but I tend just to delete the executable from /usr/bin - a messed up kind of reinstall. That said, the few programs I compile myself work very well and I don't get any error messages so it can't be that bad.

Let me say I wouldn't count on it at all ;)
This way you will have old versions of stuff (libraries and whatever else get installed besides the binaries) laying around your filesystem and many strange and unexpected things can happen, not to say that it's very difficult to recover a clean installation from this situation.

If you prefer to have a clean system, use only slackbuild scripts to create packages and install those.

Bazzaah 04-01-2013 02:05 PM

I take your points 100% but I only compile Digikam and Clementine so I'm not too worried, most (out of not many) installations I do through sbopkg.

What's the best SlackBuilds tut in your opinion?

BroX 04-01-2013 10:50 PM

In order to keep it 'clean', you can still create a package when installing from source. That way you still keep track of the installed files:

After the usual ./configure and make bit, create a temporary build directory

Code:

$ mkdir /tmp/package-build
As root, make install with that build directory as destination

Code:

# DESTDIR=/tmp/package-build make install
And create a slackware package

Code:

# cd /tmp/package-build
# makepkg /tmp/package-version.txz


Bazzaah 04-02-2013 02:08 AM

Thanks Brox!


All times are GMT -5. The time now is 11:24 PM.