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.
Which sources exactly do I have to download to build?
Go to any Slackware mirror and go to slackware64-13.0/extra/source/kde3-compat/qt3/ (or just hit the link in the 3rd post.) Download everything in the directory including the profile.d directory.
Code:
mkdir qt3
cd qt3
wget ftp://ftp.slackware.no/pub/linux/slackware/slackware64-current/extra/source/kde3-compat/qt3/*
mkdir profile.d
cd profile.d
wget ftp://ftp.slackware.no/pub/linux/slackware/slackware64-current/extra/source/kde3-compat/qt3/profile.d/*
cd ..
Make sure the .SlackBuild file is executable
Code:
chmod 755 qt3.SlackBuild
Assuming you are running 64-bit, change the ARCH line in the SlackBuild to ARCH=x86_64, save and exit.
Go superuser and run the SlackBuild
Code:
su
./qt3.SlackBuild
This should build a new qt3 with the appropriate links, but it does so in the working /opt/kde3/lib64/qt3 directory. So you need to remove the old package, clean up and reinstall the new good package.
Code:
removepkg qt3
cd /opt/kde3/lib64/
rm -r qt3
installpkg /tmp/qt3-3.3.8b-x86_64-opt2.txz
Well, guys/gals, I hate to say it but none of the above worked for me. I rebuilt qt3, uninstalled the installed one, then installed the new one. Fonts still look like crap. Anyone try anything else?
This is exactly what I did but it didn't work for me either
dlee99
Well, I don't know if you could reinstall/rebuild the other programs now or reset any preferences that might be caching the old fonts. It seems strange that some programs pick up the new "features" of the lib while others don't.
It seems that somewhere in the slackbuild script during configuring it is determined that the package doesn't get built against the required libs (xft,xrender and others?)
I am no expert at all so I was not able to find how the configuring sets the parms to build against the correct libs.
This is what the configuring displays in the terminal during execution of the slackbuild script:
Code:
Build type: linux-g++
Platform notes:
- Also available for Linux: linux-kcc linux-icc linux-cxx
Configuration ....... nocrosscompiler minimal-config small-config medium-config large-config full-config styles tools kernel widgets dialogs iconview workspace network canvas table xml sql opengl release dll thread largefile stl ipv6 system-mng mng system-jpeg jpeg system-png png gif system-zlib bigcodecs x11sm xshape xkb
STL support ......... yes
PCH support ......... no
IPv6 support ........ yes
Thread support ...... yes
NIS support ......... no
CUPS support ........ no
Large File support .. partial
GIF support ......... yes
MNG support ......... yes (system)
JPEG support ........ yes (system)
PNG support ......... yes (system)
zlib support ........ system
OpenGL support ...... yes
NAS sound support ... no
Session management .. yes
XShape support ...... yes
Xinerama support .... no
Tablet support ...... no
Xcursor support ..... no
XRandR support ...... no
XRender support ..... no
Xft support ......... no
XKB Support ......... yes
It seems that somewhere in the slackbuild script during configuring it is determined that the package doesn't get built against the required libs (xft,xrender and others?)
I am no expert at all so I was not able to find how the configuring sets the parms to build against the correct libs.
This is what the configuring displays in the terminal during execution of the slackbuild script:
Code:
Build type: linux-g++
Platform notes:
...
XRandR support ......no
XRender support ..... no
Xft support ......... no
XKB Support ......... yes
I don't know why Xft support got disabled. Actually the SlackBuild enabled Xft explicitly.
Code:
# And here's what we are currently using. The "yes" agrees to the GPL, so don't run this script if you
# don't agree. :-)
echo "yes" | CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./configure \
-prefix /opt/kde3/lib${LIBDIRSUFFIX}/qt3-${VERSION} \
-release \
-system-zlib \
-system-libpng \
-qt-imgfmt-png \
-system-libmng \
-qt-imgfmt-mng \
-system-libjpeg \
-qt-imgfmt-jpeg \
-qt-gif \
-thread \
-stl \
-no-g++-exceptions \
-xft \
-plugin-sql-mysql \
-plugin-style-cde \
-plugin-style-compact \
-qt-style-motif \
-plugin-style-motifplus \
-plugin-style-platinum \
-plugin-style-sgi \
-plugin-style-windows \
-enable-opengl
I think I found something interesting:
1) Use Ctrl+C to break the build progress when running qt3.SlackBuild
2) cd /opt/kde3/lib64/qt3 && ./configure -v -xft #yes, it build the package in /opt/kde3/lib64/qt3
then you can see messages like this:
Code:
...
Xcursor auto-detection... ()
Could not find Xcursor lib anywhere in /usr/X11R6/lib /usr/shlib /usr/lib /lib
Xcursor disabled.
XRandR auto-detection... ()
Could not find XRandR lib anywhere in /usr/X11R6/lib /usr/shlib /usr/lib /lib
XRandR disabled.
XRender auto-detection... ()
Could not find XRender lib anywhere in /usr/X11R6/lib /usr/shlib /usr/lib /lib
XRender disabled.
...
Actually x-libs is in /usr/X11R6/lib64 instead /usr/X11R6/lib (slackware64 box). So, you should add one line
Build type: linux-g++
Platform notes:
- Also available for Linux: linux-kcc linux-icc linux-cxx
Configuration ....... nocrosscompiler minimal-config small-config medium-config large-config full-config styles tools kernel widgets dialogs iconview workspace network canvas table xml opengl sql opengl release dll thread largefile stl ipv6 system-mng mng system-jpeg jpeg system-png png gif system-zlib nis cups bigcodecs x11sm xshape xinerama xcursor xrandr xrender xftfreetype xkb
STL support ......... yes
PCH support ......... no
IPv6 support ........ yes
Thread support ...... yes
NIS support ......... yes
CUPS support ........ yes
Large File support .. partial
GIF support ......... yes
MNG support ......... yes (system)
JPEG support ........ yes (system)
PNG support ......... yes (system)
zlib support ........ system
OpenGL support ...... yes
NAS sound support ... no
Session management .. yes
XShape support ...... yes
Xinerama support .... yes
Tablet support ...... no
Xcursor support ..... yes
XRandR support ...... yes
XRender support ..... yes
Xft support ......... yes
XKB Support ......... yes
which will fully utilize your system. After upgrade with the newly build package, ugly fonts gone in qt3 apps ;D
Thanks Grissiom! That's a really weird one, since /usr/X11R6/lib64 == /usr/lib64 (it's just a symlink), and on an x86_64 Linux system /usr/lib64 _should_ be in the default search path, but as you've discovered qt3 needs to be told. I did verify that -L/usr/lib64 (or -L/usr/lib${LIBDIRSUFFIX}) works just as well. Anyway, thanks again! Very good detective work there.
I guess it worked without that line for some of us because we had the 32-bit compatibility libraries installed. When configure checked for the existence of those libraries, it found that they were there, but it actually found the 32-bit versions. And then it built the qt package with those libraries. The linker then of course managed to link to the correct ones, so the package was ok.
Just guessing, but maybe the Slackbuild also worked ok for Eric because he already had the compat32 support working, but then Pat rebuilt the package without that...
I guess it worked without that line for some of us because we had the 32-bit compatibility libraries installed. When configure checked for the existence of those libraries, it found that they were there, but it actually found the 32-bit versions. And then it built the qt package with those libraries. The linker then of course managed to link to the correct ones, so the package was ok.
Just guessing, but maybe the Slackbuild also worked ok for Eric because he already had the compat32 support working, but then Pat rebuilt the package without that...
Makes sense,
Indeed I don't have the 32bit compat pkgs installed but I'm glad it works now.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.