Still cannot build Phobos from git

Andre Tampubolon andre at lc.vlsm.org
Mon Aug 1 22:39:42 PDT 2011


On 27-Jul-11 10:23 PM, Dmitry Olshansky wrote:
> My recipe on Windows:
> 1. Get the latest release zip you can find, unzip to some drive root(!
> otherwise get's trickier)
> 2. Delete all within src subfolder
> 3. Get a Git console in \dmd2\src, then the usual:
> git clone https://github.com/D-Programming-Language/dmd.git
> git clone https://github.com/D-Programming-Language/druntime.git
> git clone https://github.com/D-Programming-Language/phobos.git
> 4. Build dmd
> cd dmd\src
> make -f win32.mak release
> copy dmd.exe ..\..\..\windows\bin
> cd ..
> (to build dmd you'd need DMC, also extracted to the same drive root)
> 5.
> cd druntime
> make -f win32.mak
> 
> 6.
> cd phobos
> make -f win32.mak unittest
> copy phobos.lib ..\..\windows\lib
> 
> If anywhere of the above it fails to find dmd, make sure
> dmd2\windows\bin is in your path.
> That's it, no additional tweaking required.
> 

On the PC I'm working now, there were no git installed, so I decided to
grab the latest tarballs:
D-Programming-Language-dmd-v2.054-211-g1dac08b.tar.gz
D-Programming-Language-druntime-v2.054-28-gd14a1a9.tar.gz
D-Programming-Language-phobos-v2.054-119-gcd5d266.tar.gz

Anyway, these were what I did:
1. Extracted the latest release (dmd.2.054.zip) to C:\dmd2-dev. There
were also C:\dmd2, and C:\dm (the Digital Mars C compiler).

2. set PATH=C:\dm\bin

3. cd C:\dmd2-dev\src\dmd.

4. Verified whether DMC worked properly or not, by building DMD:
make -f win32.mak release

The output was:

...
...

make -fwin32.mak C=backend TK=tk ROOT=root clean
del *.obj
del total.sym
del msgs.h msgs.c
del elxxx.c cdxxx.c optab.c debtab.c fltables.c tytab.c
del impcnvtab.c

It was a success.

5. Deleted all the contents of C:\dmd2-dev\src\dmd, and replaced it with
the latest version (from the tarball), and build it again:
\dm\bin\dmc -c -Ibackend;tk -DMARS -cpp  -e -wx -I. backend\var

\dm\bin\dmc -c -Ibackend;tk -DMARS -cpp  -e -wx backend\el

\dm\bin\dmc -c -Ibackend;tk -DMARS -cpp  -e -wx backend\newman
Fatal error: unable to open input file 'parser.h'
--- errorlevel 1

Hmm unable to open parser.h?
I checked C:\dmd2-dev\src\dmd\backend. Yep, no parser.h there (someone
forgot to commit it)?
So I cleared C:\dmd2-dev\src\dmd\ again. First extracted the original
one from the latest release (2.054), then replaced it with the latest
from git, and built it again:
\dm\bin\dmc -c -Ibackend;tk -DMARS -cpp  -e -wx -I. backend\var

\dm\bin\dmc -c -Ibackend;tk -DMARS -cpp  -e -wx backend\el

\dm\bin\dmc -c -Ibackend;tk -DMARS -cpp  -e -wx backend\newman
    void
       ^
backend\parser.h(215) : Error: ';' expected following declaration of
struct member
--- errorlevel 1

At least the error was different. I did a quick glance on
C:\dmd2-dev\src\dmd\backend\parser.h around line 215, and found these
lines:

    TARGET_structBLKLST

    void print();
	
What is this TARGET_structBLKLST?

-- 
- Andre Tampubolon -


More information about the Digitalmars-d mailing list