New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #11490 (closed defect: invalid)

Opened 7 years ago

Last modified 7 years ago

BUG: erlang-R11B-2_0 build failure on Intel

Reported by: scott@… Owned by: bfulgham@…
Priority: High Milestone:
Component: ports Version: 1.4
Keywords: Cc: gwright@…
Port:

Description

Installing erlang on Tiger on an Intel iMac results in the following compile error:

gcc -mdynamic-no-pic -g -O2 -I/opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_lang_erlang/work/erlang-R11B-2/erts/i386-apple-darwin8.8.1  -no-cpp-precomp   -DUSE_THREADS  -D_THREAD_SAFE -D_REENTRANT -DHYBRID -DHAVE_CONFIG_H -Wall -Wstrict-prototypes -Wmissing-prototypes -DUSE_THREADS  -D_THREAD_SAFE -D_REENTRANT  -Ibeam -Isys/unix -Isys/common -Ii386-apple-darwin8.8.1/opt/hybrid -Ii386-apple-darwin8.8.1 -Izlib -Ihipe -I../include/internal -I../include/internal/i386-apple-darwin8.8.1 -c i386-apple-darwin8.8.1/opt/hybrid/hipe_x86_bifs.S -o obj/i386-apple-darwin8.8.1/opt/hybrid/hipe_x86_bifs.o
make[3]: *** No rule to make target `mach_override.h', needed by `obj/i386-apple-darwin8.8.1/opt/hybrid/hipe_x86_signal.o'.  Stop.
make[2]: *** [opt] Error 2
make[1]: *** [hybrid] Error 2
make: *** [emulator] Error 2

After finding the following post and its accompanying thread, I found that I needed to go get mach_override.c and mach_override.h and place them in the erts/emulator/hipe/ directory:

http://www.nabble.com/Re%3A-Finally%3A-Mac-Intel-patches-p5942623.html

The source files are part of the mach_star library.

Here is the original mach_star library author:

http://rentzsch.com/mach_star/

However, his version of the library only works on PowerPC. Fortunately, someone has recently ported mach_star to Intel:

http://guiheneuf.org/mach%20inject%20for%20intel.html

I downloaded their modified source:

http://guiheneuf.org/Files/mach_star-1.2-intel-0.3.zip

and copied mach_star-1.2-intel-0.3/mach_override/mach_override.[ch] to the macports build directory for erlang, under erts/emulator/hipe/ , and then re-ran "sudo port install erlang". The project built and installed successfully after that.

mach_star and its Intel port look like they're under the Creative Commons Attribution License 2.0. Perhaps that is why they're not included in the port? Sorry for my unfamiliarity with Mac Ports -- I'm new here.

Change History

comment:1 Changed 7 years ago by pipping@…

  • Owner changed from macports-dev@… to bfulgham@…
  • Version changed from 1.3.2 to 1.4

comment:2 Changed 7 years ago by gwright@…

The current portfile is for erlang R11B-3. Does that still fail on Intel?

-Greg

comment:3 Changed 7 years ago by scott@…

Looks like R11B-3 must have been committed right after I tried it. I'll uninstall and give it another shot.

comment:4 Changed 7 years ago by scott@…

erlang R11B-3_1 builds fine on Intel.

sudo port uninstall erlang
sudo port clean --all erlang
sudo port selfupdate
sudo port install erlang

Thanks!

comment:5 Changed 7 years ago by pipping@…

  • Status changed from new to closed
  • Resolution set to invalid
  • Milestone set to Available Ports

comment:6 Changed 7 years ago by jmpp@…

  • Milestone Available Ports deleted

comment:7 Changed 7 years ago by bfulgham@…

Patch contents (as supplied by Brett Eisenberg <brett@…> applied to R11B-4 patch.

Note: See TracTickets for help on using tickets.