Need help to finish DMD zip/7z release generator (alpha release)

Nick Sabalausky SeeWebsiteToContactMe at semitwist.com
Tue Sep 3 17:53:11 PDT 2013


tl;dr: The main things I need help with: Installing 32-bit libcurl on
64-bit Debian, testing on 64-bit FreeBSD, and figuring out WTF is so
screwed up on Windows.

It's almost finished, but I've hit some problems I'm having a hell of a
time figuring out. I'm getting a kinda brain-fried and need some help
with it:

Here's what I have right now (it's named "create_dmd_release"):

https://github.com/Abscissa/installer/tree/create-zip

The "how to" documentation is at the top of the source file:

https://github.com/Abscissa/installer/blob/create-zip/create_dmd_release/create_dmd_release.d

Important note for trying it out:
--------------------------------------
This tool depends on itself actually being in the official repo. Since
this hasn't actually been pulled in yet (I don't think it's ready for a
pull request just yet), you will need one small change to the
instructions for step #2 to make it work right:

Run the command line in step #2, but after it finishes cloning, go
ahead and Ctrl-C kill it (or wait for it to end - either way). Then,
copy the "create_dmd_release" directory tree into "[your temp
dir]/.create_dmd_release/installer". You can check the temp dir it uses
with "create_dmd_release --help". Finally, re-run the same
original command, but add the flag "--skip-clone".

DMD versions:
-----------------------
This is intended for DMDs *after* v2.063.2, because it requires some
changes in the "master" of the "tools" repo.

However, you *can* coax it to work on v2.063.2 by halting it after the
"clone" stage, then updating
"[tmp-dir]/.create_dmd_release/tools/*.mak" with the latest versions
from master, and then resuming the process by re-running with
"--skip-clone". But additional hacking may be needed on Windows.

The current status:
-----------------------
- OSX 10.7: Works fine. (At least it did last time I tried it, a couple
  weeks ago. It *could* have regressed but I won't have access to the
  machine again until maybe Sunday.)

- Debian 6 (32-bit OS): This tool isn't intended to support 32-bit OSes
  (since it must compile both 32-bit and 64-bit phobos), but it works
  fine up until it gets to the 64-bit stuff. If I manually comment out
  the 64-bit stuff, then everything else works fine.

- Debian 6 (64-bit OS): It fails when linking the 32-bit phobos
  complaining that it can't link with libcurl. I'm fairly certain this
  is because I have no freaking idea how to install the 32-bit
  libcurl*-*-dev on a 64-bit Debian. (I *did* install
  "libcurl4-openssl-dev", but I'm pretty sure it only installed for
  64-bit. And I can't figure out how to get the 32-bit.)

- FreeBSD 9.1 (32-bit OS): Same as 32-bit Debian 6: It works, except
  for the 64-bit stuff.

- FreeBSD 9.1 (64-bit OS): No idea, I don't have access to a 64-bit
  FreeBSD machine, and my stupid Intel CPU lacks the ability to run a
  64-bit OS in a VM.

- Windows 7 (64-bit OS): This is where I'm having the biggest trouble.
  I can coaxing it to handle v2.063.2 just fine (ie, if I update the
  "tools" makefiles as described above, and comment out all the
  "libcurl" and "chm" stuff.) However, on master, after it compiles
  DMD/druntime/phobos, the resulting DMD/phobos can't compile anything
  that uses phobos because OPTLINK will spew out a bunch of errors. I
  am *completely* at a loss on this one. It seems like an sc.ini issue,
  but I've spent days checking everything and I still can't make heads
  or tails of it.



More information about the Digitalmars-d mailing list