Opened 13 years ago
Last modified 6 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 Carsten 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)
Change History (10)
Changed 13 years ago by constcast (Lothar Braun)
comment:1 Changed 13 years ago by constcast (Lothar Braun)
Cc: | lothar@… added |
---|
comment:2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | lothar@… removed |
---|---|
Description: | modified (diff) |
Owner: | changed from macports-tickets@… to bfulgham@… |
Port: | erlang added |
Summary: | Erlang compile error → erlang: 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 13 years ago by ryandesign (Ryan Carsten 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 13 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 12 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:8 Changed 11 years ago by ci42
Owner: | changed from bfulgham@… to ciserlohn@… |
---|
comment:9 Changed 6 years ago by jmroot (Joshua Root)
Is this still a problem with the current version?
Cc Me!