Opened 5 years ago
Last modified 5 years ago
#58646 closed defect
gcc8 @8.3.0_4 +universal: does not build/install universal libraries — at Initial Version
Reported by: | Ionic (Mihai Moldovan) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | cjones051073 (Chris Jones), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), ken-cunningham-webuse | |
Port: | libgcc |
Description
OpenBLAS @0.6.3_1 +universal
fails to build due to this:
[...] /opt/local/bin/gfortran-mp-8 -O3 -m128bit-long-double -Wall -frecursive -m32 -o sblat1 sblat1.o ../libopenblas-r1.a -lpthread -lgfortran -lpthread -lgfortran /opt/local/bin/gfortran-mp-8 -O3 -m128bit-long-double -Wall -frecursive -m32 -o dblat1 dblat1.o ../libopenblas-r1.a -lpthread -lgfortran -lpthread -lgfortran ld: warning: ignoring fileld : warning: ignoring file /opt/local/lib/gcc8//opt/local/lib/gcc8/i386i386/libgfortran.dylib, file was /builtlibgfortran.dylib, filefor x86_64 which is notwas the built for x86_64 which architecture being is not linked (i386): /opt/local/lib/gcc8/i386/libgfortran.dylib ld: warning: ignoring file /opt/local/lib/gcc8/libgcc_ext.10.5.dylib, missing required architecture i386 in file /opt/local/lib/gcc8/libgcc_ext.10.5.dylib (1 slices) ld: warning: ignoring file /opt/local/lib/gcc8/i386/libquadmath.dylib, file was built for x86_64 which is not thethe architecture being linked (i386): /opt/local/lib/gcc8/i386/libgfortran.dylib ld: warning: ignoring file /opt/local/lib/gcc8/libgcc_ext.10.5.dylib, missing required architecture i386 in file /opt/local/lib/gcc8/libgcc_ext.10.5.dylib (1 slices) ld: warning: ignoring file /opt/local/lib/gcc8/i386/libquadmath.dylib, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/lib/gcc8/i386 /libquadmath.dylib Undefined symbols for architecture i386: "__gfortran_internal_pack", referenced from: architecture being linked (i386): /opt/local/lib/gcc8/i386/libquadmath.dylib Undefined symbols for architecture i386: "__gfortran_set_args", referenced from: [...]
The output is mangled which is probably a side-effect of -j2
. That's not something that should concern us a lot.
What does concern me is that linking against libgfortran.dylib
, libgcc_ext.dylib
et al fails in i386 mode, because the libraries do not contain the needed architecture.
$ lipo -info /opt/local/lib/gcc8/i386/libgfortran.dylib /opt/local/lib/gcc8/libgcc_ext.10.5.dylib /opt/local/lib/gcc8/i386/libquadmath.dylib Architectures in the fat file: /opt/local/lib/gcc8/libgcc_ext.10.5.dylib are: x86_64 Non-fat file: /opt/local/lib/gcc8/i386/libgfortran.dylib is architecture: x86_64 Non-fat file: /opt/local/lib/gcc8/i386/libquadmath.dylib is architecture: x86_64
I'm CCing the last few people to update the port because it's nomaintainer. Not creating a ticket against OpenBLAS, because OpenBLAS doesn't seem to at fault here.
gcc9
seems also to be affected:
$ lipo -info /opt/local/lib/gcc9/i386/libgfortran.dylib /opt/local/lib/gcc9/libgcc_ext.10.5.dylib /opt/local/lib/gcc9/i386/libquadmath.dylib Architectures in the fat file: /opt/local/lib/gcc9/libgcc_ext.10.5.dylib are: x86_64 Non-fat file: /opt/local/lib/gcc9/i386/libgfortran.dylib is architecture: x86_64 Non-fat file: /opt/local/lib/gcc9/i386/libquadmath.dylib is architecture: x86_64
I don't have gcc7 installed +universal, so can't say whether this version is affected.
The only older GCC version that I do have installed +universal is 4.9... and this one is interesting:
# lipo -info /opt/local/lib/gcc49/i386/libgfortran.dylib /opt/local/lib/gcc49/libgcc_ext.10.5.dylib /opt/local/lib/gcc49/i386/libquadmath.dylib Architectures in the fat file: /opt/local/lib/gcc49/i386/libgfortran.dylib are: x86_64 i386 Architectures in the fat file: /opt/local/lib/gcc49/libgcc_ext.10.5.dylib are: x86_64 Non-fat file: /opt/local/lib/gcc49/i386/libquadmath.dylib is architecture: x86_64
That doesn't look right either, but at least better regarding libgfortran.dylib
.
I'll attach OpenBLAS's log file just in case it might be helpful.
Change History (1)
Changed 5 years ago by Ionic (Mihai Moldovan)
Attachment: | OpenBLAS.main.log added |
---|
OpenBLAS.main.log