[erlang-questions] BIFs and dialyzer 1.8.3

Michael Radford <>
Thu Jan 15 23:40:01 CET 2009


I'm in the process of upgrading to R12, and I'm trying to build a
default dialyzer PLT, equivalent to the dialyzer_init_plt that used to
ship with OTP.

When I run this command (using R12B-5, dialyzer 1.8.3):

	dialyzer --plt dialyzer_init_plt --build_plt \
	         -r /usr/lib/erlang/lib/stdlib-*/ebin \
	         -r /usr/lib/erlang/lib/kernel-*/ebin \
	         -r /usr/lib/erlang/lib/mnesia-*/ebin

I get the following warnings:

re.erl:41: Call to missing or unexported function unicode:characters_to_binary/2
re.erl:134: Call to missing or unexported function unicode:characters_to_list/2
re.erl:200: Call to missing or unexported function re:compile/2
re.erl:226: Call to missing or unexported function unicode:characters_to_binary/2
re.erl:245: Call to missing or unexported function unicode:characters_to_list/2
re.erl:505: Call to missing or unexported function unicode:characters_to_list/2
re.erl:545: Call to missing or unexported function unicode:characters_to_binary/2

However, those functions do all exist, as BIFs:

1> erlang:is_builtin(re,compile,2).
true
2> erlang:is_builtin(unicode,characters_to_binary,2).
true
3> erlang:is_builtin(unicode,characters_to_list,2).  
true

Does anyone know what might be going on here?  (The R12 installation is
the only erlang on the box, so it's not that I'm running the wrong
dialyzer version or anything like that.  I verified that the dialyzer and
shell invocations shown above are both running the same beam executable.)

Thanks,

Mike



More information about the erlang-questions mailing list