LinuxQuestions.org
LinuxAnswers - the LQ Linux tutorial section.
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 09-02-2009, 01:48 PM   #1
TSquaredF
Member
 
Registered: Dec 2005
Location: "The South Coast of Texas"
Distribution: Slackware64-current
Posts: 490
Blog Entries: 1

Rep: Reputation: 55
Transcode will not compile in Slackware64-13.0, Multilib


I installed Slackware64-13.0 on this laptop on Sat 20090929. On Mon 20090931 I installed Eric's Multilib. I use sbopkg for most upgrades & last evening I attempted to install the sbopkg queuefile transcode_build.sqf. Everything built properly until it got to the transcode package, during which I got the following:
Code:
gcc -I/usr/include -I/usr/include/libxml2 -Wall -Wstrict-prototypes -Wmissing-prototypes -O2 -fPIC -o tccat tccat-tccat.o tccat-dvd_reader.o tccat-extract_avi.o tccat-fileinfo.o tccat-ioaux.o tccat-ioxml.o tccat-ts_reader.o  ../avilib/.libs/libavi.a /usr/lib64/libdv.so -L/usr/lib /usr/lib64/libdvdread.so /usr/lib/libxml2.so ../aclib/.libs/libac.a ../libtc/.libs/libtc.a -lm -lz -ldl   -Wl,--rpath -Wl,/usr/lib64 -Wl,--rpath -Wl,/usr/lib64
/usr/lib/libxml2.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[3]: *** [tccat] Error 1
make[3]: Leaving directory `/tmp/SBo/transcode-1.1.3/import'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/SBo/transcode-1.1.3/import'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/SBo/transcode-1.1.3'
make: *** [all] Error 2
There is a file "/usr/lib/libxml2.so". There is also a file "/usr/lib64/libxml2.so". I have a desktop machine on which I have also installed Slackware64-13.0, but not Multilib. I have just now tried to install transcode from the .sqf file on the desktop & it worked perfectly. I can only assume (& you know what that does!) that this is some problem with the Multilib install. Is there some way to fix this, or am I safe in installing the package I made on the desktop onto this laptop?
Regards,
Bill
 
Click here to see the post LQ members have rated as the most helpful post in this thread.
Old 09-02-2009, 01:54 PM   #2
Jeebizz
Senior Member
 
Registered: May 2004
Distribution: Slackware 14.1 64-bit with multilib
Posts: 2,075

Rep: Reputation: 210Reputation: 210Reputation: 210
Try the slackbuild here, that might work. I wonder if the slackbuild for that will work on a pure 64-bit system as well? Or will it also do multi-lib as well as regular 32-bit? hrmm.


[edit]

I think that slackbuilds.org should say if the builds for 13 are universal, or specifically for 32-bit, 64-bit, or 64-bit multi-lib. That way it can remove some doubt on the builds.

Last edited by Jeebizz; 09-02-2009 at 01:56 PM.
 
Old 09-02-2009, 01:56 PM   #3
brianL
LQ 5k Club
 
Registered: Jan 2006
Location: Oldham, Lancs, England
Distribution: Slackware & Slackware64 14.1
Posts: 7,044
Blog Entries: 52

Rep: Reputation: Disabled
Could this have anything to do with it? From Eric's article:
Quote:
Compiling 32-bit programs

In case you need to compile a 32-bit program (wine and grub are two examples of open source programs that are 32-bit only) you first configure your shell environment by running the command:

. /etc/profile.d/32dev.sh

Note the 'dot' in front of the filename - that is actually part of the commandline! Running this command changes or creates several environment variables. The effect of this is, that 32-bit versions of binaries are preferred over 64bit binaries when you compile source code - you will be running a 32bit compilation. The effect will last until you logout from your shell.

In this changed environment, you will be able to use standard SlackBuilds to build 32-bit packages for Slackware64. There are two things to keep in mind:

1.
You will have to define the ARCH variable as 'x86_64' even though you are compiling a 32-bit program!
2.
You will have to edit the SlackBuild and if it wants to use 'lib64/' directories for “$ARCH = x86_64”, you will have to force it to use 'lib/' directories instead. Usually, this is accomplished by finding a definition like:

LIBDIRSUFFIX="64"

and changing this line to

LIBDIRSUFFIX=""
 
Old 09-02-2009, 02:04 PM   #4
slackass
Member
 
Registered: Apr 2006
Location: SE Texas
Distribution: Slack64-C ML
Posts: 886

Rep: Reputation: 78
I had a problem with transcode also.
I messed with it quite awhile and then finally installed Slack64 on another partition without multi-lib to build packages on.
Transcode with all the options enabled built and worked on my Multi-Lib system.
Stellarium was another I had to build on my Slack64 non multi-lib system.
So far I've done:
gparted
gnucash <-- the source link for "slib" dosen't work on the SlackBuild site.
transcode
on Slack64 "no-libs" and all worked on the multi-lib system.
 
Old 09-02-2009, 02:29 PM   #5
TSquaredF
Member
 
Registered: Dec 2005
Location: "The South Coast of Texas"
Distribution: Slackware64-current
Posts: 490
Blog Entries: 1

Original Poster
Rep: Reputation: 55
Jeebizz:
Quote:
Try the slackbuild here, that might work. I wonder if the slackbuild for that will work on a pure 64-bit system as well? Or will it also do multi-lib as well as regular 32-bit? hrmm.
That is the slackbuild I ran, & it works well on a pure 64 bit system.
brianL:
As stated, the source/script works OK on a system w/o Multilib. I don't think I would need to install it as 32 bit.
slackass:
The "slib" link must be fixed, I installed gnucash from the .sqf file last night as well & it worked OK. The only reason I installed multilib on this laptop is that my daughter uses it a couple of times a week to play World of Warcraft, which runs OK under Wine. Until someone who knows more than I fixes it, I can compile on the desktop & install on the laptop.
Regards,
Bill

Last edited by TSquaredF; 09-02-2009 at 02:32 PM. Reason: punctuation, responsibilities
 
Old 09-02-2009, 02:58 PM   #6
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 5,313

Rep: Reputation: Disabled
With a multilib system, there is a little more to the story than the SlackBuild scripts of slackbuilds.org tell you.

There is a single line you have to add to that transcode.SlackBuild script so that the lib64 directory will be favoured over the lib directory when you compile 64bit binaries. I include that line in all of my own SlackBuild scripts (http://slackware.com/~alien/slackbuilds/) which is why I never had complaints from Slamd64 users ;-)

Right between the lines:
Code:
CXXFLAGS="$SLKCFLAGS" \
and
Code:
./configure \
add the following line (do not leave empty lines around it!):
Code:
LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \
Now, your compilation will succeed if you set the ARCH variable to "x86_64".

Eric
 
4 members found this post helpful.
Old 09-02-2009, 03:04 PM   #7
slackass
Member
 
Registered: Apr 2006
Location: SE Texas
Distribution: Slack64-C ML
Posts: 886

Rep: Reputation: 78
Thanks Eric!
I know you've heard it before but here it is again:
Thanks for a Fantastic System!!
 
Old 09-02-2009, 04:21 PM   #8
TSquaredF
Member
 
Registered: Dec 2005
Location: "The South Coast of Texas"
Distribution: Slackware64-current
Posts: 490
Blog Entries: 1

Original Poster
Rep: Reputation: 55
AlienBob:
Quote:
add the following line (do not leave empty lines around it!):
Code:

LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \

Now, your compilation will succeed if you set the ARCH variable to "x86_64".
Indeed. That worked fine. Thanks, Eric
Regards,
Bill
 
Old 11-25-2009, 10:27 AM   #9
mattington
LQ Newbie
 
Registered: Sep 2008
Location: Beijing
Distribution: Slackware, Arch
Posts: 10

Rep: Reputation: 0
Ran into the same problem, found this thread, working fine now. I second the thanks to Eric, the multilib packages you put together are serving me great.
 
Old 04-07-2010, 10:39 PM   #10
kite
Member
 
Registered: Aug 2003
Location: Shenzhen, China
Distribution: Slackware
Posts: 301

Rep: Reputation: 47
I also find this thread helpful in building GSB. I think you could add this tip in your multilib wiki...

for example:

sed -i 's/\.\/configure/LDFLAGS\=\"\-L\/usr\/lib\$\{LIBDIRSUFFIX\}\" \.\/configure/g' */*/*.SlackBuild

Last edited by kite; 04-08-2010 at 12:15 AM. Reason: add example for gsb
 
  


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
slackware64 + multilib or simply install 32-bit? [GOD]Anck Slackware 1 08-31-2009 03:51 AM
Kernel Compile and Slackware64 forum1793 Slackware 8 05-30-2009 07:27 AM
Slackware64, trying to compile wine with SBo suid0 Slackware 6 05-27-2009 09:48 AM
cant compile transcode freebies Linux - Software 10 12-18-2005 03:55 AM
Transcode compile error asalford Linux - Software 3 12-17-2003 05:34 PM


All times are GMT -5. The time now is 06:13 PM.

Main Menu
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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration