Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#11490 closed defect (invalid)

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 (7)

comment:1 Changed 18 years ago by pipping@…

Owner: changed from macports-dev@… to bfulgham@…
Version: 1.3.21.4

comment:2 Changed 18 years ago by gwright@…

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

-Greg

comment:3 Changed 18 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 18 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 18 years ago by pipping@…

Milestone: Available Ports
Resolution: invalid
Status: newclosed

comment:6 Changed 18 years ago by jmpalacios (Juan Manuel Palacios)

Milestone: Available Ports

comment:7 Changed 18 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.