LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
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 05-26-2009, 02:59 PM   #1
JanZamoyski
LQ Newbie
 
Registered: May 2009
Location: Gdansk, Poland
Distribution: slackware64-14.0
Posts: 7

Rep: Reputation: 1
Building wine on Slackware64


Hello,

As you all probably know, the initial version of Slackware64 didn't support the gcc multilib option and thus compiling of 32-bit based applications was impossible out of the box.

I thought that I will end up with the chroot solution, but then I've spotted the Slackware64 changelog update (the 25th of May), which could save me from the chroot.

But again compiling wine with updated packages failed and there's still the '--disable-multilib' option specified when asking compiler:

Code:
gcc -m32 -v
So is it possible to compile wine with the latest slackware64 update?

Best Regards,
A.
 
Old 05-26-2009, 11:32 PM   #2
kingbeowulf
Senior Member
 
Registered: Oct 2003
Location: WA
Distribution: Slackware
Posts: 1,264
Blog Entries: 11

Rep: Reputation: 744Reputation: 744Reputation: 744Reputation: 744Reputation: 744Reputation: 744Reputation: 744
Re: Building wine on Slackware64

You may need a few extra items. Run over to http://www.slamd64.com/download and in particular check out the slamd64/slackware64-current directory. There are a number of packages for the a, d, l, n, x series. From the readme:

Quote:
This directory contains the start of 32-bit compatibility packages for
Slackware64-current.

Tested with:
- Skype (dynamic build)
- RTCW: ET
- Wine (built withs script from builds.slamd64.com)

Slamd64's c/ set isn't quite right for this purpose; my goal with these
packages is to add 32-bit compatibility as unobtrusively as possible.
...
Enjoy.
 
Old 05-27-2009, 02:18 AM   #3
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,096

Rep: Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173
best news ever (Enemy Territory on 64 bit desktop)!
tnx Fred, youdaman!

an' tnx also to beowulf have let us know

finally I can install slack64 at home.
 
Old 05-27-2009, 04:08 AM   #4
samac
Senior Member
 
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425

Rep: Reputation: 139Reputation: 139
Just tried a compile after adding the compatibility libraries on Fred's site. I got the following error in the config.log created in the slackbuild build directory.
Quote:
gcc (GCC) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2734: $? = 0
configure:2741: gcc -v >&5
Reading specs from /usr/lib64/gcc/x86_64-slackware-linux/4.3.3/specs
Target: x86_64-slackware-linux
Configured with: ../gcc-4.3.3/configure --prefix=/usr --libdir=/usr/lib64 --enable-shared --enable-bootstrap --enable-languages=ada,c,c++,fortran,java,objc --enable-threads=posix --enable-checking=release --with-system-zlib --disable-libunwind-exceptions --enable-__cxa_atexit --enable-libssp --with-gnu-ld --verbose --disable-multilib --target=x86_64-slackware-linux --build=x86_64-slackware-linux --host=x86_64-slackware-linux
Thread model: posix
gcc version 4.3.3 (GCC)
configure:2745: $? = 0
configure:2752: gcc -V >&5
gcc: '-V' option must have argument
configure:2756: $? = 1
configure:2779: checking for C compiler default output file name
configure:2801: gcc -O2 -march=i486 -mtune=i686 conftest.c >&5
conftest.c:1: error: CPU you selected does not support x86-64 instruction set
configure:2805: $? = 1
configure:2843: result:
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "Wine"
| #define PACKAGE_TARNAME "wine"
| #define PACKAGE_VERSION "1.1.20"
| #define PACKAGE_STRING "Wine 1.1.20"
| #define PACKAGE_BUGREPORT "wine-devel@winehq.org"
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:2849: error: in `/tmp/SBo/wine-1.1.20':
configure:2852: error: C compiler cannot create executables
See `config.log' for more details.
As you can see from the bold entries the slackbuild has been overruled by gcc. I specified --libdir=/usr/lib in the slackbuild, and i486 as the architecture, it also shows that it is not allowing multi-lib.

I would appreciate it if someone could suggest a way to overcome this.

samac
 
Old 05-27-2009, 04:29 AM   #5
pwc101
Senior Member
 
Registered: Oct 2005
Location: UK
Distribution: Slackware
Posts: 1,847

Rep: Reputation: 128Reputation: 128
Quote:
Originally Posted by samac View Post
I specified --libdir=/usr/lib in the slackbuild, and i486 as the architecture, it also shows that it is not allowing multi-lib.
Hasn't this been fixed in slackware64-current?
Quote:
Originally Posted by ChangeLog
Mon May 25 17:52:56 CDT 2009
a/cryptsetup-1.0.6-x86_64-1.txz: Upgraded to cryptsetup-1.0.6.
d/binutils-2.18.50.0.9-x86_64-2.txz: Changes to enable multilib support.
Thanks to Fred Emmott.
d/gcc-4.3.3-x86_64-4.txz: Changes in specs file to enable multilib support.
Thanks to Fred Emmott.
d/gcc-g++-4.3.3-x86_64-4.txz: Recompiled.
d/gcc-gfortran-4.3.3-x86_64-4.txz: Recompiled.
d/gcc-gnat-4.3.3-x86_64-4.txz: Recompiled.
d/gcc-java-4.3.3-x86_64-4.txz: Recompiled.
d/gcc-objc-4.3.3-x86_64-4.txz: Recompiled.
xap/MPlayer-r29322-x86_64-1.txz: Upgraded to revision r29322.
isolinux/initrd.img: Rebuilt.
usb-and-pxe-installers/usbboot.img: Rebuilt.
Emphasis mine.
 
Old 05-27-2009, 04:37 AM   #6
vinegaroon
Member
 
Registered: Sep 2008
Posts: 99

Rep: Reputation: 21
Wow great to see those packages from Fred. Will try.
 
Old 05-27-2009, 06:54 AM   #7
samac
Senior Member
 
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425

Rep: Reputation: 139Reputation: 139
pwc101

I have upgraded to these packages and the error message you see is with those packages and the entirety of Fred's work.

samac
 
Old 05-27-2009, 07:10 AM   #8
pwc101
Senior Member
 
Registered: Oct 2005
Location: UK
Distribution: Slackware
Posts: 1,847

Rep: Reputation: 128Reputation: 128
Quote:
Originally Posted by samac View Post
pwc101

I have upgraded to these packages and the error message you see is with those packages and the entirety of Fred's work.

samac
Ah, fair enough then. Sorry, can't help further.
 
Old 05-27-2009, 07:11 AM   #9
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106
You still have to specify x86_64 (not i486) as the $ARCH, even though you are building 32bit binaries by adding "-m32" to gcc.

Eric
 
Old 05-27-2009, 09:26 AM   #10
samac
Senior Member
 
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425

Rep: Reputation: 139Reputation: 139
Quote:
You still have to specify x86_64 (not i486) as the $ARCH, even though you are building 32bit binaries by adding "-m32" to gcc.
OK Eric I will try that as my next experiment.

I managed to get it to build by not using the slackbuild with
Code:
PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig ./configure --prefix=/usr
although this gave me quite a few errors on first startup.

samac
 
Old 05-27-2009, 09:46 AM   #11
samac
Senior Member
 
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425

Rep: Reputation: 139Reputation: 139
Quote:
Quote:
You still have to specify x86_64 (not i486) as the $ARCH, even though you are building 32bit binaries by adding "-m32" to gcc.
OK Eric I will try that as my next experiment.
WORKED

The new gcc and binutils used in conjunction with the compatibility libraries on Slamd's site, work with the wine.Slackbuild when x86_64 is used as the $ARCH. No other modification is required to the slackbuild.

Thanks Eric.

samac
 
Old 06-12-2009, 01:51 AM   #12
Shingoshi
Member
 
Registered: Oct 2006
Location: Cochise County, Arizona
Distribution: Gentoo-AMD64 / Slackware64-Current
Posts: 474
Blog Entries: 28

Rep: Reputation: 34
Building 64-bit, and still getting errors...

Quote:
Originally Posted by Alien Bob View Post
You still have to specify x86_64 (not i486) as the $ARCH, even though you are building 32bit binaries by adding "-m32" to gcc.

Eric
No matter what I do, I can't get rid of this:
configure: error: C compiler cannot create executables


IT SEEMS I FINALLY DID GET RID OF IT. Read below:
All of these are set as well:
--build="x86_64-slackware-linux" --host="x86_64-slackware-linux" --target="x86_64-slackware-linux" CC="gcc -m64" CFLAGS="-march=x86_64 -fPIC"

I just found out that "-march=x86_64 -fPIC" is incorrect. It needs to be set here as x86-64
Once I changed that, I was able to finally run configure without further errors.

I just want anyone who reads this to see that multilib is still disabled:

Target: x86_64-slackware-linux
Configured with: ../gcc-4.3.3/configure --prefix=/usr --libdir=/usr/lib64 --enable-shared --enable-bootstrap --enable-languages=ada,c,c++,fortran,java,objc --enable-threads=posix --enable-checking=release --with-system-zlib --disable-libunwind-exceptions --enable-__cxa_atexit --enable-libssp --with-gnu-ld --verbose --disable-multilib --target=x86_64-slackware-linux --build=x86_64-slackware-linux --host=x86_64-slackware-linux

And that's with the latest version of gcc (reinstalled just to make sure).
/pub/packages/slapt-get/./slackware64/d/gcc-4.3.3-x86_64-4.txz

Even with finally getting configure to run (after all of these failed attempts), it is still obvious here that the build won't be multilib.
CORRECTION REQUIRED: --enable-multilib has to set in configure for every build.

Shingoshi

Last edited by Shingoshi; 06-12-2009 at 02:51 AM.
 
Old 06-12-2009, 03:44 AM   #13
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106
That --disable-multilib has nothing to do with the fact that gcc would not "support" a multilib environment. It only means that the gcc build will not produce the 32bit compilers, only the 64bit compilers. There is a difference!

If you look at the gcc.SlackBuild which Fred Emmott published as part of his 32bit compatibility set for Slackware64 at ftp://anorien.warwick.ac.uk/slamd64/.../gcc-compat32/ you will see that he uses "--enable-multilib" which will result in the 32bit compilers being built. The extra binaries that get produced are the only effect from adding "--enable-multilib".

It was stated nowhere that slackware64 would be able to compile 32bit software out of the box. You will need to install additional packages.

Eric
 
Old 06-12-2009, 07:28 AM   #14
Lufbery
Senior Member
 
Registered: Aug 2006
Location: Harrisburg, PA
Distribution: Slackware 64 14.2
Posts: 1,180
Blog Entries: 29

Rep: Reputation: 135Reputation: 135
Quote:
Originally Posted by Alien Bob View Post

It was stated nowhere that slackware64 would be able to compile 32bit software out of the box. You will need to install additional packages.

Eric
...and my hope is that the folks who are figuring out how to do that will graciously make their work available at Slackbuilds.org.

Regards,

-Drew
 
Old 06-12-2009, 10:34 AM   #15
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,096

Rep: Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173
but Fred has published it already with sources and slackbuilds on his site, the link of a mirror is over here
or you mean you would like to see it moved on slackbuilds.org?

Last edited by ponce; 06-12-2009 at 10:35 AM.
 
  


Reply



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...Where? cwwilson721 Slackware 16 05-28-2009 08:21 AM
Slackware64, trying to compile wine with SBo suid0 Slackware 6 05-27-2009 09:48 AM
Errors building WINE 0.9.53 from source on CentOS x64 Micro420 Linux - Software 4 01-14-2008 12:15 PM
Building wine RPM SpEcIeS Linux - Software 1 04-05-2005 09:30 PM
Wine fails after building font metrics : X error postb99 Linux - Software 2 07-29-2003 02:55 PM

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

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