September 05, 2013
On Wed, 04 Sep 2013 10:01:28 +0200
Jacob Carlborg <doob@me.com> wrote:

> 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
> 

They're in the built-in "extras": <https://github.com/Abscissa/installer/tree/create-zip/create_dmd_release/extras/osx/dmd2/osx/bin>

The short answer is: "That problem only happens because create_dmd_release isn't in the official github repo yet".

Long answer and workaround:

When create_dmd_release clones all the repos from github, everything inside the *cloned* "installer/create_dmd_release/extras/all" and "installer/create_dmd_release/extras/[current os]" will be automatically added to the release (During the "package" phase, it grabs these "extras" from the cloned "create_dmd_release" *instead* of from the copy of "create_dmd_release" being run so the "extras" files can be different for different releases of DMD).

But since create_dmd_release, and the attached "extras", hasn't yet been merged into the official "D-Programming-Language/installer" repo, you're missing that "extras" directory, including the dmd.conf files. When create_dmd_release is all official and merged in, that won't be an issue. But until then, you have to stop the process after it clones everything, manually copy the "create_dmd_release/extras" directory to "[temp]/.create_dmd_release/installer/create_dmd_release/extras" and then re-run create_dmd_release with the --skip-clone flag.

Or better yet, instead of halting create_dmd_release, copying "extras", and re-runnnig with --skip-clone (which is kind of a pain), you could just copy the contents of both "installer/create_dmd_release/extras/all" and "installer/create_dmd_release/extras/[current os]" into your "localextras-[current os]". That will work too. But again, this work around is *only* needed because create_dmd_release isn't in the official github repo yet.

I *could* add an option to specify an alternate repo to clone, but I'm not sure it's worth it since it would become useless as soon as this gets merged.

September 05, 2013
On Thu, 05 Sep 2013 02:34:36 +0200
"Brad Anderson" <eco@gnuk.net> wrote:

> I've noticed the you support MSVC builds but require some environment variables to be set.  As part of my installer#22 pull request[1] I worked out how to retrieve both the Visual C and SDK paths from the registry.  You could retrieve them from there instead of requiring environment variables if you'd like. Obviously just getting everything working in the release generator (great work, by the way) comes first but this would be one less thing people would need to do before they can use it).
> 

Thanks, yea, that will be a good addition to this.

September 05, 2013
On 2013-09-05 07:56, Nick Sabalausky wrote:

> The short answer is: "That problem only happens because
> create_dmd_release isn't in the official github repo yet".

Ok, I see.

-- 
/Jacob Carlborg
September 05, 2013
On 05/09/13 07:25, Nick Sabalausky wrote:
> On Wed, 4 Sep 2013 16:01:32 -0700
> "H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
> 
>> On Wed, Sep 04, 2013 at 05:55:41PM -0400, Nick Sabalausky wrote:
>>>
>>> It turns out I was missing "ia32-libs", however I just installed it an I'm still getting "cannot find -lcurl" (or something like that) from the linker. "gcc-multilib" is already installed, and again, 32-bit stuff that doesn't use libcurl works fine.
>>
>> Did you install libcurl*-dev? Debian lib packages generally only include runtime .so's; to get compile-time stuff you need the corresponding -dev packages.
>>
> 
> Yea, I had already installed libcurl4-openssl-dev. I even removed it and reinstalled it after installing "ia32-libs". But still no dice.
> 
> 

You need to install the 32-bit version of "libcurl4-openssl-dev", but due to dependencies this will force to replace "pkg-config:amd64" by "pkg-config:i386", because cannot have both 32-bit and 64-bit installed at same time.

The easiest way to do it is just create a symlink to the already installed shared curl library.

With "libcurl3:i386" installed, you can try this:

$ sudo ln -s libcurl.so.4 /usr/lib/i386-linux-gnu/libcurl.so


-- 
Jordi Sayol
September 05, 2013
On 2013-09-04 13:16, Nick Sabalausky wrote:

> In an attempt to keep the platform differences as minimal as possible,
> I have it set up to automatically download and use Info-ZIP and 7zip on
> Windows, the same programs typically used on Posix. Unfortunately,
> these did not appear to handle symlinks correctly. Anyone know of one I
> could use that does?

Why don't you use std.zip? Although I don't know if that handles symlinks.

-- 
/Jacob Carlborg
September 05, 2013
On Thu, Sep 05, 2013 at 01:25:21AM -0400, Nick Sabalausky wrote:
> On Wed, 4 Sep 2013 16:01:32 -0700
> "H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote:
> 
> > On Wed, Sep 04, 2013 at 05:55:41PM -0400, Nick Sabalausky wrote:
> > > 
> > > It turns out I was missing "ia32-libs", however I just installed it an I'm still getting "cannot find -lcurl" (or something like that) from the linker. "gcc-multilib" is already installed, and again, 32-bit stuff that doesn't use libcurl works fine.
> > 
> > Did you install libcurl*-dev? Debian lib packages generally only include runtime .so's; to get compile-time stuff you need the corresponding -dev packages.
> > 
> 
> Yea, I had already installed libcurl4-openssl-dev. I even removed it and reinstalled it after installing "ia32-libs". But still no dice.

Oh wait, you're complaining about 32-bit support, aren't you? You'll need to:

	dpkg --add-architecture i386
	apt-get update
	apt-get install libcurl4-openssl-dev:i386

Under Debian multiarch, packages for different architectures are installed separately, so you have to explicitly install the same package for both architectures if you need it for both.


T

-- 
People say I'm indecisive, but I'm not sure about that. -- YHL, CONLANG
September 05, 2013
On 2013-09-05 16:57, H. S. Teoh wrote:

> Oh wait, you're complaining about 32-bit support, aren't you? You'll
> need to:
>
> 	dpkg --add-architecture i386
> 	apt-get update
> 	apt-get install libcurl4-openssl-dev:i386
>
> Under Debian multiarch, packages for different architectures are
> installed separately, so you have to explicitly install the same package
> for both architectures if you need it for both.

That's only available on Debian 7 and later. He uses Debian 6.

-- 
/Jacob Carlborg
September 05, 2013
On Wednesday, 4 September 2013 at 00:53:14 UTC, Nick Sabalausky wrote:

> - 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.

It tried the tool on FreeBSD (PC-BSD) 64bit. I got this error:

Building Tools 64-bit
std.md5 is scheduled for deprecation. Please use std.digest.md instead
gmake: *** No rule to make target `../dlang.org/web/expression.html', needed by `expression.tag'.  Stop.
create_dmd_release: Error: Command failed (ran from dir '/tmp/.create_dmd_release/tools'): gmake MODEL=64 dman      DMD=../dmd/src/dmd DOC=../dlang.org/web PHOBOSDOC=../dlang.org/web/phobos -f posix.mak > /dev/null

I don't know if it's me that did something wrong or if it's your tool. I had to disable the 32bit builds.

--
/Jacob Carlborg
September 05, 2013
On Thu, 05 Sep 2013 13:36:09 +0200
Jacob Carlborg <doob@me.com> wrote:

> On 2013-09-04 13:16, Nick Sabalausky wrote:
> 
> > In an attempt to keep the platform differences as minimal as possible, I have it set up to automatically download and use Info-ZIP and 7zip on Windows, the same programs typically used on Posix. Unfortunately, these did not appear to handle symlinks correctly. Anyone know of one I could use that does?
> 
> Why don't you use std.zip? Although I don't know if that handles symlinks.
> 

Judging by the doc page for that, it seems like 1. it's not quite as mature as Info-ZIP, and 2. It doesn't actually read/write files directly, just does the in-memory part. Naturally, I could still use it and use std.file for the i/o, but I'm not sure it would be worth the bother for this.

It may very well be worth attempting later though.

September 05, 2013
On Thu, 05 Sep 2013 21:56:25 +0200
"Jacob Carlborg" <doob@me.com> wrote:

> On Wednesday, 4 September 2013 at 00:53:14 UTC, Nick Sabalausky wrote:
> 
> > - 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.
> 
> It tried the tool on FreeBSD (PC-BSD) 64bit. I got this error:
> 
> Building Tools 64-bit
> std.md5 is scheduled for deprecation. Please use std.digest.md
> instead
> gmake: *** No rule to make target
> `../dlang.org/web/expression.html', needed by `expression.tag'.
> Stop.
> create_dmd_release: Error: Command failed (ran from dir
> '/tmp/.create_dmd_release/tools'): gmake MODEL=64 dman
> DMD=../dmd/src/dmd DOC=../dlang.org/web
> PHOBOSDOC=../dlang.org/web/phobos -f posix.mak > /dev/null
> 
> I don't know if it's me that did something wrong or if it's your tool. I had to disable the 32bit builds.
> 

One of the tools (dman, IIRC) requires the docs to be built, and since
the docs are independent of 32/64-bit, they're built during the 32-bit
pass (which you skipped).

I've decided I'm going to add proper support for 32-bit-only and 64-bit-only via optional cmdline flags. That should make a lot of things easier and help mitigate difficulties with multilib.