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've been following Slackware64-current on one of my machines for some time now and it has proven very stable. I have no need for 32-bit software, so I'll probably switch totally to Slackware64 when it is released.
For some packages I compiled 64-bit versions using the scripts from Slackbuilds.org
I noticed that many SlackBuild scripts already are prepared for Slackware64 with these lines:
Code:
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
fi
I put "export ARCH=x86_64" in my ~/.bash_profile and all works fine.
But I wonder if this is enough to keep things clean...
For instance, the libburn and libisofs SlackBuilds put the libraries in /usr/lib instead of /usr/lib64
So my question is:
Should I alter the SlackBuild scripts (like in the "./configure" part) to use the /usr/lib64 folders, or leave it as it is? The software runs fine with the libraries in /usr/lib of course.
Or should I just be patient and wait for an official Slackware64 release and a Slackware64-section on SlackBuilds.org?
I would advocate porting the script 'properly', which is to say:
Code:
LIBDIRSUFFIX=""
if ...
elif [ "$ARCH" = "x86_64" ]; then
...
LIBDIRSUFFIX=64
fi
...
configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX}
A lot (all? most?) of Eric's scripts already do something similar to this. Usual package creation rules apply - make sure you know the build system and double check to see if your libraries (and *.pc files) are ending up in the right place, or if you need to add some extra options (--package-config-dir=/usr/lib${LIBDIRSUFFIX} as an imaginary example) to land everything in the right place. If it's 64-bit and it's not in lib64, it's wrong
Unlike 5 years ago when I started messing with this, pretty much everything will build very happily on 64 bit without too much coercion. If you want a second opinion on 64 build scripts, try http://builds.slamd64.com/ (also compatible with sbopkg I think). Between that an SBo, you've probably got your bases covered.
One useful trick if things are not playing nice, is throwing in extra linker flags. Something I got very used to typing:
The SlackBuilds.org template was updated after slackware64-current was made public.
The LIBDIRSUFFIX parts will have to be added to any build that does not have it already,
even with these changes many things will not build a proper x86_64 package.
Code:
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
fi
uhm, my bad, I should have checked the updated template on SlackBuilds.org
OK, so I'll alter the SlackBuilds with this simple addition and do some testing later tonight.
If it works fine (I guess it will), I'll contact the authors of the SlackBuild scripts that do not follow the newer template and suggest the changes.
If it works fine (I guess it will), I'll contact the authors of the SlackBuild scripts that do not follow the newer template and suggest the changes.
Hold off on that, submissions are closed right now and they would not be able to update them. Also there is a very good chance it will be fix when 13.0 is released.
Hold off on that, submissions are closed right now and they would not be able to update them. Also there is a very good chance it will be fix when 13.0 is released.
I understand that after the release of Slackware 13.0 at least e new category will be started in SlackBuilds.
But will all SlackBuild scripts have to pass through a new evaluation to be listed as "13.0 compatible"?
Or will there be a category for "64-bit compatible"?
Some SlackBuild scripts need to be split because they use different "sources" for 32 & 64 bit (Opera comes to mind).
Others simply won't be available for 64-bits, like GoogleEarth, since there is no 32-bits "source" available.
Ah well, I'll just wait for the new release and see what will happen.
I understand that after the release of Slackware 13.0 at least e new category will be started in SlackBuilds.
But will all SlackBuild scripts have to pass through a new evaluation to be listed as "13.0 compatible"?
Or will there be a category for "64-bit compatible"?
Some SlackBuild scripts need to be split because they use different "sources" for 32 & 64 bit (Opera comes to mind).
Others simply won't be available for 64-bits, like GoogleEarth, since there is no 32-bits "source" available.
Ah well, I'll just wait for the new release and see what will happen.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.