September 04, 2013 Need help to finish DMD zip/7z release generator (alpha release) | ||||
---|---|---|---|---|
| ||||
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. |
September 04, 2013 Re: Need help to finish DMD zip/7z release generator (alpha release) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | 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 |
September 04, 2013 Re: Need help to finish DMD zip/7z release generator (alpha release) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rikki Cattermole | On Wed, 04 Sep 2013 04:18:37 +0200
"Rikki Cattermole" <alphaglosined@gmail.com> wrote:
>
> 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
Eh, damn, it looks like I may need to put together a Debian 7 persistent live disc/usb because I can't seem to get the necessary versions of dpkg/apt in Deb 6, even in backports.
But...don't linux bins tend to not work on systems (ie, glibc) older than the one used to compile? If that's the case then maybe I should make the 32- and 64-bit passes separable so a multilib system isn't required (which appears to mandate very new versions of linux, at least for debian anyway).
What kind of linux system is currently being used to generate the linux releases?
|
September 04, 2013 Re: Need help to finish DMD zip/7z release generator (alpha release) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On Wednesday, 4 September 2013 at 04:15:38 UTC, Nick Sabalausky wrote:
> On Wed, 04 Sep 2013 04:18:37 +0200
> "Rikki Cattermole" <alphaglosined@gmail.com> wrote:
>>
>> 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
>
> Eh, damn, it looks like I may need to put together a Debian 7 persistent
> live disc/usb because I can't seem to get the necessary versions of
> dpkg/apt in Deb 6, even in backports.
>
> But...don't linux bins tend to not work on systems (ie, glibc)
> older than the one used to compile? If that's the case then maybe I
> should make the 32- and 64-bit passes separable so a multilib system
> isn't required (which appears to mandate very new versions of linux,
> at least for debian anyway).
>
> What kind of linux system is currently being used to generate the linux
> releases?
I think in the case of Debian based systems that having one for 32bit and 64bit might work. However don't quote me on that.
I took a look at Ubuntu's support and its very similar to Debian's.
"In Debian dpkg this is present since 1.16.2. In Ubuntu this is present since natty (v1.15.8.10ubuntu1)."
That may be of some use to you. Thats for multiarch support.
I can't really help much more than this I'm afraid.
|
September 04, 2013 Re: Need help to finish DMD zip/7z release generator (alpha release) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 2013-09-04 02:53, Nick Sabalausky wrote: > 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.) I can test it on Mac OS X 10.8. Are you building a universal binary of the libraries? > - 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. Why don't you just version that out? > - 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.) Using "apt-get install package:architecture" as suggested here: https://wiki.debian.org/Multiarch/HOWTO Requires Debian 7.0 or later. For Debian 6, install the the packages "gcc-multilib" and "ia32-libs". > - 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. I can give you a help with this, if no one else beats me. > - 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. > -- /Jacob Carlborg |
September 04, 2013 Re: Need help to finish DMD zip/7z release generator (alpha release) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 2013-09-04 02:53, Nick Sabalausky wrote: > 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 A couple of issues/questions: * Mac OS X uses "dylib" as the extension for dynamic libraries * On Mac OS X Xcode is required. It's possible to just download the command line tools but I don't think that has been verified to work * " --combine-zip (Posix-only) Combine all platform-specific archives in current directory into cross-platform zip archive. Cannot be used on Windows because the symlinks would be destroyed. Implies --skip-package." Can't zip for Windows handle symlinks? Windows Vista (I think) and later supports symlinks. * The extra files should be put under version control * Does this builds a release for FreeBSD 64bit? If not, it should -- /Jacob Carlborg |
September 04, 2013 Re: Need help to finish DMD zip/7z release generator (alpha release) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 2013-09-04 02:53, 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 I would be nice if I could pass the "-j" flag to make, or if it could do that automatically. It can save quite a lot of time when compiling DMD. -- /Jacob Carlborg |
September 04, 2013 Re: Need help to finish DMD zip/7z release generator (alpha release) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 2013-09-04 02:53, 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 Why are you using HTTPS when cloning and not SSH? If I'm not mistaken the latter is faster. -- /Jacob Carlborg |
September 04, 2013 Re: Need help to finish DMD zip/7z release generator (alpha release) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 2013-09-04 02:53, Nick Sabalausky wrote: > - 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.) As far as I can see, dmd.conf is missing. I used the following command: ./create_dmd_release master --extras=./dmd-localextras/localextras-osx --archive-zip -- /Jacob Carlborg |
September 04, 2013 Re: Need help to finish DMD zip/7z release generator (alpha release) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 2013-09-04 02:53, Nick Sabalausky wrote: > - 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.) When I unpack the generate zip none of the binaries have executable permission set. -- /Jacob Carlborg |
Copyright © 1999-2021 by the D Language Foundation