Opened 9 years ago

Last modified 2 years ago

#32836 new defect

erlang: build error when /opt/local/bin/gcc exists

Reported by: constcast (Lothar Braun) Owned by: ci42
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc: cooljeanius (Eric Gallager)
Port: erlang

Description (last modified by ryandesign (Ryan Schmidt))

Hi,

when I try to install the erlang port on Mac OS X Lion, I run into the following compile error (full log attached):

:info:build /opt/local/bin/gcc  -mdynamic-no-pic -Ipcre -m64 -pipe  -O3 -fomit-frame-pointer -arch x86_64 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_erlang/erlang/work/erlang-R15B/erts/i386-apple-darwin11.2.0  -I/opt/local/include -D_XOPEN_SOURCE -DERTS_SMP -DHAVE_CONFIG_H -Wall -Wstrict-prototypes -Wmissing-prototypes -Wdeclaration-after-statement -DUSE_THREADS -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS  -Ii386-apple-darwin11.2.0/opt/smp -Ibeam -Isys/unix -Isys/common -Ii386-apple-darwin11.2.0 -Izlib  -Ipcre -Ihipe -I../include -I../include/i386-apple-darwin11.2.0 -I../include/internal -I../include/internal/i386-apple-darwin11.2.0 -c beam/beam_emu.c -o obj/i386-apple-darwin11.2.0/opt/smp/beam_emu.o
:info:build cc1: error: unrecognized command line option "-mdynamic-no-pic"
:info:build cc1: error: unrecognized command line option "-arch"
:info:build make[3]: *** [obj/i386-apple-darwin11.2.0/opt/smp/beam_emu.o] Error 1
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_erlang/erlang/work/erlang-R15B/erts/emulator'
:info:build make[2]: *** [opt] Error 2
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_erlang/erlang/work/erlang-R15B/erts/emulator'
:info:build make[1]: *** [smp] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_erlang/erlang/work/erlang-R15B/erts'
:info:build make: *** [emulator] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_erlang/erlang/work/erlang-R15B'
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_erlang/erlang/work/erlang-R15B" && /usr/bin/make -w all " returned error 2
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for erlang): org.macports.activate org.macports.build org.macports.destroot org.macports.install
:notice:build Log for erlang is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_erlang/erlang/main.log

To me it looks like a compiler problem. Might this be related to Ticket #31698?

Attachments (1)

main.log (189.3 KB) - added by constcast (Lothar Braun) 9 years ago.

Download all attachments as: .zip

Change History (10)

Changed 9 years ago by constcast (Lothar Braun)

Attachment: main.log added

comment:1 Changed 9 years ago by constcast (Lothar Braun)

Cc: lothar@… added

Cc Me!

comment:2 Changed 9 years ago by ryandesign (Ryan Schmidt)

Cc: lothar@… removed
Description: modified (diff)
Owner: changed from macports-tickets@… to bfulgham@…
Port: erlang added
Summary: Erlang compile errorerlang: build error when /opt/local/bin/gcc exists

The problem is that /opt/local/bin/gcc exists, and that erlang is using it. Presumably you have used "sudo port select gcc" to select a different compiler. (Which one?) The workaround is to use "sudo port select gcc" again to select the default compiler (or simply remove /opt/local/bin/gcc), then clean erlang and try again. The real fix will be to make erlang ensure it's UsingTheRightCompiler.

comment:3 Changed 9 years ago by ryandesign (Ryan Schmidt)

The problem may be that numerous files in the erlang source distribution hardcode /opt/local, /usr/local and other locations we don't want to look in:

  • aclocal.m4
  • erts/aclocal.m4
  • erts/configure.in
  • erts/test/install_SUITE.erl
  • lib/erl_interface/aclocal.m4
  • lib/odbc/aclocal.m4
  • lib/odbc/configure.in
  • lib/wx/aclocal.m4

comment:4 Changed 9 years ago by constcast (Lothar Braun)

Ok, I selected the default compiler with:

sudo port select gcc apple-gcc42

and the build succeeded.

comment:5 Changed 9 years ago by jmroot (Joshua Root)

This appears to be erts/configure deciding that the compiler specified in CC can't handle jumptables, and then helpfully trying to find one that can and using that instead. It would be interesting to see the config.log for that.

comment:6 Changed 7 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:7 Changed 7 years ago by mojca (Mojca Miklavec)

See also #35875.

comment:8 Changed 7 years ago by ci42

Owner: changed from bfulgham@… to ciserlohn@…

comment:9 Changed 2 years ago by jmroot (Joshua Root)

Is this still a problem with the current version?

Note: See TracTickets for help on using tickets.