Closed jaynel closed 6 years ago
Curious. I'll try to reproduce, thanks.
The solution is to switch the boot script from start_clean to no_dot_erlang for some operations Erlang.mk does. I'm trying to see when this was introduced.
It was introduced in R16B03. I'm not sure what to do about it yet.
I suppose we could look for the .erlang file and require R16B03+ when it exists.
An alternative could be to allow overriding the ERL variable to use no_dot_erlang when needed. I'm leaning toward this solution right now, considering few people seem to have run into this issue at this point.
This will no longer be an issue in OTP 21 because of:
OTP-14439 Application(s): compiler, dialyzer, erts, stdlib
Changed the default behaviour of .erlang loading:
.erlang is no longer loaded from the current directory.
c:erlangrc(PathList) can be used to search and load an
.erlang file from user specified directories.
escript, erlc, dialyzer and typer no longer load an
.erlang at all.
Closing, thanks!
Enough time has passed, I am enabling no_dot_erlang
by default now.
I have a ~/.erlang file with the following in it:
If I comment out the io:format I get a different error, due to unexpected stdout data:
When I add the following to Makefile, I can run dialyzer with 'make my_dialyzer':
The issue may be something else, like options that are parsed by erl eval, but the error reporting is definitely wrong. I am using the following variable definitions in my Makefile:
This is on Mac OS X.