On 10/26/12 3:15 AM, Nick Sabalausky wrote:

On Thu, 25 Oct 2012 10:18:54 GMT
"Tyro[17]" me@afidem.org wrote:

I attempted once to install DMD on OSX using the .dmg installer but
it wasn't available. Since then I've simply downloaded the zip file,
unzip it into /usr/share/dmd and create two symlinks to DMD and RDMD
in /usr/bin/. Installation instructions contained in the readme file
of vibe suggests that I use the .dmg installer. Since I did not, I
get the following error after executing vibe:

andrew:vibe andrew$ vibe
Error: module object is in file 'object.d' which cannot be read
import path[0] = /usr/share/vibe/bin/../source
import path[1] = source
import path[2] = /tmp
Failed: 'dmd' '-g' '-w' '-property' '-I/usr/share/vibe/bin/../source'
'-L-levent_pthreads' '-L-levent' '-L-lssl' '-L-lcrypto' '-Jviews'
'-Isource' '-v' '-o-' '/tmp/vpm.d' '-I/tmp'

what do I need to do to configure vibe so that it can finds the D
installation without using this installer?

I don't have OSX, but it looks like something's wrong with your DMD
installation, and specifically dmd.conf. Maybe the .dmg installer left
around a stray dmd.conf that's messing things up.

Try compiling just a basic hello world:

 import std.stdio;
 void main() {
     writeln("Hello");
 }

 % dmd hello.d

I'm guessing you'll get a similar error. If so, do system-wide
search for a file named 'dmd.conf'. It should only show up inside the
'/usr/share/dmd' directory where you unzipped dmd's .zip. If you see one
somewhere else, try renaming it, it might have been left over from
the .dmg installer.

If that doesn't work, then I wonder if maybe DMD is searching for
its files in the directory with the symlink instead of its own
directory like it's supposed to. You could try running it directly with
a full path, instead of using the symlink, just to see if that works.

Thanks Nick, this was indeed an issue with the dmd.conf file. I didn't
make a symlink for it nor did I edit the file top point to the correct
location after making the symlink. The issue as been rectified.