[erlang-questions] Can't run my command line Erlang program

Andrew Pennebaker andrew.pennebaker@REDACTED
Thu Nov 21 01:06:57 CET 2013


Thanks! "dialyzer --build_plt --apps erts kernel stdlib" fixes this. My
Makefile now looks like:

https://github.com/mcandre/mcandre/blob/master/erlang/Makefile

...would be nice if Erlang automatically generated this PLT as post-install.


On Sat, Nov 16, 2013 at 6:26 AM, Kostis Sagonas <kostis@REDACTED> wrote:

> On 11/15/2013 10:34 PM, Andrew Pennebaker wrote:
>
>> Thanks, I might do that!
>>
>> ...so there's no way to tell dialyzer to just automatically add stdlibs
>> to plt?
>>
>
> Dialyzer is agnostic of what stdlib is, whether it contains a module named
> string or not, or for that matter whether you want to use the string module
> from stdlib or some other module named string in your application.  So you
> need to tell it what applications to cache in your .dialyzer_plt  when you
> build it for the first time.
>
> By the way, the sequence of commands you use below is not the one that I
> would use. Instead, I would first build a minimal PLT once:
>
>     dialyzer --build_plt --apps erts kernel stdlib
>
> and then use this PLT to analyze the modules of my application:
>
>     erlc -Wall +debug_info *.erl
>     dialyzer *.beam
>
> You do not need to add your application's modules to the PLT to analyze
> them. If at some point you discover that you need more stuff from the OTP
> libraries to analyze your application (e.g. the 'random' module), you can
> add them incrementally by a command of the form:
>
>     dialyzer --add_to_plt --apps crypto
>
> Hope it helps,
>
> Kostis
>
>  On Fri, Nov 15, 2013 at 2:52 AM, Anthony Molinaro
>> <anthonym@REDACTED <mailto:anthonym@REDACTED>> wrote:
>>
>>     You can add them to your .plt with something like
>>
>>     # dialyzer --add_to_plt --apps crypto stdlib proper ...
>>
>>     Which should get rid of the warnings.
>>
>>     -Anthony
>>
>>
>>     On Nov 14, 2013, at 8:03 PM, Andrew Pennebaker
>>     <andrew.pennebaker@REDACTED <mailto:andrew.pennebaker@REDACTED>>
>>
>>     wrote:
>>
>>      Is there a way to clear the "unknown functions" from dialyzer
>>>     output? They tend to distract from any warnings I'm trying to find.
>>>
>>>     $ make lint
>>>     erlc -Wall +debug_info ios7crypt.erl
>>>     dialyzer *.beam --build_plt --quiet
>>>     dialyzer *.beam
>>>
>>
>


-- 
Cheers,

Andrew Pennebaker
www.yellosoft.us
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20131120/442891a3/attachment.htm>


More information about the erlang-questions mailing list