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

Rikki Cattermole alphaglosined at gmail.com
Tue Sep 3 19:18:37 PDT 2013


On Wednesday, 4 September 2013 at 00:53:14 UTC, Nick Sabalausky 
wrote:
> 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.

You have to manually tell dpkg that it can use specific 
architectures like 32bit in a 64bit system [1].
However this takes a bit of configuration to get working so this 
might have to be left to the user and not placed into the script.

[1] https://wiki.debian.org/Multiarch/HOWTO


More information about the Digitalmars-d mailing list