[erlang-questions] Trouble compiling erlang on OS X intel
Sun Jul 15 07:15:58 CEST 2007
> Darwin Ports has changed it's name to Mac Ports (http://
> www.macports.org/). I installed R11B-4 with
> Mac Ports without any problem. I'm just not up to date... R11B-5 is
> Also, there is an smp variant available for the Mac Ports erlang
> package... I think you would do:
> port install erlang +smp
> Or something like that.
Ah, I wasn't aware of the variant-system in Macports, that saved me
quite some time, thank you. FreeBSD's ports (on with Mac Ports is
based) uses environment variables for that.
Is there a way to convince Erlang that "-smp enable" should be the
default once SMP support is included?
> Mikael Pettersson wrote:
>> On Sat, 14 Jul 2007 13:12:29 -0700, David King wrote:
>>> I'm having trouble compiling Erlang R11B-5 on OS X.4 on an Intel
>>> MacBook Pro. It fails saying that it can't find "mach_override.h",
>>> which doesn't appear anywhere on my machine.
>>> ~/Desktop/otp_src_R11B-5% ./configure --enable-smp-support --enable-
>>> threads --enable-kernel-poll --enable-hipe --prefix=/usr/local --
>>> ssl && make
>>> gcc -mdynamic-no-pic -g -O2 -I/Users/dking/Desktop/otp_src_R11B-5/
>>> erts/i386-apple-darwin8.10.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-
>>> opt/hybrid -Ii386-apple-darwin8.10.1 -Izlib -Ihipe -I../include/
>>> internal -I../include/internal/i386-apple-darwin8.10.1 -c i386-
>>> darwin8.10.1/opt/hybrid/hipe_x86_bifs.S -o obj/i386-apple-
>>> make: *** No rule to make target `mach_override.h', needed by
>>> i386-apple-darwin8.10.1/opt/hybrid/hipe_x86_signal.o'. Stop.
>>> make: *** [opt] Error 2
>>> make: *** [hybrid] Error 2
>>> make: *** [emulator] Error 2
>>> If I do the same without --enable-hipe it works, but the Erlang from
>>> Darwinports has hipe and it works just fine (although it doesn't
>>> SMP support, which is important to me), so I know hipe works with
>>> OS X.
>>> I see that Darwinports actually ships with mach_override.h:
>>> % find /opt -name mach_override.h
>>> I also see that Darwinports has some other files necessary for
>>> % ls /opt/local/var/db/dports/sources/
>>> mach_override.c mach_override.h patch-toolbar.erl
>>> So is there a generalised OS X patchset that I'm missing?
>> You just answered your own question. Use Darwinports (whatever
>> that is).
>> Support for HiPE on OSX/x86 in the vanilla OTP tarballs is only
>> It requires the mach_override stuff, and is totally unsupported since
>> (1) it does weird things (mach_override), and (2) we (the HiPE group)
>> don't have OSX/x86 machines.
>> Just ask whoever's in charge of Erlang in Darwinports to enable SMP,
>> or get the source code for their patched Erlang package and enable
>> SMP yourself. It probably just needs ./configure --enable-smp-
>> erlang-questions mailing list
> erlang-questions mailing list
More information about the erlang-questions