Bug 26193 - compile and link error on macos
Summary: compile and link error on macos
Status: UNCONFIRMED
Alias: None
Product: binutils
Classification: Unclassified
Component: binutils (show other bugs)
Version: 2.34
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-07-02 02:46 UTC by raulf
Modified: 2020-08-21 17:58 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description raulf 2020-07-02 02:46:14 UTC
When compiling version 2.34 on MacOs Mojave 10.14.5, I got following error. 

/bin/sh ./libtool  --tag=CC   --mode=link gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -I../../binutils/../zlib -g -O2  -Wl,-no_pie  -o size size.o bucomm.o version.o filemode.o ../bfd/libbfd.la ../libiberty/libiberty.a ./../intl/libintl.a -liconv 
libtool: link: gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -I../../binutils/../zlib -g -O2 -Wl,-no_pie -o size size.o bucomm.o version.o filemode.o  ../bfd/.libs/libbfd.a -L/Volumes/Mac/binutils-2.34/build/zlib -ldl -lz ../libiberty/libiberty.a ./../intl/libintl.a -liconv
ld: warning: ignoring file ./../intl/libintl.a, building for macOS-x86_64 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Volumes/Mac/binutils-2.34/build/zlib/libz.a, building for macOS-x86_64 but attempting to link with file built for unknown-unsupported file format ( 0x21 0x3C 0x61 0x72 0x63 0x68 0x3E 0x0A 0x2F 0x20 0x20 0x20 0x20 0x20 0x20 0x20 )
ld: warning: ignoring file ../libiberty/libiberty.a, building for macOS-x86_64 but attempting to link with file built for unknown-unsupported file format ( 0x21 0x3C 0x61 0x72 0x63 0x68 0x3E 0x0A 0x2F 0x20 0x20 0x20 0x20 0x20 0x20 0x20 )
ld: warning: ignoring file ../bfd/.libs/libbfd.a, building for macOS-x86_64 but attempting to link with file built for unknown-unsupported file format ( 0x21 0x3C 0x61 0x72 0x63 0x68 0x3E 0x0A 0x2F 0x20 0x20 0x20 0x20 0x20 0x20 0x20 )
Undefined symbols for architecture x86_64:
  "__bfd_std_section", referenced from:
      _sysv_internal_sizer in size.o
      _sysv_internal_printer in size.o
  "_bfd_arch_list", referenced from:
      _list_supported_architectures in bucomm.o
  "_bfd_check_format", referenced from:
      _display_file in size.o
      _display_bfd in size.o
  "_bfd_check_format_matches", referenced from:
      _display_bfd in size.o
  "_bfd_close", referenced from:
      _display_file in size.o
  "_bfd_close_all_done", referenced from:
      _do_display_target in bucomm.o
  "_bfd_core_file_failing_command", referenced from:
      _display_bfd in size.o
  "_bfd_errmsg", referenced from:
      _bfd_nonfatal in bucomm.o
      _bfd_nonfatal_message in bucomm.o
      _set_default_bfd_target in bucomm.o
  "_bfd_get_error", referenced from:
      _display_file in size.o
      _display_bfd in size.o
      _bfd_nonfatal in bucomm.o
      _bfd_nonfatal_message in bucomm.o
      _set_default_bfd_target in bucomm.o
      _do_display_target in bucomm.o
  "_bfd_init", referenced from:
      _main in size.o
  "_bfd_iterate_over_targets", referenced from:
      _display_info in bucomm.o
  "_bfd_map_over_sections", referenced from:
      _print_sizes in size.o
  "_bfd_openr", referenced from:
      _display_file in size.o
  "_bfd_openr_next_archived_file", referenced from:
      _display_file in size.o
  "_bfd_openw", referenced from:
      _do_display_target in bucomm.o
  "_bfd_printable_arch_mach", referenced from:
      _display_info in bucomm.o
      _do_display_target in bucomm.o
  "_bfd_scan_vma", referenced from:
      _parse_vma in bucomm.o
  "_bfd_set_default_target", referenced from:
      _set_default_bfd_target in bucomm.o
  "_bfd_set_error", referenced from:
      _display_file in size.o
  "_bfd_set_error_program_name", referenced from:
      _main in size.o
  "_bfd_set_format", referenced from:
      _do_display_target in bucomm.o
  "_bfd_target_list", referenced from:
      _list_supported_targets in bucomm.o
  "_expandargv", referenced from:
      _main in size.o
  "_libintl_bindtextdomain", referenced from:
      _main in size.o
  "_libintl_gettext", referenced from:
      _main in size.o
      _usage in size.o
      _bfd_nonfatal in bucomm.o
      _bfd_nonfatal_message in bucomm.o
      _set_default_bfd_target in bucomm.o
      _list_matching_formats in bucomm.o
      _list_supported_targets in bucomm.o
      ...
  "_libintl_textdomain", referenced from:
      _main in size.o
  "_make_temp_file", referenced from:
      _display_info in bucomm.o
  "_xexit", referenced from:
      _bfd_fatal in bucomm.o
      _fatal in bucomm.o
  "_xmalloc", referenced from:
      _print_sizes in size.o
      _bfd_get_archive_filename in bucomm.o
      _make_tempname in bucomm.o
      _make_tempdir in bucomm.o
  "_xmalloc_set_program_name", referenced from:
      _main in size.o
  "_xrealloc", referenced from:
      _do_display_target in bucomm.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [size] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-binutils] Error 2
make: *** [all] Error 2
Comment 1 Alan Modra 2020-07-02 04:09:50 UTC
If your "ld" cannot handle archives created by your "ar" then this is most likely a problem with the toolchain you are using to compile binutils, or possibly a problem with configuration.
Comment 2 Jeffrey Walton 2020-08-21 17:58:50 UTC
Also see https://sourceware.org/bugzilla/show_bug.cgi?id=26191.