Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
November 11, 2006 DMD: Unexpected Directory Structure | ||||
---|---|---|---|---|
| ||||
Hello, I've been following the D forum and announcements for a few months now with great interest and finally decided to jump in. I decided to start with the DMD package for Win32 (later I'll try GDC on my Mac). I unzipped the files as instructed, but I got a directory structure that was unexpected; both by me and apparently by some of the files in the package itself. As per the instructions my root directory had the dm and dmd directories, but the dmd directory has an extra dm and dmd directory within it. On attempting to run the "all.sh" script I got a path error. I edited the script, changing "DMD=\dmd\bin\dmd" to "DMD=\dmd\dmd\bin\dmd". After this change the first example compiled but I got another path error on linking. After scratching my head a bit and looking at some documentation, I discovered that the link path is defined in the sc.ini file. I added an extra parent directory bump to the path for the linker and most everything seems to work. While all this poking around was highly instructional, one normally does not expect this kind of "exercise for the reader" when starting out. Did I miss a step in the installation? What's going on here? Thanks, Wayne _________________ Wayne Anderson |
November 11, 2006 Re: DMD: Unexpected Directory Structure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Wayne | Wayne wrote:
> Hello,
>
> I've been following the D forum and announcements for a few months
> now with great interest and finally decided to jump in.
> I decided to start with the DMD package for Win32
> (later I'll try GDC on my Mac). I unzipped the files
> as instructed, but I got a directory structure that was unexpected;
> both by me and apparently by some of the files in the package itself.
> As per the instructions my root directory had the dm and dmd
> directories, but the dmd directory has an extra dm and dmd directory
> within it. On attempting to run the "all.sh" script I got a path
> error. I edited the script, changing "DMD=\dmd\bin\dmd"
> to "DMD=\dmd\dmd\bin\dmd". After this change the first example
> compiled but I got another path error on linking. After scratching
> my head a bit and looking at some documentation, I discovered that the
> link path is defined in the sc.ini file. I added an extra parent
> directory bump to the path for the linker and most everything
> seems to work.
>
>
> While all this poking around was highly instructional, one
> normally does not expect this kind of "exercise for the reader"
> when starting out. Did I miss a step in the installation?
> What's going on here?
>
>
> Thanks,
>
> Wayne
>
> _________________
>
> Wayne Anderson
In short, I don't know what's going wrong. In... er, long: I don't think your download or installation went quite right, as there should not be an addition dm|dmd subtree like that. I recommend whiping your installation, re-downloading, and trying again. Its no wonder the scripts were confused... I would be too! (And apparently, so were you. We are crazy around here... but not (usually) quite that crazy.)
-- Chris Nicholson-Sauls
|
November 11, 2006 Re: DMD: Unexpected Directory Structure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Wayne | Wayne escribió: > Hello, > > I've been following the D forum and announcements for a few months > now with great interest and finally decided to jump in. > I decided to start with the DMD package for Win32 > (later I'll try GDC on my Mac). I unzipped the files > as instructed, but I got a directory structure that was unexpected; > both by me and apparently by some of the files in the package itself. > As per the instructions my root directory had the dm and dmd > directories, but the dmd directory has an extra dm and dmd directory > within it. On attempting to run the "all.sh" script I got a path > error. I edited the script, changing "DMD=\dmd\bin\dmd" > to "DMD=\dmd\dmd\bin\dmd". After this change the first example > compiled but I got another path error on linking. After scratching > my head a bit and looking at some documentation, I discovered that the > link path is defined in the sc.ini file. I added an extra parent > directory bump to the path for the linker and most everything > seems to work. > > > While all this poking around was highly instructional, one > normally does not expect this kind of "exercise for the reader" > when starting out. Did I miss a step in the installation? > What's going on here? > > > Thanks, > > Wayne > > _________________ > > Wayne Anderson The only thing I can think of is that you extracted the zip in c:\dmd, when it should have just been c:\. However, the steps you took to "fix the problem" (I don't see it as a problem: dmd can be almost anywhere you want) were the right ones. -- Carlos Santander Bernal |
November 11, 2006 Re: DMD: Unexpected Directory Structure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Wayne | Wayne wrote:
> While all this poking around was highly instructional, one
> normally does not expect this kind of "exercise for the reader"
> when starting out. Did I miss a step in the installation?
> What's going on here?
Change to the root directory:
cd \
and unzip from there:
unzip dmd
should do it.
|
November 11, 2006 Re: DMD: Unexpected Directory Structure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Wayne | Wayne wrote: > I've been following the D forum and announcements for a few months > now with great interest and finally decided to jump in. > I decided to start with the DMD package for Win32 > (later I'll try GDC on my Mac). I unzipped the files > as instructed, but I got a directory structure that was unexpected; The extra "dm" directory in the dmd.zip contains some needed tools, same as in the DM C/C++ installation: (snn.lib, make.exe, lib.exe) 565760 Defl:N 214339 62% 08-12-06 09:41 fe2e0af7 dm/lib/snn.lib 48668 Defl:N 27272 44% 09-20-04 23:23 cf1eec7b dm/bin/make.exe 114716 Defl:N 67240 41% 10-12-02 13:58 4a169be5 dm/bin/lib.exe However, if you install both of them as instructed it should ask you whether you want to overwrite the earlier/identical ones... ? > While all this poking around was highly instructional, one > normally does not expect this kind of "exercise for the reader" > when starting out. Did I miss a step in the installation? It seems you missed the "Switch to the root directory." step, and whatever ZIP tool you used created an extra "dmd" directory ? (some tools do this when they encounter more than one file inside) I think there is enough confusion with it to warrant an installer ? http://www.algonet.se/~afb/d/dmc-setup.html (source: dmc.nsi) http://www.algonet.se/~afb/d/dmd-setup.html (source: dmd.nsi) But I'm only doing GDC installers, since those are re-distributable. I could update the DMD installers (EXE and RPM) for the 1.0 release. --anders |
November 11, 2006 Re: DMD: Unexpected Directory Structure | ||||
---|---|---|---|---|
| ||||
Posted in reply to Anders F Björklund | Anders F Björklund wrote:
> Wayne wrote:
> > I've been following the D forum and announcements for a few months
> > now with great interest and finally decided to jump in.
> > I decided to start with the DMD package for Win32
> > (later I'll try GDC on my Mac). I unzipped the files
> > as instructed, but I got a directory structure that was unexpected;
> The extra "dm" directory in the dmd.zip contains some needed tools,
> same as in the DM C/C++ installation: (snn.lib, make.exe, lib.exe)
> 565760 Defl:N 214339 62% 08-12-06 09:41 fe2e0af7 dm/lib/snn.lib
> 48668 Defl:N 27272 44% 09-20-04 23:23 cf1eec7b dm/bin/make.exe
> 114716 Defl:N 67240 41% 10-12-02 13:58 4a169be5 dm/bin/lib.exe
> However, if you install both of them as instructed it should ask
> you whether you want to overwrite the earlier/identical ones... ?
> > While all this poking around was highly instructional, one normally does not expect this kind of "exercise for the reader" when starting out. Did I miss a step in the installation?
> It seems you missed the "Switch to the root directory." step,
> and whatever ZIP tool you used created an extra "dmd" directory ?
> (some tools do this when they encounter more than one file inside)
> I think there is enough confusion with it to warrant an installer ?
> http://www.algonet.se/~afb/d/dmc-setup.html (source: dmc.nsi)
> http://www.algonet.se/~afb/d/dmd-setup.html (source: dmd.nsi)
> But I'm only doing GDC installers, since those are re-distributable.
> I could update the DMD installers (EXE and RPM) for the 1.0 release.
> --anders
Thanks to all for the quick responses.
(BTW, this is a very positive observation I've had regarding the D Language Forum).
The default unzip utility on my Windows box is "Stuffit" by Allume Systems.
When I unzipped the dmd and dmc archives (starting from the root directory "cd \")
I got the following directory structure.
dm
many files and directories
dmd
dm
bin
lib.exe
make.exe
lib
snn.lib
dmd
many files and directories
Because I was confused by this, I also downloaded and unzipped the archives
on my Mac and got the exact same directory structure.
On the Mac, the default unzip utility is also Stuffit.
As Anders pointed out, evidently, some zip tools, when they encounter an
archive with more than one directory at the root level, unzip the directories into a sub-directory
with the same name as the archive. This looks like a bug in Stuffit, and probably is,
but it may also be an ambiguity in the zip file spec, (whatever that is).
After seeing the responses on the forum, I decided to try the unzip command
using the unix terminal on my Mac, which uses a different program,
and I got the correct directory structure. I was also prompted about the overlapping
files...
replace dm/lib/snn.lib? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: dm/lib/snn.lib
replace dm/bin/make.exe? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: dm/bin/make.exe
replace dm/bin/lib.exe? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: dm/bin/lib.exe
Since the files are identical between the two archives, it doesn't matter whether you choose to replace or not, but a newbie has no way of knowing this.
I agree with Anders that an installer would be nice, since it could automatically update the paths in any examples and .ini files depending on where the user decides to put the package.
At any rate, I now have everything where it's supposed to be, but I think this situation needs to be clarified in the installation instructions.
Wayne
|
Copyright © 1999-2021 by the D Language Foundation