SlackwareThis Forum is for the discussion of Slackware Linux.
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.
I'm trying to install OpenCASCADE via the slackbuilds.org script
The build runs fine, until a point, where it halts with the error: /usr/lib/libXext.so: could not read symbols: File in wrong format
ie. it is trying to use a the 32-bit libXext instead of the 64-bit one. I have checked the SlackBuild script and it seems to my eyes that the libraries are set correctly to use the libdirsuffix; indeed, all the libraries until this point in the compile are sourced correctly for /usr/lib64, so why is it looking in /usr/lib for this one? And how do I fix it?
I should also mention that I'm doing this through sbopkg as opposed to manually from console..
I'm unsure exactly how to pinpoint where the error occurs. I'm re-running the compile now and will attach a screenshot here once it fails.. would that help?
I wish to run the latest version (10.xx) of FreeCAD... do you know if I would need OpenCASCADE 6.4 for that, or would 6.3 be OK?
FYI, tried (for fun ) to build it on -current multilib with sp9 instead of 6 and all went well.
but, if it's a link-time error, could be also that, on multilib, forcing LDFLAGS in a line before the CFLAGS' one in the slackbuild could do, like this
this got into a bloodbath (at least for me, hope I am not too OT ): I've gone on building FreeCAD (and deps) on -current multilib and I stumbled in this while building FreeCAD itself
Code:
ld: cannot find -ljscore
I looked around a little and what I seem to have found is: if you run configure of qt-4.7.0 activating webkit, when you run make it actually builds libjscore.a and libjscore.prl, but the make install forgets about it and doesn't copy them in the $PKG folder. (looks like there are otherreports)
so I hacked qt.SlackBuild a little
Code:
@@ -184,6 +184,13 @@
done
)
+# seems make install forgot about these
+cp src/3rdparty/webkit/JavaScriptCore/release/libjscore.* $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib
+
+# fix wrong hardcoded build paths in pkgconfig and *.prl files
+sed -i "s,$TMP/qt-$VERSION,/usr/lib${LIBDIRSUFFIX}/qt,g" $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/*.pc
+sed -i "s,$TMP/qt-$VERSION,/usr/lib${LIBDIRSUFFIX}/qt,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.prl
+
# Add a documentation directory:
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a *GPL_EXCEPTION* FAQ* INSTALL KNOWN* LICENSE* README* changes-* \
(I spotted the second fix here)
and with the rebuilt qt he got its libjscore and was happy (for the moment).
But, as I am on multilib, another bugger arised: the linker refused to link /usr/lib64/../lib/libstdc++.so.
This is obvious, is a 32bit library, but I wasn't able to get where in his build configuration file was constructing this wrong path (that can happen if you don't know where to look :P )
I tried with the LDFLAGS trick but my ld-fu wasn't strong enough.
then I stumbled in this nice message and tried the LDEMULATION triple-kick, but it laughed at me.
as a last resort, I tried the second suggestion that Master Ken cite in the message above, and punched him indaface changing the linker
for the record, I was trying this later linker stuff with FreeCAD 0.10.3205 and had to do other modifications to the slackbuild (turned off debug too): result is a not-so-much working FreeCAD, because it cannot find any module (but I'll have a look on that too. It's like Terminator: you think you got him but he gets back on his feet ).
sorry for the long post but maybe it's useful to know about it.
P.S. happy note: after that qt fiddling, I made also a qt-4.7.1 (from the corresponding branch) package and is running nice on my desktop with alien's kde.
Last edited by ponce; 01-29-2011 at 02:41 AM.
Reason: fixed libjscore library name
I don't use multilib. I use "pure" 64-bits.
If something does not run on 64-bits means that it's badly written or it's a closed-source binary - and I want nothing to do with either.
Well, not really. The LDFLAGS issue is quite common, and most likely affects quite some amount of scripts on SlackBuilds.org, hence the FAQ entry
The only things I tend to fix/report are if the script doesn't succeed with only multilib gcc/glibc installed, because 99% of the scripts do. But that's already pretty borderline stuff for SBo.
Very nice work, Ponce. I haven't got around to FreeCAD yet.. man that looks nightmarish.
yes, but without trying to do it I wouldn't have found that qt thingie
Quote:
May I ask whose Slackbuild you started off with for Qt 4.7? And how much extra work is it to get a working FreeCAD 10.xx?
for qt you can use the standard one (adding that "cp src..." as shown in the patch above)
if you want to try 4.7.1, as written in the slackbuild, it's using the kde-qt branches on gitorious, so
Code:
git clone git://gitorious.org/+kde-developers/qt/kde-qt.git
QTVER=4.7.1
cd kde-qt
git archive origin/$QTVER-patched > ../tmp.tar
git checkout origin/$QTVER-patched
QTCOMMIT=$( git log -1 | head -1 | cut -c 8-14 )
mkdir ../qt-${QTVER}_${QTCOMMIT}
cd ../qt-${QTVER}_${QTCOMMIT}
tar xf ../tmp.tar
cd ..
rm tmp.tar
tar Jcf qt-${QTVER}_${QTCOMMIT}.tar.xz qt-${QTVER}_${QTCOMMIT}
at the end you will have two folder, kde-qt and qt-4.7.1_somecommit, and a qt-4.7.1_somecommit.tar.xz: put this one in the qt build folder instead on the qt-4.7.0*.tar.xz and launch the build.
for the "working" freecad cannot tell yet cause here still cannot see its mods
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.