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