[rabbitmq-discuss] building bug21673 with erlang R13B4

Matthew Sackman matthew at rabbitmq.com
Wed Jul 21 17:31:57 BST 2010


Hi Tsuraan,

On Wed, Jul 21, 2010 at 11:19:32AM -0500, tsuraan wrote:
> When I'm attempting to build the latest bug21673, I get this compile
> error (in src/rabbit_msg_store.erl and src/rabbit_msg_store_gc.erl):
> 
> src/rabbit_msg_store.erl:146: referring to built-in type tid as a
> remote type; please take out the module name

Ugh. Yes, in R14A, the type is ets:tid(), and in previous versions it's
tid(). They decided not to try and migrate gently... Another example is
that it would seem dict:dictionary() only exists from R14A onwards and
was dict() previously. Weirdly, that issue only shows up when you
actually run "make dialyze" whereas the previous one breaks the
compilation. Very strange.

I've bumped the version requirements for the specs to R14A - if you pull
and update, it should now build for you.

> If I replace the ets:tid() with just tid() in the -spec declarations,
> everything compiles nicely.  Was this one of the changes to make
> rabbit work with R14?  It looks like I could probably get around this
> by setting USE_SPECS to "false" in the Makefile, but it would be nice
> if there were a cleaner way to fix things.

Yeah, it should pick it up from the enviroment too -
"make -j USE_SPECS=false" should work.

Matthew


More information about the rabbitmq-discuss mailing list