Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread ketmar via Digitalmars-d

Adam D. Ruppe wrote:

compiler used to build the compiler... if i try to just build dmd from 
git i get 
`/home/me/d/dmd2/linux/bin32/../../src/druntime/import/core/exception.d(686): 
_store is thread local`)


it is just a -vtls message, btw, absolutely harmless. i don't know why that 
reporting is turned on.


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread ketmar via Digitalmars-d

Seb wrote:

Out of interest: Why would you compile the compiler from the release 
sources? After all, it's the binary release bundle and not the 
development build. Also there are tools like digger that automate 
everything for you...


I understand that sometimes it can be nice to do that, but imho you are 
making a big deal out of this, while it's not really one in practice as 
you can simply fetch the source from GitHub.
Also there is no CI for the release builds and there's only one person 
who can build them (Martin) as it requires virtual machines for all 
supported OSes. Martin does an amazing job, but there's only so much one 
person can do...


every sentence in this answer is perfect. and the whole thing perfectly 
illustrates the reasons for my hardfork.


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread H. S. Teoh via Digitalmars-d
On Mon, Mar 12, 2018 at 02:15:23PM +, Adam D. Ruppe via Digitalmars-d wrote:
[...]
> It actually concerns me that the phobos repo knows about the dmd repo.
> I really think dmd/druntime/phobos are so tightly coupled it doesn't
> even make sense to have them as separate repos, since you can't really
> do anything in one without the other two being in the same state.
[...]

This has been a long-standing problem. It has been this way for
historical reasons, and so far nobody has been able to come up with a
sane way of fixing the problem. There have been diverse proposals in the
past but nobody has been able to push it through.

Personally, I don't even dare to look into it, because it opens up a
gigantic can of worms about repo integration, build system preferences,
gmake vs. vanilla make, and lots of politics about not fixing what's not
broken, etc..  Not to mention coordinating such a change with existing
devs who will inevitably be unhappy that the current way they work will
no longer work, and all the CIs and other automatic builds that have
come to depend on the way things are currently done.  I don't have the
kind of patience (nor time!) it takes to push through with that kind of
change.


T

-- 
The trouble with TCP jokes is that it's like hearing the same joke over and 
over.


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Vladimir Panteleev via Digitalmars-d

On Monday, 12 March 2018 at 12:17:55 UTC, Adam D. Ruppe wrote:
I do. It was a long, long time ago, but it was a glorious age 
when you could hack on dmd with ease. Just download the zip, cd 
dmd/src/dmd and make. Seconds later, you'd have a new dmd 
binary.


But then the dark times came.


All of these are bugs in the distribution / packaging / build 
process, and should be fixed. Shipping unbuildable source code 
loses half the point of shipping source code at all.




Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Seb via Digitalmars-d

On Monday, 12 March 2018 at 13:54:08 UTC, Adam D. Ruppe wrote:
It used to work to just `cd dmd2/src/dmd && make -f posix.mak`. 
Most the files are still there, implying it is supposed to 
still work, but it fails because of trivial things like VERSION 
being in the wrong directory (the file IS actually there, just 
not where -J looks for it), and the ddoc file not being 
included (it is apparently in a directory not bundled).



This is arguably a regression


Yes, it's because VERSION is now auto-generated.

And it leaves me with little confidence that you actually fixed 
the historically-much-MUCH-more-difficult git build


Well, as you noticed the layout in release archives is a bit 
different to the original git source.


 when the zip build that historically have just worked is now 
broken


I'm super-confident in this. We have too many CIs that all `git 
clone` the dmd repo on _every_ PR.


```
git clone https://github.com/dlang/dmd
cd dmd
make -f posix.mak
```

FWIW at the moment we have six different CIs for dmd which are 
all passing nicely on master:


https://circleci.com/gh/dlang/dmd/tree/master
https://semaphoreci.com/dlang/dmd-2
https://ci.appveyor.com/project/greenify/dmd
http://ci.dlang.io
http://dtest.dlang.io
https://auto-tester.puremagic.com/platform-history.ghtml?projectid=1&os=Linux_64_64


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Adam D. Ruppe via Digitalmars-d

On Monday, 12 March 2018 at 13:21:10 UTC, Seb wrote:
BTW since a few months you can directly build everything by 
just running `make -f posix.mak` in the Phobos repository.


see i'm trying to build dmd not phobos so you can understand i 
wouldn't try to make phobos


It actually concerns me that the phobos repo knows about the dmd 
repo. I really think dmd/druntime/phobos are so tightly coupled 
it doesn't even make sense to have them as separate repos, since 
you can't really do anything in one without the other two being 
in the same state.



But, I do seem to have a working dmd out of it s maybe I'll 
poke at the bug after all. But my free morning hour is now 
elapsed so I should prolly get to work on the day job too.


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Seb via Digitalmars-d

On Monday, 12 March 2018 at 13:21:10 UTC, Seb wrote:

On Monday, 12 March 2018 at 12:55:41 UTC, Adam D. Ruppe wrote:

On Monday, 12 March 2018 at 12:50:14 UTC, Daniel Kozak wrote:

[...]



See, I just want to do a small tweak on the installation I 
have working. Since druntime, phobos, and dmd are so 
ridiculously tightly coupled, you need to have matching 
releases of all three (and apparently now of the compiler used 
to build the compiler...
 if i try to just build dmd from git i get 
`/home/me/d/dmd2/linux/bin32/../../src/druntime/import/core/exception.d(686): _store is thread local`) so you can't just change one little piece and keep the rest intact anymore.


That's not an error, but just a warning and been there for 
quite a while as everyone just ignores it.



No more -> https://github.com/dlang/druntime/pull/2138


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Adam D. Ruppe via Digitalmars-d

On Monday, 12 March 2018 at 13:14:08 UTC, Seb wrote:
Out of interest: Why would you compile the compiler from the 
release sources?


Why are there releases at all?

Because the release is (in theory) tested and working and 
installed and I want to do a minor tweak to it, not go all-in to 
the strange land of in-development dmd which may be broken in 
unknown ways (I've had *terrible* experiences with it before, 
though I hear you guys have improved it lately).


After all, it's the binary release bundle and not the 
development build.


It used to work to just `cd dmd2/src/dmd && make -f posix.mak`. 
Most the files are still there, implying it is supposed to still 
work, but it fails because of trivial things like VERSION being 
in the wrong directory (the file IS actually there, just not 
where -J looks for it), and the ddoc file not being included (it 
is apparently in a directory not bundled).



This is arguably a regression. And it leaves me with little 
confidence that you actually fixed the 
historically-much-MUCH-more-difficult git build when the zip 
build that historically have just worked is now broken


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Seb via Digitalmars-d

On Monday, 12 March 2018 at 12:55:41 UTC, Adam D. Ruppe wrote:

On Monday, 12 March 2018 at 12:50:14 UTC, Daniel Kozak wrote:
obviosly it is unlikely place to download the dlang compiler 
sources these days :D



See, I just want to do a small tweak on the installation I have 
working. Since druntime, phobos, and dmd are so ridiculously 
tightly coupled, you need to have matching releases of all 
three (and apparently now of the compiler used to build the 
compiler...
 if i try to just build dmd from git i get 
`/home/me/d/dmd2/linux/bin32/../../src/druntime/import/core/exception.d(686): _store is thread local`) so you can't just change one little piece and keep the rest intact anymore.


That's not an error, but just a warning and been there for quite 
a while as everyone just ignores it.

Not sure how this is related to not being able to build from git.
BTW since a few months you can directly build everything by just 
running `make -f posix.mak` in the Phobos repository.


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Seb via Digitalmars-d

On Monday, 12 March 2018 at 12:30:48 UTC, Adam D. Ruppe wrote:

On Monday, 12 March 2018 at 12:27:42 UTC, Adam D. Ruppe wrote:

https://dlang.org/download.html


specifically I grab the linux tarballs
http://downloads.dlang.org/releases/2.x/2.079.0/dmd.2.079.0.linux.tar.xz

and just cd dmd2/src/dmd and make -f posix.mak

this always worked perfectly a year or two ago, then it broke 
when they added the new ddoc theme and now the version is 
missing too.


Out of interest: Why would you compile the compiler from the 
release sources? After all, it's the binary release bundle and 
not the development build. Also there are tools like digger that 
automate everything for you...


I understand that sometimes it can be nice to do that, but imho 
you are making a big deal out of this, while it's not really one 
in practice as you can simply fetch the source from GitHub.
Also there is no CI for the release builds and there's only one 
person who can build them (Martin) as it requires virtual 
machines for all supported OSes. Martin does an amazing job, but 
there's only so much one person can do...


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Daniel Kozak via Digitalmars-d
Yes, I understand that need and I hope it will be fixed with next (minor)
release

On Mon, Mar 12, 2018 at 1:55 PM, Adam D. Ruppe via Digitalmars-d <
digitalmars-d@puremagic.com> wrote:

> On Monday, 12 March 2018 at 12:50:14 UTC, Daniel Kozak wrote:
>
>> obviosly it is unlikely place to download the dlang compiler sources
>> these days :D
>>
>
>
> See, I just want to do a small tweak on the installation I have working.
> Since druntime, phobos, and dmd are so ridiculously tightly coupled, you
> need to have matching releases of all three (and apparently now of the
> compiler used to build the compiler...  if i try to just build dmd from git
> i get 
> `/home/me/d/dmd2/linux/bin32/../../src/druntime/import/core/exception.d(686):
> _store is thread local`) so you can't just change one little piece and keep
> the rest intact anymore.
>
> But in the old days, when you downloaded the zip, the included source just
> worked. You could go in and run make in-place and it'd successfully build
> the replacement piece you can use with the rest of the distribution.
>
> I'd just like that to work again. And it shouldn't be hard - i think the
> src directory of the zip is just missing a few basic files.
>


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Adam D. Ruppe via Digitalmars-d

On Monday, 12 March 2018 at 12:50:14 UTC, Daniel Kozak wrote:
obviosly it is unlikely place to download the dlang compiler 
sources these days :D



See, I just want to do a small tweak on the installation I have 
working. Since druntime, phobos, and dmd are so ridiculously 
tightly coupled, you need to have matching releases of all three 
(and apparently now of the compiler used to build the compiler... 
 if i try to just build dmd from git i get 
`/home/me/d/dmd2/linux/bin32/../../src/druntime/import/core/exception.d(686): _store is thread local`) so you can't just change one little piece and keep the rest intact anymore.


But in the old days, when you downloaded the zip, the included 
source just worked. You could go in and run make in-place and 
it'd successfully build the replacement piece you can use with 
the rest of the distribution.


I'd just like that to work again. And it shouldn't be hard - i 
think the src directory of the zip is just missing a few basic 
files.


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Daniel Kozak via Digitalmars-d
obviosly it is unlikely place to download the dlang compiler sources these
days :D

On Mon, Mar 12, 2018 at 1:27 PM, Adam D. Ruppe via Digitalmars-d <
digitalmars-d@puremagic.com> wrote:

> On Monday, 12 March 2018 at 12:24:54 UTC, Seb wrote:
>
>> Where did you grab the source ball?
>>
>
> an extremely unlikely place to download the dlang compiler.
>
> https://dlang.org/download.html
>


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Adam D. Ruppe via Digitalmars-d

On Monday, 12 March 2018 at 12:27:42 UTC, Adam D. Ruppe wrote:

https://dlang.org/download.html


specifically I grab the linux tarballs
http://downloads.dlang.org/releases/2.x/2.079.0/dmd.2.079.0.linux.tar.xz

and just cd dmd2/src/dmd and make -f posix.mak

this always worked perfectly a year or two ago, then it broke 
when they added the new ddoc theme and now the version is missing 
too.


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Adam D. Ruppe via Digitalmars-d

On Monday, 12 March 2018 at 12:24:54 UTC, Seb wrote:

Where did you grab the source ball?


an extremely unlikely place to download the dlang compiler.

https://dlang.org/download.html


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Daniel Kozak via Digitalmars-d
wierd, still working for me, and it seems working for archlinux too:
https://git.archlinux.org/svntogit/community.git/plain/trunk/PKGBUILD?h=packages/dmd

On Mon, Mar 12, 2018 at 1:17 PM, Adam D. Ruppe via Digitalmars-d <
digitalmars-d@puremagic.com> wrote:

> I do. It was a long, long time ago, but it was a glorious age when you
> could hack on dmd with ease. Just download the zip, cd dmd/src/dmd and
> make. Seconds later, you'd have a new dmd binary.
>
> But then the dark times came.
>
> dmd/globals.d(362): Error: file "VERSION" cannot be found or not in a path
> specified with -J
>
> The compiler barked.
>
> make: *** No rule to make target 
> `../generated/linux/release/64/SYSCONFDIR.imp',
> needed by `../generated/linux/release/64/dmd'.  Stop.
>
> The make program howled.
>
> Fine, I'll play your game, the hacker asserted and did create the files
> but the shell hissed
>
> /bin/sh: ../config.sh: No such file or directory
> make: *** No rule to make target `../res/default_ddoc_theme.ddoc', needed
> by `../generated/linux/release/64/dmd'.  Stop.
>
>
>
> It might be boost licensed now, but it has moved further away from the
> most basic principle of free software: that the source actually works.
>


Re: Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Seb via Digitalmars-d

On Monday, 12 March 2018 at 12:17:55 UTC, Adam D. Ruppe wrote:
I do. It was a long, long time ago, but it was a glorious age 
when you could hack on dmd with ease. Just download the zip, cd 
dmd/src/dmd and make. Seconds later, you'd have a new dmd 
binary.


[...]


Where did you grab the source ball?
The zip/tar.gz source balls from GitHub are tested and run on all 
CIs from scratch.


Remember when make -f posix.mak just worked for dmd from zip?

2018-03-12 Thread Adam D. Ruppe via Digitalmars-d
I do. It was a long, long time ago, but it was a glorious age 
when you could hack on dmd with ease. Just download the zip, cd 
dmd/src/dmd and make. Seconds later, you'd have a new dmd binary.


But then the dark times came.

dmd/globals.d(362): Error: file "VERSION" cannot be found or not 
in a path specified with -J


The compiler barked.

make: *** No rule to make target 
`../generated/linux/release/64/SYSCONFDIR.imp', needed by 
`../generated/linux/release/64/dmd'.  Stop.


The make program howled.

Fine, I'll play your game, the hacker asserted and did create the 
files but the shell hissed


/bin/sh: ../config.sh: No such file or directory
make: *** No rule to make target 
`../res/default_ddoc_theme.ddoc', needed by 
`../generated/linux/release/64/dmd'.  Stop.




It might be boost licensed now, but it has moved further away 
from the most basic principle of free software: that the source 
actually works.