LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Transcode will not compile in Slackware64-13.0, Multilib (http://www.linuxquestions.org/questions/slackware-14/transcode-will-not-compile-in-slackware64-13-0-multilib-752172/)

TSquaredF 09-02-2009 02:48 PM

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

Jeebizz 09-02-2009 02:54 PM

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? :scratch: 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. :jawa:

brianL 09-02-2009 02:56 PM

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=""


slackass 09-02-2009 03:04 PM

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.

TSquaredF 09-02-2009 03:29 PM

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

Alien Bob 09-02-2009 03:58 PM

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

slackass 09-02-2009 04:04 PM

Thanks Eric!
I know you've heard it before but here it is again:
Thanks for a Fantastic System!!

TSquaredF 09-02-2009 05:21 PM

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

mattington 11-25-2009 11:27 AM

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.

kite 04-07-2010 11:39 PM

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


All times are GMT -5. The time now is 06:17 AM.