Jump to page: 1 27  
Page
Thread overview
Need help to finish DMD zip/7z release generator (alpha release)
Sep 04, 2013
Nick Sabalausky
Sep 04, 2013
Rikki Cattermole
Sep 04, 2013
Nick Sabalausky
Sep 04, 2013
Rikki Cattermole
Sep 04, 2013
Jacob Carlborg
Sep 04, 2013
Nick Sabalausky
Sep 04, 2013
Jacob Carlborg
Sep 04, 2013
Nick Sabalausky
Sep 04, 2013
Jordi Sayol
Sep 04, 2013
Nick Sabalausky
Sep 04, 2013
H. S. Teoh
Sep 05, 2013
Nick Sabalausky
Sep 05, 2013
Jordi Sayol
Sep 05, 2013
H. S. Teoh
Sep 05, 2013
Jacob Carlborg
Sep 04, 2013
Jacob Carlborg
Sep 04, 2013
Nick Sabalausky
Sep 04, 2013
Jacob Carlborg
Sep 04, 2013
Nick Sabalausky
Sep 04, 2013
Nick Sabalausky
Sep 05, 2013
Jacob Carlborg
Sep 05, 2013
Nick Sabalausky
Sep 06, 2013
Jacob Carlborg
Sep 04, 2013
Nick Sabalausky
Sep 04, 2013
Jacob Carlborg
Sep 04, 2013
Nick Sabalausky
Sep 04, 2013
Jacob Carlborg
Sep 04, 2013
Jacob Carlborg
Sep 04, 2013
Nick Sabalausky
Sep 04, 2013
Jacob Carlborg
Sep 04, 2013
Dicebot
Sep 05, 2013
Nick Sabalausky
Sep 04, 2013
Jacob Carlborg
Sep 04, 2013
Nick Sabalausky
Sep 05, 2013
Nick Sabalausky
Sep 05, 2013
Jacob Carlborg
Sep 04, 2013
Jacob Carlborg
Sep 22, 2013
Nick Sabalausky
Sep 05, 2013
Brad Anderson
Sep 05, 2013
Nick Sabalausky
Sep 05, 2013
Jacob Carlborg
Sep 05, 2013
Nick Sabalausky
Sep 06, 2013
Jacob Carlborg
Sep 06, 2013
Nick Sabalausky
Sep 08, 2013
Nick Sabalausky
Sep 13, 2013
Nick Sabalausky
Sep 14, 2013
Rainer Schuetze
Sep 14, 2013
Nick Sabalausky
Sep 15, 2013
Rainer Schuetze
Sep 20, 2013
Nick Sabalausky
Sep 20, 2013
Rainer Schuetze
Sep 20, 2013
Nick Sabalausky
Sep 22, 2013
Nick Sabalausky
Sep 22, 2013
Rainer Schuetze
Sep 25, 2013
Nick Sabalausky
Sep 25, 2013
Paulo Pinto
Sep 25, 2013
Nick Sabalausky
Sep 26, 2013
Jacob Carlborg
Sep 26, 2013
PauloPinto
Sep 26, 2013
Jacob Carlborg
Sep 26, 2013
Paulo Pinto
Sep 28, 2013
Nick Sabalausky
Sep 14, 2013
dennis luehring
Sep 14, 2013
Nick Sabalausky
Sep 29, 2013
Nick Sabalausky
Oct 08, 2013
Andrej Mitrovic
Oct 08, 2013
Andrej Mitrovic
September 04, 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.

September 04, 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
September 04, 2013
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
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
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
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
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
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
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
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
« First   ‹ Prev
1 2 3 4 5 6 7