Am I the only one who cannot build a plt under OSX 10.6 in R13B02-1?
No matter what applications I specify for the initial plt it just
hangs eating processing power but not producing anything.
Erlang was installed with homebrew, but that shouldn't matter. Or
maybe it does. (beam is compiled for 64 bit)
Here is the command I used:
dialyzer --build_plt -r /usr/local/Cellar/erlang/R13B02-1/lib/erlang/
lib/erts-5.7.3/ebin/ /usr/local/Cellar/erlang/R13B02-1/lib/erlang/lib/
kernel-2.13.3/ebin/ /usr/local/Cellar/erlang/R13B02-1/lib/erlang/lib/
stdlib-1.16.3/ebin/
I gave waiting for it to finish after ~1 hour (on an old type white
MacBook (MacBook2,1) with 2GB of RAM).
The info I get from the dialyzer seems to suggest that it still
assumes that erts version is 5.7 can the problem be around there?
Checking whether the PLT /Users/lestat/.dialyzer_plt is up-to-
date...dialyzer: Could not find the PLT: /Users/lestat/.dialyzer_plt
Use the options:
--build_plt to build a new one; or
--add_to_plt to add to an existing PLT
For example (in an installed Erlang/OTP system):
dialyzer --build_plt -r $ERL_TOP/lib/erts-5.7/ebin\
$ERL_TOP/lib/kernel/ebin\
$ERL_TOP/lib/stdlib/ebin\
$ERL_TOP/lib/mnesia/ebin\
$ERL_TOP/lib/crypto/ebin
Note that building a PLT such as the above may take 20 mins or so
If I try to use a plt generated on another machine (on Ubuntu there
does not seem to be a problem) it seems to work.
P.S.: I've tried rebuilding erlang with and without disable-debug flag
as well to no avail.
Tamas Nagy
Erlang Training & Consulting
http://www.erlang-consulting.com
________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org
None of the dialyzer developers has access to such a machine to see
what's happening. Perhaps somebody else in that list might want to
report whether this is reproducible or not.
However, perhaps the following might help: when building the PLT, do you
see a message:
Compiling some key modules to native code...
If so, can you disable hipe (64-bit Mac is not a platform we have ever
tested due to no access to such a machine) to see whether this may be
the culprit?
Kostis
This is what all I get:
$ dialyzer --build_plt -r /usr/local/Cellar/erlang/R13B02-1/lib/erlang/
lib/erts-5.7.3/ebin/ /usr/local/Cellar/erlang/R13B02-1/lib/erlang/lib/
kernel-2.13.3/ebin/ /usr/local/Cellar/erlang/R13B02-1/lib/erlang/lib/
stdlib-1.16.3/ebin/
Creating PLT /Users/lestat/.dialyzer_plt ...
I will try to rebuild erlang with disabling hipe to see if that helps.
I am happy to run some tests/traces you would like to see the results
of to help.
Regards,
Tamas
Tamas Nagy
Erlang Training & Consulting
http://www.erlang-consulting.com
Are you using homebrew?
So far it seems that homebrew applies some c compiler magic (e.g optimizations) when building erlang which somehow borks dialyzer (strange) as compiling from source with the same ./configure options homebrew uses results in an erlang installation which works like a charm.
Regards,
Tamas
----- "Tino Breddin" <tino.b...@erlang-consulting.com> wrote:
> Hey Tamas,
>
> Here's the output for the command run on my machine (Macbook Pro Core
>
> Duo, running OSX 10.6.1 32-bit):
>
> dialyzer --build_plt -r /usr/local/Cellar/erlang/R13B02-1/lib/erlang/
>
> lib/erts-5.7.3/ebin/ /usr/local/Cellar/erlang/R13B02-1/lib/erlang/lib/
>
> kernel-2.13.3/ebin/ /usr/local/Cellar/erlang/R13B02-1/lib/erlang/lib/
>
> stdlib-1.16.3/ebin/
> Creating PLT /Users/tino/.dialyzer_plt ...
> Unknown functions:
> compile:file/2
> compile:forms/2
> compile:noenv_forms/2
> compile:output_generated/1
> crypto:des3_cbc_decrypt/5
> crypto:start/0
> done in 46m22.52s
> done (passed successfully)
>
> Apparently it takes some time to complete but you'll get there.
>
> Cheers,
> Tino
>
> On Nov 8, 2009, at 11:35 PM, Tamas Nagy wrote:
>
> > Hi Kostis,
> >
> > This is what all I get:
> > $ dialyzer --build_plt -r /usr/local/Cellar/erlang/R13B02-1/lib/
> > erlang/lib/erts-5.7.3/ebin/ /usr/local/Cellar/erlang/R13B02-1/lib/
> > erlang/lib/kernel-2.13.3/ebin/
> /usr/local/Cellar/erlang/R13B02-1/lib/
> > erlang/lib/stdlib-1.16.3/ebin/
--
Tamas Nagy
Erlang Training & Consulting
http://www.erlang-consulting.com
________________________________________________________________
The problem has been solved in homebrew. Aggressive optimisation for
some reason doesn't go well with dialyzer.
The error would probably have shown its ugly head in different
applications as well. dialyzer was only the unlucky one to reliable
trigger it.
For all the gory details:
http://github.com/mxcl/homebrew/issues/closed/#issue/120
Tamas Nagy
Erlang Training & Consulting
http://www.erlang-consulting.com
On 9 Nov 2009, at 11:50, Tino Breddin wrote:
> Hi Tamas,
>
> Yes I used homebrew as well. That sounds strange, might it be that
> those optimizations have a negative impact on the Erlang performance
> on Mac OSX?
>
> Cheers,
> Tino
I have been misinforming the mailing list here (unintentionally, lack
of information is the reason).
The problem is not with aggressive optimisation or it depends how you
look at it as homebrew on Snow Leopard uses the new llvm compiler as
the default c compiler.
This in case of erlang did not go too well. If somebody has the urge
to get llvm compiled erlang working this is one issue which has to be
solved.
Tamas Nagy
Erlang Training & Consulting
http://www.erlang-consulting.com