#66802 closed defect (duplicate)

gdb: ignoring file /opt/local/lib/libintl.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64

Reported by: sunnypranay (Mandadapu Pranay) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: sunnypranay (Mandadapu Pranay)
Port: gdb

Description (last modified by sunnypranay (Mandadapu Pranay))

:info:build         #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
:info:build                                                       ^
:info:build   CXX    tui/tui-hooks.o
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gdb/gdb/work/gdb-12.1/gdb/tracepoint.c:2834:3: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations]
:info:build   sprintf (buf, "%x:%s:%s:%x:%x:",
:info:build   ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here
:info:build __deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
:info:build ^
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'
:info:build         #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
:info:build                                                       ^
:info:build   CXX    tui/tui-interp.o
:info:build   CXX    tui/tui-io.o
:info:build   CXX    tui/tui-layout.o
:info:build   CXX    tui/tui-location.o
:info:build   CXX    tui/tui-out.o
:info:build   CXX    tui/tui-regs.o
:info:build   CXX    tui/tui-source.o
:info:build   CXX    tui/tui-stack.o
:info:build   CXX    tui/tui-win.o
:info:build 4 warnings generated.
:info:build   CXX    tui/tui-wingeneral.o
:info:build   CXX    tui/tui-winsource.o
:info:build   CXX    tui/tui.o
:info:build   CXX    type-stack.o
:info:build   CXX    typeprint.o
:info:build   CXX    ui-file.o
:info:build   CXX    ui-out.o
:info:build   CXX    ui-style.o
:info:build   CXX    user-regs.o
:info:build   CXX    utils.o
:info:build   CXX    valarith.o
:info:build   CXX    valops.o
:info:build   CXX    valprint.o
:info:build   CXX    value.o
:info:build   CXX    varobj.o
:info:build   CXX    version.o
:info:build   CXX    xml-builtin.o
:info:build   CXX    init.o
:info:build   CXXLD  gdb
:info:build ld: warning: ignoring file /opt/local/lib/libintl.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
:info:build Undefined symbols for architecture x86_64:
:info:build   "_libintl_bindtextdomain", referenced from:
:info:build       gdb_main(captured_main_args*) in main.o
:info:build   "_libintl_dgettext", referenced from:
:info:build       _bfd_cache_lookup_worker in libbfd.a(cache.o)
:info:build       __bfd_abort in libbfd.a(bfd.o)
:info:build       _bfd_errmsg in libbfd.a(bfd.o)
:info:build       _bfd_assert in libbfd.a(bfd.o)
:info:build       _bfd_get_full_section_contents in libbfd.a(compress.o)
:info:build       __bfd_generic_get_section_contents in libbfd.a(libbfd.o)
:info:build       __bfd_warn_deprecated in libbfd.a(libbfd.o)
:info:build       ...
:info:build   "_libintl_gettext", referenced from:
:info:build       gettext(char const*) in ada-exp.o
:info:build       write_var_or_type(parser_state*, block const*, stoken) in ada-exp.o
:info:build       block_lookup(block const*, char const*) in ada-exp.o
:info:build       ada_parse(parser_state*) in ada-exp.o
:info:build       processInt(parser_state*, char const*, char const*, char const*) in ada-exp.o
:info:build       write_object_renaming(parser_state*, block const*, char const*, int, char const*, int) in ada-exp.o
:info:build       gettext(char const*) in ada-lang.o
:info:build       ...
:info:build   "_libintl_textdomain", referenced from:
:info:build       gdb_main(captured_main_args*) in main.o
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[2]: *** [gdb] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gdb/gdb/work/build/gdb'
:info:build make[1]: *** [all-gdb] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gdb/gdb/work/build'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gdb/gdb/work/build'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gdb/gdb/work/build" && /usr/bin/make -j8 -w all 
:info:build Exit code: 2
:error:build Failed to build gdb: command execution failed
:debug:build Error code: CHILDSTATUS 2417 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec -callback portprogress::target_progress_callback build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gdb/gdb/main.log for details.

Change History (4)

comment:1 Changed 15 months ago by sunnypranay (Mandadapu Pranay)

Description: modified (diff)

comment:2 Changed 15 months ago by sunnypranay (Mandadapu Pranay)

Cc: sunnypranay added

comment:3 Changed 15 months ago by ryandesign (Ryan Carsten Schmidt)

Port: gdb added
Priority: HighNormal
Summary: I am getting this error while trying to install sudo port install i386-elf-gcc gdbgdb: ignoring file /opt/local/lib/libintl.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64

You mentioned i386-elf-gcc but that doesn't appear to be related to this ticket. The portion of the log you showed is a build failure of gdb.

Based on the fact that you have an arm64 libintl.dylib, I believe you are on an Apple Silicon Mac. Based on the fact that you are using the macOS 13 SDK, I assume you are running macOS 12 or 13.

The gdb port does not build for arm64 (it contains the line supported_archs x86_64 i386) so it will build for x86_64. That means all of its dependencies must be built universal (for both x86_64 and arm64) first. MacPorts should have made sure that was the case before beginning to install gdb, but that doesn't appear to have happened. Let's investigate why.

libintl.dylib is part of the gettext port. For what architecture(s) does MacPorts think it installed gettext? To find out, run:

port -qv installed gettext

For what architecture(s) has gettext actually been installed? To find out, run:

lipo -info /opt/local/lib/libintl.dylib

If there is a mismatch between the two, maybe something else replaced the gettext files without MacPorts' knowledge. If so, the solution would be to reinstall gettext using:

sudo port -n upgrade --force gettext

comment:4 Changed 15 months ago by jmroot (Joshua Root)

Resolution: duplicate
Status: newclosed

The full log hasn't been attached so it's hard to be sure, but this looks like a duplicate of #66732. Please reopen and provide more details if not.

Note: See TracTickets for help on using tickets.