Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Missing library file?

Moderators: kris

Posted: 02/20/07 03:24:02

Looks like a missing library file when trying to compile a program...

/home/zzzzrrr/dmd/include/tango/tango/text/convert/Float.d(26): module Exception cannot read file 'tango/core/Exception.d'

Float.d is trying to import tango.core.Exception, but the Exception.d file is missing from /tango/core!

Author Message

Posted: 02/20/07 08:40:54

tango.core.Exception is generated in the initial build process, and becomes tango/core/Exception.di . If you check out Tango from svn, you need to make sure that you run one of the lib/build-* scripts. If you don't have the above file after this, check for errors in the output from the build script. If you still haven't resolved the issue, you may have stumbled upon a bug, permission problems, or similar.

Posted: 02/20/07 11:14:28

larsivi wrote:

tango.core.Exception is generated in the initial build process, and becomes tango/core/Exception.di . If you check out Tango from svn, you need to make sure that you run one of the lib/build-* scripts. If you don't have the above file after this, check for errors in the output from the build script. If you still haven't resolved the issue, you may have stumbled upon a bug, permission problems, or similar.

Thanks for the quick response and help. I actually checked out the SVN using the install script and instructions using the following commands as root.

$ wget http://svn.dsource.org/projects/tango/trunk/lib/install-dmd.sh $ chmod +x install-dmd.sh $ ./install-dmd.sh /usr/local --download-all

Posted: 02/20/07 11:16:50

}}} $ wget http://svn.dsource.org/projects/tango/trunk/lib/install-dmd.sh $ chmod +x install-dmd.sh $ ./install-dmd.sh /usr/local --download-all }}}

Opps, looks like the carriage returns did not come through on the message; these are all separate shell commands

Posted: 02/20/07 11:27:31

The install script only installs what is already built by the build scripts. In the release downloads this is already done for you. So, from SVN you need to run both lib/build-dmd.sh or lib/build-gdc.sh + install-dmd/gdc.sh

Posted: 02/28/07 00:47:41

Ok, I'm taking another swing at Tango on my Linux box. I don't want to give up, considering all the good features... I have Tango installed and can compile the basic hello.d program, but whenever I try to compile any of the examples the compiler always complains that it can't find 'tango/core/Exception.d'

Surprise, surprise, the file is not actually there, nor is it included in the Tango download. I also looked in the Tango SVN trunk, it says the following:

Property svn:ignore set to: Exception.di, Thread.di, Memory.di

Why are these files now excluded, yet many of the example programs require them? Did I do something wrong (yet-again) on the install?

Thanks, Mason

Posted: 02/28/07 01:05:59

These files are generated by the build script trunk/lib/build-dmd.sh into trunk/tango/core. If you run this script before installing Tango to wherever you want it to live, you should see them.

Posted: 02/28/07 02:52:46

Ok, I FINALLY have everything working now. Thanks a lot for the assistance. To be honest, the Tango install scripts have never worked on my Linux (Suse 10.2 x86_64) system, even when I ran the build script first. I have had to compile and move all the appropriate directories manually. Through a process of trial and error I finally nailed it...

I did install Tango successfully on my Windows computer at work without much effort. Hopefully the Tango 1.0 installation process with be much smoother for Linux. Most other newbies would have given up a long time ago. To say the least, I am determined to code and have fun with D+Tango.

Thanks a lot for the install help.... Now maybe I can actually come up with a few programming questions :-)

Posted: 02/28/07 05:10:44

Sorry about that. I'd help you with the install script but I've never used it. I have a script I use to publish Tango to my include area.

Posted: 02/28/07 13:45:59

sean wrote:

Sorry about that. I'd help you with the install script but I've never used it. I have a script I use to publish Tango to my include area.

Has anyone through about an RPM install for Linux on the next Tango release? I think it would make things MUCH easier....

Posted: 02/28/07 14:03:46

zzzzrrr wrote:

Has anyone through about an RPM install for Linux on the next Tango release? I think it would make things MUCH easier....

Well, that would depend on your distribution :) Package formats like RPM and DEB will most likely have to come through contributions.

Posted: 03/20/07 17:21:18

I'll provide some packages on the gdcgnu site, for GDC 0.24 or so. (currently in testing)

The theory is to split the "gdc" package into several: gdc, gdc-phobos-devel / gdc-tango-devel
There's also a matching (non-distributable) DMD set: dmd, dmd-phobos-devel / dmd-tango-devel