rdmd problems (OS X Leopard, DMD 2.052)

Magnus Lie Hetland magnus at hetland.org
Sat Feb 19 05:41:14 PST 2011


Hi!

When I installed DMD 2.051 on my OS X boxen, the rdmd executable didn't 
work. I saw others have similar problems online, and concluded that it 
must have been compiled for a more recent version of OS X (Snow 
Leopard, I guess) without the necessary compatibility flags.

I found the rdmd sources online [1] and compiled them myself. (Luckily, 
the other binaries work just fine.) No problems.

Now I'm trying to get DMD 2.052 to work. Same issue with the rdmd 
executable. I tried to compile the same rdmd.d file with the new 
compiler/stdlib, but that failed.

$ dmd rdmd.d
std.contracts has been scheduled for deprecation. Please use 
std.exception instead.
std.date and std.dateparse have been scheduled for deprecation. Please 
use std.datetime instead.
rdmd.d(34): Error: std.regexp.split at 
./../../src/phobos/std/regexp.d(498) conflicts with std.string.split at 
./../../src/phobos/std/string.d(69)
rdmd.d(34): Error: function std.regexp.split (string s, RegExp pattern) 
is not callable using argument types (string)
rdmd.d(34): Error: expected 3 function arguments, not 1

I'm sure I can fix this myself -- but I'm guessing there must be a more 
recent version of the rdmd sources somewhere, assuming that the binary 
in the distribution was compiled with dmd 2.052...? The version in the 
trunk at dsource.org seems to be three months old...

For now I just compiled the rdmd.d from dsource.org with dmd 2.051, and 
use that with dmd 2.052. As rdmd is basically an independent entity, I 
guess that should work well, but this isn't exactly user-friendly 
(i.e., having to replace one of the binaries in the distro with one 
compiled with an older compiler, using sources obtained elsewhere... 
:->).

Not sure if I'm missing The Way to Do It[tm], or if perhaps I should 
submit an issue about this?

[1] http://www.digitalmars.com/d/2.0/rdmd.html

-- 
Magnus Lie Hetland
http://hetland.org



More information about the Digitalmars-d-learn mailing list