Open
Description
$ CC="gcc -m32" CXX="g++ -m32" ; ./configure --archs="-arch i386 -arch x86_64"
Checking for gcc...
Compiler error reporting is too harsh for ./configure (perhaps remove -Werror).
** ./configure aborting.
Without options "--archs=..." I have
$ objdump -p libz.so.1.2.8 | grep format
libz.so.1.2.8: file format elf64-x86-64
zlib 1.2.8
Metadata
Assignees
Labels
No labels
Activity
mtl1979 commentedon May 16, 2016
@tele1 You should post relevant lines from configure.log and make output when configure finishes.
I would try removing --archs parameter because most likely your gcc doesn't support -arch parameter, which is Apple-specific flag.
-m32 doesn't actually imply 32-bit binary format, you should use -march=i686.
tele1 commentedon May 20, 2016
1. I needed it for build dependencies and it for build mesa 32bit for 64bit system,
I disabled build any archiver (because I had problem like above)
however now I compiled mesa and working.
( so I don't need archiver for now )
Probably Steam need more dependencies ( alsa ), but let others take some to work.
Tree dependencies is in link /topic,137358.0.html
2.
This is from http://www.mesa3d.org/autoconf.html
I used also " export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig "
because my 32bit *.pc files are in other path.
Edited:
Or for source code which use cmake
3. Logs, I did not know. Thanks, now I will know about the log.
$ CC="gcc -march=i686" CXX="g++ -march=i686" ; ./configure --archs="-arch i386 -arch x86_64" Checking for gcc... Compiler error reporting is too harsh for ./configure (perhaps remove -Werror). ** ./configure aborting.
configure.log
And without arch,
I used fresh source code from github what you have
configure.log
mtl1979 commentedon May 20, 2016
Like I suspected, gcc doesn't support '-arch' parameter... If you look closely, you will also notice that due to the semicolon ';' before ./configure, it doesn't actually pass '-march=i686' to configure and thus gcc.
tele1 commentedon May 20, 2016
And without '-arch' I have for example minigzip64 and minigzip but
mtl1979 commentedon May 20, 2016
Yes, because it ignored CC and CXX.
tele1 commentedon May 20, 2016
Ok , thanks If you don't need any next log , you can close this topic ;-)
I maybe I will change the distribution of linux ...
Maybe I will use Manjaro, I don't know.
mtl1979 commentedon May 20, 2016
You should try:
or
zlib is C-only, so CXX is always ignored... removing the semicolon makes it use CC correctly. Setting '-march' to 'i686' makes it work on all modern processors, both Intel and AMD...
tele1 commentedon May 21, 2016
Anyway I see now 32bit :-)
So something working.
configure.log
#-------------------------------------------------------------------------------------------
#-------------------------------------------------------------------------------------------
configure.log
Edit:
CC="gcc -m32" ./configure
also working like ( CC="gcc -m32 -march=i686" ./configure )
mtl1979 commentedon May 25, 2016
--archs="-m32 -march=i686" doesn't work because the regular expression that parses the flag in configure is buggy... it cuts the string from last '=' character instead of first.
Removed arch specification thanks to madler/zlib#143
tele1 commentedon Sep 7, 2017
Thanks help everyone !
My spec looks like this and probably worked ( I can not prove now )
My spec files maybe not are beautiful, but worked.
I mean, Steam 32bit worked with 32bit mesa driver on 64 bit PCLinuxOS and Dota ( game ).
More games not worked because need more 32bit dependencies.
But for me this was great adventure and great success.
My conclusions:
Nvidia can use driver 32bit for use other 64bit libs. I don't know how, but this is possible.
My work turned out to be not useful, but my knowledge is bigger now.
Most linux developers used second road with Mesa. I mean, they rebuild all needed dependencies and Mesa. This huge work, allows users with open source Mesa drivers install and run Steam games
on Fedora, Arch Linux, Debian and maybe more.
Thanks ! :-)
For me this topic is old and you can close.
New user can always open a new topic.