Opened 17 months ago
Last modified 17 months ago
#67616 new defect
gcc 12.3.0 does not install libd10-uwfef on i386?
Reported by: | barracuda156 | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | i386 | Cc: | mascguy (Christopher Nielsen), kencu (Ken) |
Port: | gcc12 |
Description
R-bain
fails, not being able to find that lib:
* installing *source* package ‘bain’ ... ** using staged installation ** libs using C compiler: ‘clang version 11.1.0’ using Fortran compiler: ‘GNU Fortran (MacPorts gcc12 12.3.0_0+stdlib_flag+universal) 12.3.0’ Warning in system2("xcrun", "--show-sdk-path", TRUE, TRUE) : running command ''xcrun' --show-sdk-path 2>&1' had status 64 using SDK: ‘NA’‘NA’‘NA’‘NA’‘NA’‘NA’ /opt/local/bin/gfortran-mp-12 -fPIC -pipe -Os -m32 -c Bain.f90 -o Bain.o <stdin>:4110:11: warning: section "__textcoal_nt" is deprecated .section __TEXT,__textcoal_nt,coalesced,pure_instructions ^ ~~~~~~~~~~~~~ <stdin>:4110:11: note: change section name to "__text" .section __TEXT,__textcoal_nt,coalesced,pure_instructions ^ ~~~~~~~~~~~~~ <stdin>:4114:11: warning: section "__textcoal_nt" is deprecated .section __TEXT,__textcoal_nt,coalesced,pure_instructions ^ ~~~~~~~~~~~~~ <stdin>:4114:11: note: change section name to "__text" .section __TEXT,__textcoal_nt,coalesced,pure_instructions ^ ~~~~~~~~~~~~~ <stdin>:4119:11: warning: section "__textcoal_nt" is deprecated .section __TEXT,__textcoal_nt,coalesced,pure_instructions ^ ~~~~~~~~~~~~~ <stdin>:4119:11: note: change section name to "__text" .section __TEXT,__textcoal_nt,coalesced,pure_instructions ^ ~~~~~~~~~~~~~ <stdin>:4123:11: warning: section "__textcoal_nt" is deprecated .section __TEXT,__textcoal_nt,coalesced,pure_instructions ^ ~~~~~~~~~~~~~ <stdin>:4123:11: note: change section name to "__text" .section __TEXT,__textcoal_nt,coalesced,pure_instructions ^ ~~~~~~~~~~~~~ /opt/local/bin/clang-mp-11 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/include -fPIC -pipe -Os -arch i386 -c bain_init.c -o bain_init.o /opt/local/bin/clang-mp-11 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/opt/local/Library/Frameworks/R.framework/Resources/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -L/opt/local/lib -lMacportsLegacySupport -arch i386 -o bain.so Bain.o bain_init.o -L/opt/local/lib/gcc12/gcc/i386-apple-darwin10/12.3.0 -L/opt/local/lib/gcc12 -lMacportsLegacySupport -lgfortran -ld10-uwfef -lquadmath -F/opt/local/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation ld: warning: directory not found for option '-L/opt/local/lib/gcc12/gcc/i386-apple-darwin10/12.3.0' ld: library not found for -ld10-uwfef clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [bain.so] Error 1 ERROR: compilation failed for package ‘bain’ * removing ‘/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_R_R-bain/R-bain/work/bain/bain.Rcheck/bain’
Portfile correctly asks for fortran.
GCC version:
gcc12 @12.3.0_0+stdlib_flag+universal (active) requested_variants='+universal' platform='darwin 10' archs='i386 x86_64' date='2023-06-12T04:25:10+0800'
Change History (3)
comment:1 Changed 17 months ago by barracuda156
comment:2 Changed 17 months ago by barracuda156
Or it is because our GCC are fake universal, so will not work for i386?
comment:3 Changed 17 months ago by kencu (Ken)
MacPorts gcc is built using gcc’s supported multilib setup.
This might be Iain’s bug to fix.
gcc is telling the linker to look here
/opt/local/lib/gcc12/gcc/i386-apple-darwin10/12.3.0
but should be telling the linker to look here
/opt/local/lib/gcc12/gcc/x86_64-apple-darwin10/12.3.0/i386
the second path looks right to me, building using gcc’s multilib setup to build for i386 using the 64bit gcc compiler.
As a next step, you might see if you can reproduce this bug building a simple “hello, world” using gcc 64bit to make an i386 executable…on or for SnowLeopard.
Note: See
TracTickets for help on using
tickets.
Nah, it just cannot find it. Same with 12.2.0. The lib is there:
/opt/local/lib/gcc12/gcc/x86_64-apple-darwin10/12.2.0/i386/libd10-uwfef.a
(for 12.2.0).