[erlang-questions] Source patch for R12B-0 available

Rickard Green <>
Thu Dec 13 16:41:40 CET 2007


$ uname -a
SunOS xxx 5.10 Generic_125100-10 sun4u sparc SUNW,Ultra-5_10

BR,
Rickard Green, Erlang/OTP, Ericsson AB.

Ognian Pantov [ MTN - Innovation Centre ] wrote:
> Hi,
> 
> We can build R12B-0 without the patch on Netra T2000 (SMP) and Netra 440 (No SMP) using Sun tar or GNU tar, with or without -64 flag passed to ld. There is no other Erlang on the box.
> 
> We can't build R12B-0 with the patch on Netra T2000 and Netra 440 using Sun tar or GNU tar, with or without -64 flag passed to ld. There is no other Erlang on the box.
> 
> What is the hardware you are using to build Solaris 10?
> 
> If do env CC=/tmp/gcc64 ./configure --enable-smp-support --prefix=/usr/local/erlang/R11-1 on Netra 440 using R11B-1 we got:
> 
> checking whether an emulator with smp support should be built... yes; enabled by user 
> configure: error: cannot build smp enabled emulator since hardware platform (ultrasparc wordsize=8) is not supp
> orted
> configure: error: /export/home/smscproj/install/otp_src_R11B-1/erts/configure failed for erts
> 
> If we do env CC=/tmp/gcc64 ./configure --enable-smp-support --prefix=/usr/local/erlang/R12B-0
> configure finish successfully! We can build OK without patch and we fail to build with the patch.
> 
> Best regards
> Ognian
> 
> -----Original Message-----
> From: Rickard Green [mailto:]
> Sent: Thursday, 13 December 2007 01:15
> To: Valentin Micic
> Cc: Ognian Pantov [ MTN - Innovation Centre ]; Kenneth Lundin; Sean
> Hinde; Erlang/OTP discussions; 
> Subject: Re: [erlang-questions] Source patch for R12B-0 available
> 
> 
> Valentin Micic wrote:
>> Not sure how is gnu tar related to the problem, but we'll try...
>>
> 
> As far as I know solaris tar and gnu tar are slightly incompatible, and 
> that you might get silent errors if you extract using solaris tar. I'm 
> no tar expert, though, I might be wrong, but by using gnu tar you will 
> at least remove one possible error source.
> 
>> When we've run "truss" command using 'erlc' and arguments as indicated 
>> immediately when build "hangs", the execution fails because it cannot 
>> locate 'erl'. Unfortunately, the 'erl' hasn't been build at this point, 
>> so I am at loss... it appears to me that 'erlc' is invoked to early, 
>> that is to say, before 'erl' has been created. Thus, two questions for 
>> your consideration, if you please:
>>
>> 1) Could it be that patch is inserted at a wrong place;
> 
> Perhaps, but I've also used gpatch (version 2.5.4), and it works for me. 
> You could try to apply the patch manually if you want. Modify all files 
> included in the patch manually except for otp_src_R12B-0/configure, and 
> otp_src_R12B-0/erts/configure then cd into otp_src_R12B-0 and run 
> "./otp_build autoconf" (you need to have autoconf 2.59 in your path). If 
> you search for "diff -Naur" in the patch file, you will easily find the 
> beginning of each diff.
> 
>> 2) Could it be that your build is successful because you do have erl 
>> somewhere in your path (I mean erl that you've build before via separate 
>> build) -- I've checked it over and over again: erlc will try to invoke 
>> erl using any path specified in your $PATH variable.
>>
> 
> The top makefile puts the bootstrap/bin directory (where the bootstrap 
> erl and erlc resides) first in your path during the build. I've also 
> successfully built it without any erl and erlc in the path and without 
> ERLC_EMULATOR set, and also using the runtime system with resp. without 
> smp support.
> 
> You could also try to enable/disable smp support for erlc by putting 
> -smpenable/-smpdisable in the ERL_ZFLAGS environment variable before 
> building and see if it makes any difference.
> 
> BR,
> Rickard Green, Erlang/OTP, Ericsson AB.
> 
>> Thanks for your effort so far.
>>
>> Kind Regards,
>> V.
>>
>>
>> ----- Original Message ----- From: "Rickard Green" 
>> <>
>> To: "Ognian Pantov [ MTN - Innovation Centre ]" <>
>> Cc: "Kenneth Lundin" <>; "Sean Hinde" 
>> <>; "Erlang/OTP discussions" 
>> <>; <>; "Valentin 
>> Micic" <>
>> Sent: Wednesday, December 12, 2007 2:05 PM
>> Subject: Re: [erlang-questions] Source patch for R12B-0 available
>>
>>
>>> It builds fine for me on solaris 10.
>>>
>>> Are you extracting the tar file with gnu tar? If not, you need to.
>>>
>>> Instead of using CC I put a script called gcc (similar to yours) in 
>>> the path and also a script called ld (passing -64 as argument to ld) 
>>> in the path.
>>>
>>> I use gcc 3.4.4.
>>>
>>> BR,
>>> Rickard Green, Erlang/OTP, Ericsson AB.
>>>
>>>
>>> Ognian Pantov [ MTN - Innovation Centre ] wrote:
>>>> Hi,
>>>>
>>>> We are having a problem making R12B-0 with the patch on Solaris 10.
>>>> We can make and run R12B-0 without the patch on the same machine. See 
>>>> below for details of our environment.  When we are trying to make 
>>>> R12B-0 with the patch, make hangs when is trying to compile 
>>>> hipe_rtl_arch.erl file.
>>>> ********************************************************************************************************* 
>>>>
>>>> make[2]: Leaving directory 
>>>> `/export/home/smscproj/install/otp_src_R12B-0/lib/parsetools'
>>>> make[2]: Entering directory 
>>>> `/export/home/smscproj/install/otp_src_R12B-0/lib/asn1/src'
>>>> make[2]: Nothing to be done for `opt'.
>>>> make[2]: Leaving directory 
>>>> `/export/home/smscproj/install/otp_src_R12B-0/lib/asn1/src'
>>>> make[2]: Entering directory 
>>>> `/export/home/smscproj/install/otp_src_R12B-0/lib/hipe'
>>>> Makefile:35: warning: overriding commands for target `docs'
>>>> /export/home/smscproj/install/otp_src_R12B-0/make/otp_subdir.mk:28: 
>>>> warning: ignoring old commands for target `docs'
>>>> === Entering application hipe
>>>> make[3]: Entering directory 
>>>> `/export/home/smscproj/install/otp_src_R12B-0/lib/hipe/rtl'
>>>> /export/home/smscproj/install/otp_src_R12B-0/bin/sparc-sun-solaris2.10/hipe_mkliterals 
>>>>  -e > hipe_literals.hrl
>>>> erlc -W  +debug_info +warn_obsolete_guard +inline -o../ebin 
>>>> hipe_rtl_arch.erl
>>>>
>>>> !!! We stay here till we kill the process!
>>>> ******************************************************************************************************** 
>>>>
>>>> The command patch doesn't support -Z option on Solaris (it does on 
>>>> Linux) and we use gpatch instead.
>>>> We try to patch the source code on Linux and make on Solaris - the 
>>>> result is the same the process hangs during compilation on 
>>>> hipe_rtl_arch.erl.
>>>>
>>>> We tryed to compile hipe_rtl_arch.erl manually but environment 
>>>> doesn't seem to be ready yet.
>>>>
>>>> Any ideas what may cuase this problem?
>>>>
>>>> Best regards
>>>> Ognian
>>>>
>>>> --------------------------Environment-------------------------------------------- 
>>>>
>>>> The make for R12B-0 with and without patch is done on the same 
>>>> machine using the same procedure.
>>>> We are using Sun Netra-T2000 running Solaris 10 patch level 
>>>> 125100-05. We use GCC 3.4.6.
>>>>
>>>> To compile 64 bit code we do:
>>>>
>>>> cat>/tmp/gcc64
>>>> #!/bin/sh
>>>> exec gcc -m64 "$@"
>>>> ^D
>>>>
>>>> chmod +x /tmp/gcc64
>>>>
>>>> Every time we make we remove the old otp_src_R12B-0 directory and 
>>>> start from scratch.
>>>>
>>>> tar -xvf otp_src_R12B-0.tar
>>>> gpatch -ZNp0 < otp_src_R12B-0-osp1.patch ( only with patch )
>>>>
>>>> env CC=/tmp/gcc64 ./configure --enable-smp-support 
>>>> --prefix=/usr/local/erlang/R12B-0
>>>> make
>>>> --------------------------------------------------------------------------------------- 
>>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Kenneth Lundin [mailto:]
>>>> Sent: Monday, 10 December 2007 02:33
>>>> To: Valentin Micic
>>>> Cc: Sean Hinde; Rickard Green; Erlang/OTP discussions; Ognian Pantov [
>>>> MTN - Innovation Centre ]; 
>>>> Subject: Re: [erlang-questions] Source patch for R12B-0 available
>>>>
>>>>
>>>> Hi,
>>>>
>>>> Since the combination SMP and 64 bit sparc apparently never has worked
>>>> in R11B you can't have any system in service dependent on this patch
>>>> do you?
>>>>
>>>> So if you are planning on using the SMP emulator for the first time 
>>>> in a product
>>>> I would really recommend that you put your old policy away and go for 
>>>> R12B.
>>>>
>>>> The reasons for that are in my opinion many:
>>>> - R12B is the most stable version with best performance when it comes
>>>> to SMP execution.
>>>> R12B is the version where we will have regular service releases with 
>>>> patches and
>>>> improvements.
>>>> R12B is the version where improvements regarding SMP will appear.
>>>> R12B is the version where we may support more platforms.
>>>> Bugs found by open source users in R12B AND PREVIOUS releases will be
>>>> corrected in R12B-1, 2, ..., etc.
>>>>
>>>> /Regards Kenneth Erlang/OTP team, Ericsson AB
>>>>
>>>> On 12/9/07, Valentin Micic <> wrote:
>>>>> May I second what Sean is asking for?
>>>>> I would really appreciate a fix for R11B-5 -- we have a policy not 
>>>>> to run
>>>>> the latest release on production systems, and absence of the patch 
>>>>> would
>>>>> force us to do so. Make no mistake, I really like what I saw in R12 
>>>>> so far,
>>>>> but we'd like to migrate on our own pace.
>>>>> Your cooperation will be *highly* appreciated.
>>>>>
>>>>> Valentin Micic
>>>>> Principal Consultant
>>>>> PHAROS CONSVLTING (PTY) LTD.
>>>>> Cell: +27 83 212 9180
>>>>>
>>>>> ----- Original Message -----
>>>>> From: "Sean Hinde" <>
>>>>> To: "Rickard Green" <>
>>>>> Cc: "Erlang/OTP discussions" <>
>>>>> Sent: Sunday, December 09, 2007 1:51 AM
>>>>> Subject: Re: [erlang-questions] Source patch for R12B-0 available
>>>>>
>>>>>
>>>>>> Hi Rikard,
>>>>>>
>>>>>> Do you have any plans to release a patch for those using R11B-5 on 64
>>>>>> bit sparc? I'm thinking mainly of the OTP-7006 issue, initially
>>>>>> reported on R11B-5.
>>>>>>
>>>>>> Thanks,
>>>>>> Sean
>>>>>>
>>>>>> On 7 Dec 2007, at 14:17, Rickard Green wrote:
>>>>>>
>>>>>>> A patch that fixes the following issues is now available at
>>>>>>> http://www.erlang.org/download.html . Instructions for applying
>>>>>>> the patch can be found in the patch README.
>>>>>>>
>>>>>>> BR,
>>>>>>> Rickard Green, Erlang/OTP, Ericsson AB.
>>>>>>>
>>>>>>> ------------------------------------------------------------------------ 
>>>>>>>
>>>>>>>
>>>>>>> OTP-7006  The SMP emulator on sparc64 erroneously used the sparc32
>>>>>>>           atomic and the sparc32 spinlock implementations which
>>>>>>>           caused it to crash.
>>>>>>>
>>>>>>> OTP-7012  Matching an empty binary in a record and then using the
>>>>>>>           same record again could cause a compiler crash.
>>>>>>>
>>>>>>>           Example code that triggers the crash:
>>>>>>>
>>>>>>>           -record(r, {a,b}).
>>>>>>>           t(R) ->
>>>>>>>             #r{a = <<>>} = R,
>>>>>>>             R#r.b.
>>>>>>>
>>>>>>> OTP-7013  file:read/2 and file:consult_stream/1,3 did not use an 
>>>>>>> empty
>>>>>>>           prompt on I/O devices. This bug has now been corrected.
>>>>>>>
>>>>>>> OTP-7014  configuring --enable-darwin-universal or --enable-
>>>>>>> darwin-64bit
>>>>>>>           on MacOSX could result in a non optimized emulator. Top
>>>>>>> level
>>>>>>>           configure script now corrected.
>>>>>>>
>>>>>>> OTP-7015  configuring --with-gd did not produce correct include flags
>>>>>>>           for percept.
>>>>>>>
>>>>>>> ------------------------------------------------------------------------ 
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> erlang-questions mailing list
>>>>>>> 
>>>>>>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>>>>> _______________________________________________
>>>>>> erlang-questions mailing list
>>>>>> 
>>>>>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>>>> _______________________________________________
>>>>> erlang-questions mailing list
>>>>> 
>>>>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>>>>
>>>> NOTE: This e-mail message is subject to the MTN Group disclaimer see 
>>>> http://www.mtn.co.za/default.aspx?pid=34411 
>>
> NOTE: This e-mail message is subject to the MTN Group disclaimer see http://www.mtn.co.za/default.aspx?pid=34411 
> 



More information about the erlang-questions mailing list