Re: COFF on Win32 how to try?

2014-10-11 Thread Rainer Schuetze via Digitalmars-d-learn



On 10.10.2014 20:44, Szymon Gatner wrote:

Hi, thanks for all the information.

I got Digger (pretty nice tool btw) and it pulled all neccessary repos
from GitHub. As my understanding is that I should not be doing Build
with Diggger I just opened Windows console, entered druntime dir and typed:


You have to build dmd, so it should be  good starting point to succeed 
in building the full chain for win64: dmd, druntime and win64.




d:\digger-1.0\repo\druntimemake -f win64.mak MODEL=32mscoff
CC=\%VCINSTALLDIR
%\bin\cl.exe\

and got:

dmd -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di
src\core\sync\barrier.d

src\core\stdc\stdio.d(859): Error: found 'nothrow' when expecting '{'


Ahh, I thought it would use a compiled dmd by default. You will have to 
specify the path to dmd too:


make -f win64.mak MODEL=32mscoff CC=\%VCINSTALLDIR%\bin\cl.exe\ 
DMD=../result/bin/dmd


The given dmd path is specific to building with digger (the normal path 
is ../dmd/src/dmd). You'll have to update sc.ini there, too.


Re: COFF on Win32 how to try?

2014-10-11 Thread Szymon Gatner via Digitalmars-d-learn
On Saturday, 11 October 2014 at 09:21:18 UTC, Rainer Schuetze 
wrote:



On 10.10.2014 20:44, Szymon Gatner wrote:

Hi, thanks for all the information.

I got Digger (pretty nice tool btw) and it pulled all 
neccessary repos
from GitHub. As my understanding is that I should not be doing 
Build
with Diggger I just opened Windows console, entered druntime 
dir and typed:


You have to build dmd, so it should be  good starting point to 
succeed in building the full chain for win64: dmd, druntime and 
win64.


You mean for Win32? Beacause that is what I am after.





d:\digger-1.0\repo\druntimemake -f win64.mak MODEL=32mscoff
CC=\%VCINSTALLDIR
%\bin\cl.exe\

and got:

dmd -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di
src\core\sync\barrier.d

src\core\stdc\stdio.d(859): Error: found 'nothrow' when 
expecting '{'


Ahh, I thought it would use a compiled dmd by default. You will 
have to specify the path to dmd too:


make -f win64.mak MODEL=32mscoff 
CC=\%VCINSTALLDIR%\bin\cl.exe\ DMD=../result/bin/dmd


The given dmd path is specific to building with digger (the 
normal path is ../dmd/src/dmd). You'll have to update sc.ini 
there, too.


So to build HEAD druntime and Phobos I also need HEAD DMD, 
correct? Installation of 2.066 I have now is not sufficent?


Re: COFF on Win32 how to try?

2014-10-11 Thread Sag Academy via Digitalmars-d-learn

On Saturday, 11 October 2014 at 10:12:47 UTC, Szymon Gatner wrote:
On Saturday, 11 October 2014 at 09:21:18 UTC, Rainer Schuetze 
wrote:



On 10.10.2014 20:44, Szymon Gatner wrote:

Hi, thanks for all the information.

I got Digger (pretty nice tool btw) and it pulled all 
neccessary repos
from GitHub. As my understanding is that I should not be 
doing Build
with Diggger I just opened Windows console, entered druntime 
dir and typed:


You have to build dmd, so it should be  good starting point to 
succeed in building the full chain for win64: dmd, druntime 
and win64.


You mean for Win32? Beacause that is what I am after.





d:\digger-1.0\repo\druntimemake -f win64.mak MODEL=32mscoff
CC=\%VCINSTALLDIR
%\bin\cl.exe\

and got:

dmd -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di
src\core\sync\barrier.d

src\core\stdc\stdio.d(859): Error: found 'nothrow' when 
expecting '{'


Ahh, I thought it would use a compiled dmd by default. You 
will have to specify the path to dmd too:


make -f win64.mak MODEL=32mscoff 
CC=\%VCINSTALLDIR%\bin\cl.exe\ DMD=../result/bin/dmd


The given dmd path is specific to building with digger (the 
normal path is ../dmd/src/dmd). You'll have to update sc.ini 
there, too.


So to build HEAD druntime and Phobos I also need HEAD DMD, 
correct? Installation of 2.066 I have now is not sufficent?


sounds good


Re: COFF on Win32 how to try?

2014-10-11 Thread Rainer Schuetze via Digitalmars-d-learn



On 11.10.2014 12:12, Szymon Gatner wrote:

On Saturday, 11 October 2014 at 09:21:18 UTC, Rainer Schuetze wrote:



On 10.10.2014 20:44, Szymon Gatner wrote:

Hi, thanks for all the information.

I got Digger (pretty nice tool btw) and it pulled all neccessary repos
from GitHub. As my understanding is that I should not be doing Build
with Diggger I just opened Windows console, entered druntime dir and
typed:


You have to build dmd, so it should be  good starting point to succeed
in building the full chain for win64: dmd, druntime and win64.


You mean for Win32? Beacause that is what I am after.


I meant Win64, because the tool chain is very much the same as for 
win32mscoff (MS compiler and linker and C runtime). Win32 means dmc and 
optlink. That's also why the win64.mak makefiles are abused for win32mscoff.








d:\digger-1.0\repo\druntimemake -f win64.mak MODEL=32mscoff
CC=\%VCINSTALLDIR
%\bin\cl.exe\

and got:

dmd -c -o- -Isrc -Iimport -Hfimport\core\sync\barrier.di
src\core\sync\barrier.d

src\core\stdc\stdio.d(859): Error: found 'nothrow' when expecting '{'


Ahh, I thought it would use a compiled dmd by default. You will have
to specify the path to dmd too:

make -f win64.mak MODEL=32mscoff CC=\%VCINSTALLDIR%\bin\cl.exe\
DMD=../result/bin/dmd

The given dmd path is specific to building with digger (the normal
path is ../dmd/src/dmd). You'll have to update sc.ini there, too.


So to build HEAD druntime and Phobos I also need HEAD DMD, correct?
Installation of 2.066 I have now is not sufficent?


Yes, DMD git HEAD is required.


Re: Building a dmd that works on old systems: TLS problems with libc

2014-10-11 Thread Joakim via Digitalmars-d-learn

On Friday, 3 October 2014 at 14:21:02 UTC, Atila Neves wrote:
Then I tried only using dmd to compile and linking it myself. 
That worked, but the resulting binary crashed. After loading it 
up in gdb, it crashed in __tls_get_addr


My guess would be that your system doesn't have __tls_get_addr, 
which is unique in that it is provided by the runtime linker from 
glibc.  You may want to try out my Android patch for dmd, which 
doesn't use native TLS and doesn't rely on that function either:


http://164.138.25.188/dmd/packed_tls_for_elf.patch

You'll want to get rid of that last change to mars.c, substitute 
rt/sections_android.d for rt/sections_linux.d in druntime (don't 
forget to change the version (Android): inside that file to 
version (linux): also), and make sure you're using the default 
ld.bfd linker and not the gold linker.  That might work for you.


On Thursday, 9 October 2014 at 17:30:04 UTC, Kevin Lamonte wrote:
I am experiencing a similar problem trying to build a static 
executable, exactly as described in 
https://issues.dlang.org/show_bug.cgi?id=12268 .  I don't know 
if the root cause is a gcc issue or a phobos issue.


Probably neither, probably a druntime issue, specifically the 
rt.sections_linux module's use of the __tls_get_addr function, 
which is called from the dynamic linker at runtime.


Re: ini library in OSX

2014-10-11 Thread Joel via Digitalmars-d-learn
On Thursday, 11 September 2014 at 10:49:48 UTC, Robert burner 
Schadek wrote:

some self promo:

http://code.dlang.org/packages/inifiled


I would like an example?


[yajl-d] hello world with json arrays

2014-10-11 Thread Jack via Digitalmars-d-learn

Disclaimer: Don't eat me.

I was just wondering to those who are experienced in using yajl-d 
to show me the proper implementation of using it with arrays.

So far this is what I understand from parsing Json Objects:


class random{
private string foo;
private string bar;
}



void main(string [] args){
random rand = decode!random(to!string(read(json_file.json)));
//do stuff


Now I'm just wondering how can I implement it with Json arrays.
Just some information or a place to start with is all I ask.
Thank you.