Thread overview
dmd.conf problems on dmd.2.019 (object.d not readable)
Oct 26, 2008
Charles Hixson
Oct 27, 2008
ore-sama
Oct 27, 2008
BCS
October 26, 2008
Message:
object.d: module object cannot read file 'object.d'

The fix was to alter dmd.conf, thus:

[Environment]

DFLAGS=-I/usr/local/dmd/src/phobos -L-L/usr/local/dmd/lib
#DFLAGS=-I%@P%/../src/phobos -L-L%@P%/../lib

I'm running on Ubuntu Hardy Heron.  dmd is installed in /usr/local/dmd, but the execution is via symbolic links in /usr/local/bin.  My guess is that it's reading the compilation path via the links rather than the installation location.

Sorry I didn't file this via Bugzilla, but I'm on the wrong computer, and I don't have my account memorized.
October 27, 2008
Charles Hixson Wrote:

> Message:
> object.d: module object cannot read file 'object.d'
> 
> The fix was to alter dmd.conf, thus:
> 
> [Environment]
> 
> DFLAGS=-I/usr/local/dmd/src/phobos -L-L/usr/local/dmd/lib #DFLAGS=-I%@P%/../src/phobos -L-L%@P%/../lib
> 
> I'm running on Ubuntu Hardy Heron.  dmd is installed in /usr/local/dmd, but the execution is via symbolic links in /usr/local/bin.  My guess is that it's reading the compilation path via the links rather than the installation location.

But how can it know, where it's installed?
%@P% is replaced with directory of conf file, where does it reside?
October 27, 2008
"Charles Hixson" wrote
> Message:
> object.d: module object cannot read file 'object.d'
>
> The fix was to alter dmd.conf, thus:
>
> [Environment]
>
> DFLAGS=-I/usr/local/dmd/src/phobos -L-L/usr/local/dmd/lib #DFLAGS=-I%@P%/../src/phobos -L-L%@P%/../lib
>
> I'm running on Ubuntu Hardy Heron.  dmd is installed in /usr/local/dmd, but the execution is via symbolic links in /usr/local/bin.  My guess is that it's reading the compilation path via the links rather than the installation location.
>
> Sorry I didn't file this via Bugzilla, but I'm on the wrong computer, and I don't have my account memorized.

The benefit of links is that the application does not know that it is a link (and shouldn't try to find out).  This is the expected behavior in my opinion.

-Steve


October 27, 2008
Reply to Charles,

> Message:
> object.d: module object cannot read file 'object.d'
> The fix was to alter dmd.conf, thus:
> 
> [Environment]
> 
> DFLAGS=-I/usr/local/dmd/src/phobos -L-L/usr/local/dmd/lib
> #DFLAGS=-I%@P%/../src/phobos -L-L%@P%/../lib
> 
> I'm running on Ubuntu Hardy Heron.  dmd is installed in
> /usr/local/dmd, but the execution is via symbolic links in
> /usr/local/bin.  My guess is that it's reading the compilation path
> via the links rather than the installation location.
> 
> Sorry I didn't file this via Bugzilla, but I'm on the wrong computer,
> and I don't have my account memorized.
> 

IIRC On linux you can get away with not using a dmd.conf at all. It requiters that stuff be put in all the right places.

I have a script that seems to work most places I have used it (YMMV so take it more as guide lines)

http://www.dsource.org/projects/scrapple/browser/trunk/scripts/dmd_update