LinuxQuestions.org
Visit Jeremy's Blog.
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 12-30-2009, 10:16 AM   #1
Alexvader
Member
 
Registered: Oct 2009
Location: Japan
Distribution: Arch, Debian, Slackware
Posts: 994

Rep: Reputation: 94
What changes must be made in a slackBuild from 11.x To build for Slackware64 current?


Hi Forum

There are lots of packages which have mot yet been ported to Slackware64 13 or <current>,

Things like scilab, suitesparse, hdf5, Gnumeric...

In such Slackbuilds, there is a variable that controls the target architecture of the build, which is ARCH...

There are also other settings which default to a standard install in versions of Slackware for 32 bits like /usr/lib instead of /usr/lib64...

My question is... :

Is it reasonable to hack the slackbuild so as to conform to the standards of Slackware64 <currrent>, or are there much deeper incompatibilities than just the ones I pointed out...?

I am refering to standalone libraries and applications, not development packages like Python or gcc... in short...

I am refering to stuff that *DOES NOT EXIST* in Slackware64 <current>... whatever vesion...

BRGDS

Alex
 
Old 12-30-2009, 10:48 AM   #2
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104
In many cases, it will be enough to make sure that lib64 is used instead of lib, that "-fPIC" is added to the CFLAGS and CXXFLAGS, and that "-L/usr/lib64" is added to the LDFLAGS. See the FAQ at http://slackbuilds.org/faq/#x86_64 and a SlackBuild template file (http://slackbuilds.org/templates/template.SlackBuild) for some inspiration.

The number "64" is parametrized in modern SlackBuild scripts by using the variable $LIBDIRSUFFIX which gets the empty value or "64" depending on the architecture (as determined by the ARCH variable).
That is why you see this - and if the old SlackBuilds do not not have this block, then add it:
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
Eric
 
1 members found this post helpful.
Old 12-30-2009, 10:52 AM   #3
Alexvader
Member
 
Registered: Oct 2009
Location: Japan
Distribution: Arch, Debian, Slackware
Posts: 994

Original Poster
Rep: Reputation: 94
Thanks AlienBob

So, for stuff like I refered to... Libraries, standalone applications, there should be no problem in building the packages, and installing them in SL64...?

Nice...

I just do not understand How Paraview dropped stuff into /usr/lib..

It was packaged with src2pkg...

BRGDS

Alex
 
Old 12-30-2009, 11:07 AM   #4
Alexvader
Member
 
Registered: Oct 2009
Location: Japan
Distribution: Arch, Debian, Slackware
Posts: 994

Original Poster
Rep: Reputation: 94
"It is said that two Tigers cannot live in the same Mountain"...

I remember someone in this forum saying the two versions of Python can coexist in the same computer, the libraries and shared objects install to different folders... "python" is only a symlink to the active version in the system...

So I ask, in case i do all the preparation you instructed me to, regarding the Salckbuild for Python 2.5.2, is it safe to install the created package in a freshly installed Slackware...?

BRGDS

Alex
 
Old 12-30-2009, 01:21 PM   #5
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104Reputation: 8104
It was I who said that in another post.
You can install 2.5 and 2.6 versions alongside, and the second package will overwrite the /usr/bin/python and some other symlinks, as well as a few binaries, also in /usr/bin.

If you primarily care for the python libs but want the invocation of "python" to start /usr/bin/python2.6 then I would suggest to act as follows: build and install a 64-bit version of python 2.5 on top of your Slackware64 system. Then restore the overwritten parts of python2.6 by finding the original Slackware python2.6 package on your DVD and running
Code:
upgradepkg --reinstall python-2.6.4-x86_64-1.txz
After that, you should still have a fully operational Slackware, and have python2.5 added on top, and programs looking specifically for it would find it.

I would be very interested if that will indeed work out well for you. If not, it may be needed to pass explicit python flags to your SlackBuild scripts that need this.

Eric
 
1 members found this post helpful.
Old 12-30-2009, 01:38 PM   #6
Alexvader
Member
 
Registered: Oct 2009
Location: Japan
Distribution: Arch, Debian, Slackware
Posts: 994

Original Poster
Rep: Reputation: 94
Hi AlienBob,

So this means that when specifically invoking python2.5 in bash ( to run a compilation script which calls for Python2.5 )

I would run something like #/usr/..../python2.5/python myPythonScript.py, and it would find its way to Py 2.5 components despite the fact that #python -V would report 2.6.x ( the active symlink in /usr/bin pointing to Py2.6.x ) ?

Cool...

I ask this because I am about to format, install SL64 13, upggarde to <current>, and rebuild most of my stuff...

BRGDS

Alex

BTW: I kept all my slackbuild tarballs in an external HDD, just in case my packages were trashy, which happened to be, at least for some of them...
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
How can I make PyQt4 slackbuild compile in Slackware64 <current>...? Alexvader Slackware 9 12-30-2009 07:45 AM
For the Krusader fans on slackware64 slackbuild ROXR Slackware 0 07-20-2009 06:03 PM
Slackware64 -current made public! bsdunix Slackware 289 06-19-2009 12:15 AM
LXer: Slackware64 -current made public! LXer Syndicated Linux News 3 05-21-2009 12:02 PM

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

All times are GMT -5. The time now is 03:07 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