Opened 2 weeks ago
Closed 2 weeks ago
#71137 closed defect (fixed)
i386-elf-gcc, x86_64-elf-gcc @12.2.0: error: '__abi_tag__' attribute only applies to structs, variables, functions, and namespaces
Reported by: | tahamunawar (Taha Munawar) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.10.2 |
Keywords: | sequoia | Cc: | |
Port: | i386-elf-gcc, x86_64-elf-gcc |
Description (last modified by jmroot (Joshua Root))
I ran the following command on terminal: sudo port install i386-elf-gcc gdb
This is the output on terminal, when it reaches the build stage it fails:
---> Computing dependencies for i386-elf-gcc ---> Fetching archive for i386-elf-gcc ---> Attempting to fetch i386-elf-gcc-12.2.0_0.darwin_24.arm64.tbz2 from https://packages.macports.org/i386-elf-gcc ---> Attempting to fetch i386-elf-gcc-12.2.0_0.darwin_24.arm64.tbz2 from http://jog.id.packages.macports.org/macports/packages/i386-elf-gcc ---> Attempting to fetch i386-elf-gcc-12.2.0_0.darwin_24.arm64.tbz2 from https://mse.uk.packages.macports.org/i386-elf-gcc ---> Fetching distfiles for i386-elf-gcc ---> Attempting to fetch gcc-12.2.0.tar.xz from https://distfiles.macports.org/gcc12 ---> Attempting to fetch newlib-3.1.0.tar.gz from https://distfiles.macports.org/gcc12 ---> Verifying checksums for i386-elf-gcc ---> Extracting i386-elf-gcc ---> Configuring i386-elf-gcc ---> Building i386-elf-gcc Error: Failed to build i386-elf-gcc: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_cross_i386-elf-gcc/i386-elf-gcc/main.log for details. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: Processing of port i386-elf-gcc failed
I have attached the main.log file
My operating system is macOS sequoia 15.0.1
My machine is M1 MacBook Air
Did not know who to CC as when I run the command port info --maintainer i386-elf-gcc, terminal returns "maintainer:" followed by blank space
Attachments (2)
Change History (14)
comment:1 Changed 2 weeks ago by tahamunawar (Taha Munawar)
Description: | modified (diff) |
---|
comment:2 Changed 2 weeks ago by jmroot (Joshua Root)
Description: | modified (diff) |
---|
Changed 2 weeks ago by jmroot (Joshua Root)
Attachment: | main.log.bz2 added |
---|
comment:3 follow-up: 5 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)
comment:4 Changed 2 weeks ago by tahamunawar (Taha Munawar)
@ryandesign (Ryan Carsten Schmidt) can you please tell by when the port will be updated, because i need this to work ASAP for my OS assignment which is due in a few days
comment:5 Changed 2 weeks ago by tahamunawar (Taha Munawar)
Replying to ryandesign:
This looks like https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111632 which was marked fixed in June. Hopefully that means newer versions of gcc that contain the fix have been released and we just need to update the port.
can you please tell by when the port will be updated, because i need this to work ASAP for my OS assignment which is due in a few days
comment:6 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)
Nobody maintains this port so somebody would need to volunteer to update it.
comment:7 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)
These cross gcc compiler ports don't have much in them. It may be as simple as changing the crossgcc.setup
and revision
lines in the Portfile. I can try that now. There is also the crossgcc.setup_libc
line; I don't know what the criteria are for when to update that line.
comment:8 follow-up: 11 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | sequoia added |
---|---|
Port: | x86_64-elf-gcc added |
Summary: | Cannot build i386-elf-gcc on macOS 15.0.1 → i386-elf-gcc, x86_64-elf-gcc @12.2.0: error: '__abi_tag__' attribute only applies to structs, variables, functions, and namespaces |
Pulling the error out of the log so it's easier to see:
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_cross_i386-elf-gcc/i386-elf-gcc/work/gcc-12.2.0/gcc/cp/mapper-client.cc:31: In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_cross_i386-elf-gcc/i386-elf-gcc/work/gcc-12.2.0/gcc/system.h:227: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/map:2193: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/functional:526: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/__functional/boyer_moore_searcher.h:27: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/vector:325: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/__format/formatter_bool.h:20: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/__format/formatter_integral.h:35: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/locale:202: /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/__locale:496:3: error: '__abi_tag__' attribute only applies to structs, variables, functions, and namespaces 496 | _LIBCPP_HIDE_FROM_ABI char_type toupper(char_type __c) const { return do_toupper(__c); } | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1/__config:874:26: note: expanded from macro '_LIBCPP_HIDE_FROM_ABI' 874 | __attribute__((__abi_tag__(_LIBCPP_TOSTRING(_LIBCPP_ODR_SIGNATURE)))) | ^
I believe the x86_64-elf-gcc port is probably affected by the same problem. And while the Portfiles themselves look simple, updates may also be needed in the crossgcc portgroup and in the binutils dependencies. I'm not sure how to decide what versions of binutils and libc to update to for a particular version of gcc. I'm asking on the mailing list for guidance from someone more familiar with how to update these ports:
https://lists.macports.org/pipermail/macports-dev/2024-October/045906.html
Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | i386-elf-gcc-12.4.0.diff added |
---|
comment:9 follow-up: 10 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)
Since you're in a rush, you may want to try this untested update which you can apply by downloading it and then running:
cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports sudo patch -p1 < ~/Downloads/i386-elf-gcc-12.4.0.diff
comment:10 Changed 2 weeks ago by tahamunawar (Taha Munawar)
Replying to ryandesign:
Since you're in a rush, you may want to try this untested update which you can apply by downloading it and then running:
cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports sudo patch -p1 < ~/Downloads/i386-elf-gcc-12.4.0.diff
Hello, I downloaded the file and ran the command as you said. Then, I tried to install i386 again. I believe this has worked, because I can now make qemu xv6 for my OS assignment.
I have copy pasted the terminal output below so that you could go through it as well:
Tahas-MacBook-Air-2:~ tahamunawar$ cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports Tahas-MacBook-Air-2:ports tahamunawar$ sudo patch -p1 < ~/Downloads/i386-elf-gcc-12.4.0.diff Password: patching file '_resources/port1.0/group/crossgcc-1.0.tcl' patching file 'cross/i386-elf-gcc/Portfile' Tahas-MacBook-Air-2:ports tahamunawar$ sudo port install i386-elf-gcc gdb Portfile for i386-elf-gcc changed since last build; discarding previous state. ---> Computing dependencies for i386-elf-gcc ---> Fetching archive for i386-elf-gcc ---> Attempting to fetch i386-elf-gcc-12.4.0_0.darwin_24.arm64.tbz2 from https://packages.macports.org/i386-elf-gcc ---> Attempting to fetch i386-elf-gcc-12.4.0_0.darwin_24.arm64.tbz2 from https://nue.de.packages.macports.org/i386-elf-gcc ---> Attempting to fetch i386-elf-gcc-12.4.0_0.darwin_24.arm64.tbz2 from http://mirror.fcix.net/macports/packages/i386-elf-gcc ---> Fetching distfiles for i386-elf-gcc ---> Attempting to fetch gcc-12.4.0.tar.xz from https://distfiles.macports.org/gcc12 ---> Verifying checksums for i386-elf-gcc ---> Extracting i386-elf-gcc ---> Configuring i386-elf-gcc ---> Building i386-elf-gcc ---> Staging i386-elf-gcc into destroot Warning: i386-elf-gcc installs files outside the common directory structure. ---> Installing i386-elf-gcc @12.4.0_0 ---> Activating i386-elf-gcc @12.4.0_0 ---> Cleaning i386-elf-gcc ---> Fetching archive for diffutils-for-muniversal ---> Attempting to fetch diffutils-for-muniversal-3.8_0.darwin_24.arm64.tbz2 from https://packages.macports.org/diffutils-for-muniversal ---> Attempting to fetch diffutils-for-muniversal-3.8_0.darwin_24.arm64.tbz2 from https://nue.de.packages.macports.org/diffutils-for-muniversal ---> Attempting to fetch diffutils-for-muniversal-3.8_0.darwin_24.arm64.tbz2 from http://mirror.fcix.net/macports/packages/diffutils-for-muniversal ---> Fetching distfiles for diffutils-for-muniversal ---> Attempting to fetch diffutils-3.8.tar.xz from https://distfiles.macports.org/diffutils ---> Verifying checksums for diffutils-for-muniversal ---> Extracting diffutils-for-muniversal ---> Configuring diffutils-for-muniversal Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled: MIN: found in diffutils-3.8/config.log re_set_syntax: found in diffutils-3.8/config.log re_compile_pattern: found in diffutils-3.8/config.log re_search: found in diffutils-3.8/config.log ---> Building diffutils-for-muniversal ---> Staging diffutils-for-muniversal into destroot ---> Installing diffutils-for-muniversal @3.8_0 ---> Activating diffutils-for-muniversal @3.8_0 ---> Cleaning diffutils-for-muniversal ---> Computing dependencies for boehmgc ---> Fetching archive for boehmgc ---> Attempting to fetch boehmgc-8.2.8_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/boehmgc ---> Attempting to fetch boehmgc-8.2.8_0+universal.darwin_24.arm64-x86_64.tbz2 from https://nue.de.packages.macports.org/boehmgc ---> Attempting to fetch boehmgc-8.2.8_0+universal.darwin_24.arm64-x86_64.tbz2 from http://mirror.fcix.net/macports/packages/boehmgc ---> Fetching distfiles for boehmgc ---> Verifying checksums for boehmgc ---> Extracting boehmgc ---> Configuring boehmgc ---> Building boehmgc ---> Staging boehmgc into destroot ---> Installing boehmgc @8.2.8_0+universal ---> Cleaning boehmgc ---> Deactivating boehmgc @8.2.8_0 ---> Cleaning boehmgc ---> Activating boehmgc @8.2.8_0+universal ---> Cleaning boehmgc ---> Computing dependencies for expat ---> Fetching archive for expat ---> Attempting to fetch expat-2.6.3_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/expat ---> Attempting to fetch expat-2.6.3_0+universal.darwin_24.arm64-x86_64.tbz2 from https://nue.de.packages.macports.org/expat ---> Attempting to fetch expat-2.6.3_0+universal.darwin_24.arm64-x86_64.tbz2 from http://mirror.fcix.net/macports/packages/expat ---> Fetching distfiles for expat ---> Verifying checksums for expat ---> Extracting expat ---> Configuring expat Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled: getrandom: found in expat-2.6.3-arm64/config.log, expat-2.6.3-x86_64/config.log ---> Building expat ---> Staging expat into destroot ---> Installing expat @2.6.3_0+universal ---> Cleaning expat ---> Deactivating expat @2.6.3_0 ---> Cleaning expat ---> Activating expat @2.6.3_0+universal ---> Cleaning expat ---> Fetching archive for libiconv ---> Attempting to fetch libiconv-1.17_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/libiconv ---> Attempting to fetch libiconv-1.17_0+universal.darwin_24.arm64-x86_64.tbz2.rmd160 from https://packages.macports.org/libiconv ---> Installing libiconv @1.17_0+universal ---> Cleaning libiconv ---> Deactivating libiconv @1.17_0 ---> Cleaning libiconv ---> Activating libiconv @1.17_0+universal ---> Cleaning libiconv ---> Fetching archive for ncurses ---> Attempting to fetch ncurses-6.5_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/ncurses ---> Attempting to fetch ncurses-6.5_0+universal.darwin_24.arm64-x86_64.tbz2.rmd160 from https://packages.macports.org/ncurses ---> Installing ncurses @6.5_0+universal ---> Cleaning ncurses ---> Deactivating ncurses @6.5_0 ---> Cleaning ncurses ---> Activating ncurses @6.5_0+universal ---> Cleaning ncurses ---> Computing dependencies for libtextstyle ---> Fetching archive for libtextstyle ---> Attempting to fetch libtextstyle-0.22.5_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/libtextstyle ---> Attempting to fetch libtextstyle-0.22.5_0+universal.darwin_24.arm64-x86_64.tbz2.rmd160 from https://packages.macports.org/libtextstyle ---> Installing libtextstyle @0.22.5_0+universal ---> Cleaning libtextstyle ---> Computing dependencies for libtextstyle ---> Deactivating libtextstyle @0.22.5_0 ---> Cleaning libtextstyle ---> Activating libtextstyle @0.22.5_0+universal ---> Cleaning libtextstyle ---> Computing dependencies for gettext-runtime ---> Fetching archive for gettext-runtime ---> Attempting to fetch gettext-runtime-0.22.5_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/gettext-runtime ---> Attempting to fetch gettext-runtime-0.22.5_0+universal.darwin_24.arm64-x86_64.tbz2.rmd160 from https://packages.macports.org/gettext-runtime ---> Installing gettext-runtime @0.22.5_0+universal ---> Cleaning gettext-runtime ---> Computing dependencies for gettext-runtime ---> Deactivating gettext-runtime @0.22.5_0 ---> Cleaning gettext-runtime ---> Activating gettext-runtime @0.22.5_0+universal ---> Cleaning gettext-runtime ---> Computing dependencies for gettext-tools-libs ---> Fetching archive for gettext-tools-libs ---> Attempting to fetch gettext-tools-libs-0.22.5_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/gettext-tools-libs ---> Attempting to fetch gettext-tools-libs-0.22.5_0+universal.darwin_24.arm64-x86_64.tbz2.rmd160 from https://packages.macports.org/gettext-tools-libs ---> Installing gettext-tools-libs @0.22.5_0+universal ---> Cleaning gettext-tools-libs ---> Computing dependencies for gettext-tools-libs ---> Deactivating gettext-tools-libs @0.22.5_0 ---> Cleaning gettext-tools-libs ---> Activating gettext-tools-libs @0.22.5_0+universal ---> Cleaning gettext-tools-libs ---> Computing dependencies for gettext ---> Fetching archive for gettext ---> Attempting to fetch gettext-0.22.5_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/gettext ---> Attempting to fetch gettext-0.22.5_0+universal.darwin_24.arm64-x86_64.tbz2.rmd160 from https://packages.macports.org/gettext ---> Installing gettext @0.22.5_0+universal ---> Cleaning gettext ---> Computing dependencies for gettext ---> Deactivating gettext @0.22.5_0 ---> Cleaning gettext ---> Activating gettext @0.22.5_0+universal ---> Cleaning gettext ---> Computing dependencies for m4 ---> Fetching archive for m4 ---> Attempting to fetch m4-1.4.19_1+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/m4 ---> Attempting to fetch m4-1.4.19_1+universal.darwin_24.arm64-x86_64.tbz2 from https://nue.de.packages.macports.org/m4 ---> Attempting to fetch m4-1.4.19_1+universal.darwin_24.arm64-x86_64.tbz2 from http://mirror.fcix.net/macports/packages/m4 ---> Fetching distfiles for m4 ---> Verifying checksums for m4 ---> Extracting m4 ---> Applying patches to m4 ---> Configuring m4 Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled: MIN: found in m4-1.4.19-arm64/config.log, m4-1.4.19-x86_64/config.log __fpending: found in m4-1.4.19-arm64/config.log, m4-1.4.19-x86_64/config.log re_set_syntax: found in m4-1.4.19-arm64/config.log, m4-1.4.19-x86_64/config.log re_compile_pattern: found in m4-1.4.19-arm64/config.log, m4-1.4.19-x86_64/config.log re_search: found in m4-1.4.19-arm64/config.log, m4-1.4.19-x86_64/config.log ---> Building m4 ---> Staging m4 into destroot ---> Installing m4 @1.4.19_1+universal ---> Cleaning m4 ---> Computing dependencies for m4 ---> Deactivating m4 @1.4.19_1 ---> Cleaning m4 ---> Activating m4 @1.4.19_1+universal ---> Cleaning m4 ---> Computing dependencies for gmp ---> Fetching archive for gmp ---> Attempting to fetch gmp-6.3.0_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/gmp ---> Attempting to fetch gmp-6.3.0_0+universal.darwin_24.arm64-x86_64.tbz2 from https://nue.de.packages.macports.org/gmp ---> Attempting to fetch gmp-6.3.0_0+universal.darwin_24.arm64-x86_64.tbz2 from http://mirror.fcix.net/macports/packages/gmp ---> Fetching distfiles for gmp ---> Verifying checksums for gmp ---> Extracting gmp ---> Configuring gmp ---> Building gmp ---> Staging gmp into destroot ---> Installing gmp @6.3.0_0+universal ---> Cleaning gmp ---> Deactivating gmp @6.3.0_0 ---> Cleaning gmp ---> Activating gmp @6.3.0_0+universal ---> Cleaning gmp ---> Computing dependencies for xz ---> Fetching archive for xz ---> Attempting to fetch xz-5.6.3_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/xz ---> Attempting to fetch xz-5.6.3_0+universal.darwin_24.arm64-x86_64.tbz2.rmd160 from https://packages.macports.org/xz ---> Installing xz @5.6.3_0+universal ---> Cleaning xz ---> Computing dependencies for xz ---> Deactivating xz @5.6.3_0 ---> Cleaning xz ---> Activating xz @5.6.3_0+universal ---> Cleaning xz ---> Computing dependencies for mpfr ---> Fetching archive for mpfr ---> Attempting to fetch mpfr-4.2.1_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/mpfr ---> Attempting to fetch mpfr-4.2.1_0+universal.darwin_24.arm64-x86_64.tbz2 from https://nue.de.packages.macports.org/mpfr ---> Attempting to fetch mpfr-4.2.1_0+universal.darwin_24.arm64-x86_64.tbz2 from http://mirror.fcix.net/macports/packages/mpfr ---> Fetching distfiles for mpfr ---> Verifying checksums for mpfr ---> Extracting mpfr ---> Configuring mpfr ---> Building mpfr ---> Staging mpfr into destroot ---> Installing mpfr @4.2.1_0+universal ---> Cleaning mpfr ---> Computing dependencies for mpfr ---> Deactivating mpfr @4.2.1_0 ---> Cleaning mpfr ---> Activating mpfr @4.2.1_0+universal ---> Cleaning mpfr ---> Fetching archive for zlib ---> Attempting to fetch zlib-1.3.1_0+universal.darwin_24.arm64-x86_64.tbz2 from https://packages.macports.org/zlib ---> Attempting to fetch zlib-1.3.1_0+universal.darwin_24.arm64-x86_64.tbz2.rmd160 from https://packages.macports.org/zlib ---> Installing zlib @1.3.1_0+universal ---> Cleaning zlib ---> Deactivating zlib @1.3.1_0 ---> Cleaning zlib ---> Activating zlib @1.3.1_0+universal ---> Cleaning zlib ---> Computing dependencies for gdb ---> Fetching archive for gdb ---> Attempting to fetch gdb-15.1_0.darwin_24.x86_64.tbz2 from https://packages.macports.org/gdb ---> Attempting to fetch gdb-15.1_0.darwin_24.x86_64.tbz2.rmd160 from https://packages.macports.org/gdb ---> Installing gdb @15.1_0 ---> Activating gdb @15.1_0 ---> Cleaning gdb ---> Updating database of binaries ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. ---> Some of the ports you installed have notes: gdb has the following notes: You will need to codesign /opt/local/bin/ggdb See https://sourceware.org/gdb/wiki/BuildingOnDarwin#Giving_gdb_permission_to_control_other_processes for more information.
comment:11 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Status: | new → accepted |
Since there has been no response to my request for guidance on the mailing list, and since it worked for you, I'll commit the update I proposed as is. I did also verify that i386-elf-gcc and x86_64-elf-gcc @12.4.0 built on my macOS 12 system.
comment:12 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
This looks like https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111632 which was marked fixed in June. Hopefully that means newer versions of gcc that contain the fix have been released and we just need to update the port.