February 25, 2014
On 2/25/2014 11:52 PM, Assaf Gordon wrote:
> On 02/25/2014 12:09 AM, Artem Tarasov wrote:

> On 02/24/2014 09:09 PM, Adam D. Ruppe wrote:> On Tuesday, 25 February
> 2014 at 01:21:03 UTC, Assaf Gordon wrote:
>>
>> dmd does not require root. The install instructions about copying
>> stuff into /etc and such are ridiculously overcomplicated - dmd
>> actually just works* if you run it straight out of the zip as any
>> regular user in any location.
>>
>
>  From a non-expert unix POV -
> Either you download and install the package (deb/rpm) which is easy but
> requires root,
> or you download and compile the sources from the source zip - which is
> complicated.

You don't need to compile anything. There are precompiled binaries for 32- and 64-bit Linux in the zip. I'm no Linux expert (far, far from it). I'm not even what you would call a casual user. But when I do need to boot into Linux for one thing or another (which is rare), I unzip the latest binaries into my user directory and away I go. The only thing I've ever configured is putting the appropriate bin directory on the path, but that's it.

February 25, 2014
On Tuesday, 25 February 2014 at 14:51:48 UTC, Assaf Gordon wrote:
> My target audience is not D developers - it is unix casual users (not even developers).
> I want to make it the easiest for them to use my program.
> If it's requires more than the standard "configure && make && make install" (or the cmake equivalent), then many of them will not do it.

Then push it into distro repositories. You are NOT helping by recommending them to do "make install", quite the contrary, harming whole ecosystem. Casual users should not be even aware that "make install" exists. Being one of package maintainers myself I really hate this kind of "helping" attitude, it causes only trouble.

>> Single Linux-wide binary distribution is mostly a myth and dmd shows
>> it by its own.
>
> Not sure what the "myth" is - but a statically-linked binaries work well (if your program is self-contained and properly compiled), and there are many examples of it.

Except you never have truly statically linked binaries, there is always at least glibc. You can do it for small set of popular distributives, especially when conforming to http://en.wikipedia.org/wiki/Linux_Standard_Base but it simply does not work in general.

Please stop distributing software for Linux with Windows attitude.
February 25, 2014
On Tuesday, 25 February 2014 at 14:51:48 UTC, Assaf Gordon wrote:
> Either you download and install the package (deb/rpm) which is easy but requires root,
> or you download and compile the sources from the source zip -

OR you download and run the binary zip. The instructions aren't very good, but this is really easy.

download dmd.version-you-want.zip
unzip dmd.zip

run dmd2/linux/bin32/dmd yourfile.d

that's all you have to do. You don't have to build anything (most the time), you don't have to mess with PATH or LD_LIBRARY_PATH, you don't have to copy anything into a system folder. You just run the program straight out of the zip.
February 25, 2014
On Tuesday, 25 February 2014 at 14:51:48 UTC, Assaf Gordon wrote:
> Also, as long as DMD is not free, providing easy way to install LDC/GDC is highly desired.

btw, fresh LDC has recently made it to Debian sid : https://packages.debian.org/sid/ldc , thanks to Konstantinos Margaritis
February 25, 2014
On Tuesday, 25 February 2014 at 14:51:48 UTC, Assaf Gordon wrote:
> Also, as long as DMD is not free, providing easy way to install LDC/GDC is highly desired.

On my Ubuntu laptop (standard repos as far as I remember) I have to "apt-get install gdc" to install it. I don't understand what you meant with "easy way to install". Are you talking about getting it from sources or what?
February 25, 2014
On Tuesday, 25 February 2014 at 15:12:08 UTC, Francesco Cattoglio wrote:
> On my Ubuntu laptop (standard repos as far as I remember) I have to "apt-get install gdc" to install it. I don't understand what you meant with "easy way to install". Are you talking about getting it from sources or what?

It is a rather old gdc, I can't recommend to use it ;)
February 25, 2014
On Tuesday, 25 February 2014 at 15:18:06 UTC, Dicebot wrote:
> On Tuesday, 25 February 2014 at 15:12:08 UTC, Francesco Cattoglio wrote:
>> On my Ubuntu laptop (standard repos as far as I remember) I have to "apt-get install gdc" to install it. I don't understand what you meant with "easy way to install". Are you talking about getting it from sources or what?
>
> It is a rather old gdc, I can't recommend to use it ;)

since gdc --version output is 4.8.1, what version would it be? like 2.060 or more like 2.052?
February 25, 2014
On Tuesday, 25 February 2014 at 15:24:19 UTC, Francesco Cattoglio wrote:
> since gdc --version output is 4.8.1, what version would it be? like 2.060 or more like 2.052?

Hm, ones I see in package list are for 4.6 - are you using some sort of testing repo? 4.8.* can possibly be pretty new, you can check fronend version by compiling test program with "pragma(msg, __VERSION__)"
February 25, 2014
On Tuesday, 25 February 2014 at 15:31:19 UTC, Dicebot wrote:
> On Tuesday, 25 February 2014 at 15:24:19 UTC, Francesco Cattoglio wrote:
>> since gdc --version output is 4.8.1, what version would it be? like 2.060 or more like 2.052?
>
> Hm, ones I see in package list are for 4.6 - are you using some sort of testing repo? 4.8.* can possibly be pretty new, you can check fronend version by compiling test program with "pragma(msg, __VERSION__)"

2062L! 2.062 is decently recent I'd say ;)
Perhaps is from some launchpad repo, but nothing too much trascendental.
Anyway, my point was that GDC and LDC are easily available under most used distros, given a bit of patience. I mean, we can probably package them faster than the distribution updates them (I'm referring to Ubuntu 6-months cycle in particular)
February 25, 2014
On Tue, Feb 25, 2014 at 7:06 PM, Adam D. Ruppe <destructionator@gmail.com>wrote:

>
> OR you download and run the binary zip. The instructions aren't very good, but this is really easy.
>

Yes, that works great on my Mint laptop and, I guess, the majority of
modern distros.
But let's try your advice on CentOS 5 (and please don't ask me why some
people still use it -- I have no idea, too):
$ uname -a
Linux ip-10-182-148-229 2.6.18-274.7.1.el5xen #1 SMP Thu Oct 20 17:06:34
EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
$ wget http://downloads.dlang.org/releases/2014/dmd.2.065.0.zip -q
$ unzip -q dmd.2.065.0.zip
$ cat test.d
import std.stdio; void main() { writeln("Hello, old Linux system!"); }
$ ./dmd2/linux/bin64/dmd -L-L/usr/lib64 test.d
/usr/bin/ld: cannot find -l:libphobos2.a
collect2: ld returned 1 exit status
--- errorlevel 1

O-ops!..