www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Installing LDC on Windows

reply Russel Winder via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
OK I installed LDC pre-built on MinGW for Windows on Windows and then
Installed MinGW for Windows but when I run ldc2 it tells me
libgcc_s_dw2-1.dll is missing.

Is this problem soluble by any means other than destruction of Windows?
--=20
Russel.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder ekiga.n=
et
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
Sep 06 2014
next sibling parent reply "Danyal Zia" <catofdanyal yahoo.com> writes:
On Saturday, 6 September 2014 at 11:13:20 UTC, Russel Winder via 
Digitalmars-d-learn wrote:
 OK I installed LDC pre-built on MinGW for Windows on Windows 
 and then
 Installed MinGW for Windows but when I run ldc2 it tells me
 libgcc_s_dw2-1.dll is missing.

 Is this problem soluble by any means other than destruction of 
 Windows?
You need to set PATH in environment variables to the directory where shared libaries of MinGW are present...
Sep 06 2014
parent reply Russel Winder via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
On Sat, 2014-09-06 at 11:26 +0000, Danyal Zia via Digitalmars-d-learn
wrote:
 On Saturday, 6 September 2014 at 11:13:20 UTC, Russel Winder via=20
 Digitalmars-d-learn wrote:
 OK I installed LDC pre-built on MinGW for Windows on Windows=20
 and then
 Installed MinGW for Windows but when I run ldc2 it tells me
 libgcc_s_dw2-1.dll is missing.

 Is this problem soluble by any means other than destruction of=20
 Windows?
=20 You need to set PATH in environment variables to the directory=20 where shared libaries of MinGW are present...
Hummm=E2=80=A6 I thought I had since all the DLLs are in the bin directory = and you need that in your PATH. Ah, I installed MinGW that has libgcc_s_seh-1.dll not libgcc_s_dw2-1.dll. Of course having a gcc and g++ in my path ruins all my SCons experiments since the whole point was not to have them in the path, just ldc2. Ho hum. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Sep 06 2014
parent reply "Kagamin" <spam here.lot> writes:
SEH was patented, so llvm doesn't support it.
Sep 06 2014
next sibling parent reply Russel Winder via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
On Sat, 2014-09-06 at 15:09 +0000, Kagamin via Digitalmars-d-learn
wrote:
 SEH was patented, so llvm doesn't support it.
I installed the other MinGW option and it provides libgcc_s_sjlj-1.dll which is not helping me actually run ldc2 on Windows :-( --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Sep 06 2014
next sibling parent reply "Kagamin" <spam here.lot> writes:
Looks like mingw supports 3 types of exception handling. LDC 
usually tightly coupled with mingw version, you shouldn't try it 
blindly, but follow installation instructions instead.
Sep 06 2014
parent reply "David Nadlinger" <code klickverbot.at> writes:
On Saturday, 6 September 2014 at 16:36:38 UTC, Kagamin wrote:
 Looks like mingw supports 3 types of exception handling. LDC 
 usually tightly coupled with mingw version, you shouldn't try 
 it blindly, but follow installation instructions instead.
It's not really tightly coupled to the MinGW version per se. What is required is Dwarf 2 EH and a working TLS implementation. The latter is the reason for the "recent version of mingw-w64" requirement, because I fixed the implementation there a year ago or so. No idea if the mingw.org people have gotten their act together since. That being said, it still makes sense to try a known good version first, as LDC exercises quite a large part of the compiler/runtime features, some of which aren't needed in more wide-spread use cases (for example native TLS). David
Sep 06 2014
parent "Kagamin" <spam here.lot> writes:
On Saturday, 6 September 2014 at 22:06:30 UTC, David Nadlinger 
wrote:
 On Saturday, 6 September 2014 at 16:36:38 UTC, Kagamin wrote:
 Looks like mingw supports 3 types of exception handling. LDC 
 usually tightly coupled with mingw version, you shouldn't try 
 it blindly, but follow installation instructions instead.
It's not really tightly coupled to the MinGW version per se. What is required is Dwarf 2 EH and a working TLS implementation. The latter is the reason for the "recent version of mingw-w64" requirement, because I fixed the implementation there a year ago or so. No idea if the mingw.org people have gotten their act together since.
BTW, looks like there are official fresh dwarf builds: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.1/threads-win32/dwarf/
Sep 09 2014
prev sibling parent reply "David Nadlinger" <code klickverbot.at> writes:
On Saturday, 6 September 2014 at 16:11:55 UTC, Russel Winder via 
Digitalmars-d-learn wrote:
 I installed the other MinGW option and it provides 
 libgcc_s_sjlj-1.dll
 which is not helping me actually run ldc2 on Windows :-(
It is mentioned both the in README coming with the Windows packages and the on wiki [1] that you need a Dwarf 2 EH package (-dw2) of MinGW-w64 for LDC to work. How can we make this more clear? Cheers, David [1] http://wiki.dlang.org/Building_LDC_on_MinGW_x86
Sep 06 2014
parent Russel Winder via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
On Sat, 2014-09-06 at 21:52 +0000, David Nadlinger via
Digitalmars-d-learn wrote:
 On Saturday, 6 September 2014 at 16:11:55 UTC, Russel Winder via=20
 Digitalmars-d-learn wrote:
 I installed the other MinGW option and it provides=20
 libgcc_s_sjlj-1.dll
 which is not helping me actually run ldc2 on Windows :-(
=20 It is mentioned both the in README coming with the Windows=20 packages and the on wiki [1] that you need a Dwarf 2 EH package=20 (-dw2) of MinGW-w64 for LDC to work. =20 How can we make this more clear?
I wasn't looking at anything that was to do with building LDC on Windows, so I guess I just didn't look. I wanted a binary download install process. LDC came down fine, but it was then a question of getting MinGW-w64. The MinGW-w64 installer only offers seh and sjlj as options it doesn't offer dw2. I probably would have read the README eventually, but I wasn't in the frame of mind of doing this: I just wanted to test something on Windows quickly and give the machine back. I am therefore a bad sample for worrying about making things clear! :-) On Linux, I happily build LDC from a Git repository clone, I have even got it all working on OSX as well. I just don't do Windows=E2=80=A6 but for= the SCons D tools Windows tests need running=E2=80=A6 --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Sep 07 2014
prev sibling next sibling parent reply "Trass3r" <un known.com> writes:
 SEH was patented, so llvm doesn't support it.
That has changed.
Sep 06 2014
parent reply "David Nadlinger" <code klickverbot.at> writes:
On Saturday, 6 September 2014 at 17:51:16 UTC, Trass3r wrote:
 SEH was patented, so llvm doesn't support it.
That has changed.
Has it? SEH on Win64 is something entirely different from the original (x86) SEH design, and not covered by said patent. David
Sep 06 2014
parent "Trass3r" <un known.com> writes:
On Saturday, 6 September 2014 at 21:54:00 UTC, David Nadlinger 
wrote:
 On Saturday, 6 September 2014 at 17:51:16 UTC, Trass3r wrote:
 SEH was patented, so llvm doesn't support it.
That has changed.
Has it? SEH on Win64 is something entirely different from the original (x86) SEH design, and not covered by said patent.
Ok 2in1. 1) As far as I know the x86 SEH patent expired in June. 2) For x64 the implementation is very close now: https://github.com/ldc-developers/ldc/issues/166#issuecomment-54522891
Sep 06 2014
prev sibling parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On 9/6/2014 11:09 AM, Kagamin wrote:
 SEH was patented, so llvm doesn't support it.
Seriously, if they're worried about infringing a software patent, they have no business writing any code at all. Avoiding things covered by patents *and* writing code that actually does anything useful is NOT REALISTICALLY POSSIBLE. The SEH patent is just a red herring here.
Sep 06 2014
prev sibling parent "Dejan Lekic" <dejan.lekic gmail.com> writes:
On Saturday, 6 September 2014 at 11:13:20 UTC, Russel Winder via 
Digitalmars-d-learn wrote:
 OK I installed LDC pre-built on MinGW for Windows on Windows 
 and then
 Installed MinGW for Windows but when I run ldc2 it tells me
 libgcc_s_dw2-1.dll is missing.

 Is this problem soluble by any means other than destruction of 
 Windows?
My first guess is that you do not use 32bit MinGW. Here is what I got inside MSYS2 (MSYS2 rocks btw!): $ find . -name libgcc* ./mingw32/bin/libgcc_s_dw2-1.dll ./mingw64/bin/libgcc_s_seh-1.dll
Sep 09 2014