[erlang-questions] R11B-1 on Solaris 10

Mikael Pettersson <>
Tue Nov 7 10:16:14 CET 2006


On Wed, 25 Oct 2006 09:39:52 +0200 (MEST), Mikael Pettersson wrote:
>On Tue, 24 Oct 2006 18:24:20 +0100, Chandru <> wrote:
>> We tried building 64-bit R11B-1 on a AMD Opteron platform running Solaris
>> 10. The only way we could get it to build was by changing line 1352 in
>> erts/configure to:
>> 
>> i86pc)  ARCH=amd64;;
>> 
>> It seems that 'uname -p' returns i386 instead of x86_64 under Solaris 10.
>
>I see that Solaris' `man uname` describes -p as preferred over -m, but
>they fail to mention that uname -p is functionally inferior to -m.
>
>In any case, what does `uname -a`, `isalist`, and `optisa `isalist``
>report on Solaris 10 on AMD64?
>
>erts/configure.in uses `uname -m` not `uname -p`, so unless Sun has
>broken uname, it should report 64-bit capability.
>
>As a last resort (if Sun indeed broke uname), we can add a test in
>erts/configure.in to check for 64-bit capability via the C compiler.

Using the C compiler to check for 32-vs-64 bit mode is the change
we finally implemented and which will appear in R11B-2.

It was needed to support 64-bit mode on Solaris 10, but it also
handles the case where e.g. Linux or FreeBSD is running a 64-bit
kernel on AMD64 but the user for whatever reason is using a compiler
that generates 32-bit code.

/Mikael



More information about the erlang-questions mailing list