Opened 10 years ago

Closed 10 years ago

#21682 closed defect (fixed)

i386-elf-gcc @4.3.2 build failure - ld: duplicate symbol in libbackend.a and tree-inline.o

Reported by: slategrey@… Owned by: stepan@…
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: snowleopard Cc: pguyot (Paul Guyot), cshowalter@…, bjorn@…, matt.massicotte@…
Port: i386-elf-gcc

Description

Platform: Intel, OS X 10.6, Macports 1.8.0

Same error as #20816 in the regular gcc43 port. Presumably the fix is also approximately the same...?

Change History (7)

comment:1 Changed 10 years ago by jmroot (Joshua Root)

Cc: pguyot@… added
Keywords: i386-elf-gcc removed
Owner: changed from macports-tickets@… to stepan@…

comment:2 Changed 10 years ago by cshowalter@…

I tried something similar to what is described in #20816. Specifically,

  1. Edit /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_cross_i386-elf-gcc/work/gcc-4.3.2/gcc/cp/Make-lang.in to remove tree-inline.o from CXX_C_OBJS.
  1. Continue compiling.

I got a different error:

...
checking for i386-elf-strip... /opt/local/i386-elf/bin/strip
checking whether ln -s works... yes
checking for i386-elf-gcc... /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_cross_i386-elf-gcc/work/build/./gcc/xgcc -B/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_cross_i386-elf-gcc/work/build/./gcc/ -nostdinc -B/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_cross_i386-elf-gcc/work/build/i386-elf/newlib/ -isystem /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_cross_i386-elf-gcc/work/build/i386-elf/newlib/targ-include -isystem /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_cross_i386-elf-gcc/work/gcc-4.3.2/newlib/libc/include -B/opt/local/i386-elf/bin/ -B/opt/local/i386-elf/lib/ -isystem /opt/local/i386-elf/include -isystem /opt/local/i386-elf/sys-include
checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[1]: *** [configure-target-libgcc] Error 1
make: *** [all] Error 2

    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 9)
    invoked from within
"$procedure $targetname"
Warning: the following items did not execute (for i386-elf-gcc): org.macports.activate org.macports.build org.macports.destroot org.macports.install
Error: Status 1 encountered during processing.

comment:3 Changed 10 years ago by cshowalter@…

Cc: cshowalter@… added

Cc Me!

comment:4 Changed 10 years ago by bjorn@…

Cc: bjorn@… added

Cc Me!

comment:5 Changed 10 years ago by bjorn@…

I also applied the patch in cl57794 that closed #20816, which got me to the same point as you describe. The problem you are now having can be addressed by updating the Portfile as described in cl59653 (which closes #21194).

After applying both patches I got the following error:

--->  Activating i386-elf-gcc @4.3.2_0
Error: Unable to execute port: Image error:
/opt/local/lib/x86_64/libiberty.a is being used by the active i386-elf-binutils port.  Please deactivate this port first, or use 'port -f activate i386-elf-gcc' to force the activation.

I decided to force the activation, without really knowing the consequences. That seemed to work.

comment:6 Changed 10 years ago by matt.massicotte@…

Cc: matt.massicotte@… added

Cc Me!

comment:7 Changed 10 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.