www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - Entry Point Not Found with ldc2-0.11.0-mingw-x86

reply "Ludovit Lucenic" <llucenic gmail.com> writes:
Hello,

I have downloaded the mingw-x86 binary for 0.11.0 version of LDC 
from 
http://forum.dlang.org/thread/mailman.990.1370788529.13711.digitalmars-d-ldc puremagic.com

When I've run `ldc2.exe --help` on the command line I got
"ldc2.exe - Entry Point Not Found" error message with this text:
"The procedure entry point __gxx_personality_v0 could not be 
located in the dynamic link library 
C:\Data\D\ldc2-0.11.0-mingw-x86\bin\libconfig++-9.dll."

Would you please help me understand what is going on here with 
this message?
Thank you a lot.

Regards,
Ludovit
Aug 31 2013
parent reply David Nadlinger <code klickverbot.at> writes:
Hi Ludovit,

On Sat, Aug 31, 2013 at 11:56 PM, Ludovit Lucenic <llucenic gmail.com> wrote:
 "The procedure entry point __gxx_personality_v0 could not be located in the
 dynamic link library C:\Data\D\ldc2-0.11.0-mingw-x86\bin\libconfig++-9.dll."
From a quick search online, it seems that the most likely explanation
for this error message is that you are using a SJLJ-based version of MinGW. LDC needs a DW2-based copy of MinGW, and more specifically, a recent version of mingw-w64 because of TLS-related issues (no idea whether my fixes also ended up in the mingw.org-flavored compilers by now). The current one I'm using is this 4.8.0-based personal build by Ruben, but newer ones might work as well: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.8-dw2-release/i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z/download Hope this helps, David
Aug 31 2013
parent reply "Ludovit Lucenic" <llucenic gmail.com> writes:
On Saturday, 31 August 2013 at 22:37:56 UTC, David Nadlinger 
wrote:
 Hi Ludovit,

From a quick search online, it seems that the most likely 
explanation
for this error message is that you are using a SJLJ-based version of MinGW. LDC needs a DW2-based copy of MinGW, and more specifically, a recent version of mingw-w64 because of TLS-related issues (no idea whether my fixes also ended up in the mingw.org-flavored compilers by now). The current one I'm using is this 4.8.0-based personal build by Ruben, but newer ones might work as well: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.8-dw2-release/i686-w64-mingw32-gcc-dw2-4.8.0-win32_rubenvb.7z/download Hope this helps, David
Thank you David. For both your quick answer as well as actual help with my problem. I got into another one, as I cannot pass "<library>.lib" files as command line arguments to the ldc2.exe. I keep getting "Error: unrecognized file extension lib" error message from LDC. What does this mean please? Actually, the libs were generated with DMD and make no problems when passed on as parameters to the DMD (the same compilation command as I use now with LDC). Thanks a lot once more. Have a nice night :-) Ludovit
Aug 31 2013
parent reply David Nadlinger <code klickverbot.at> writes:
Hi Ludovit,

On Sun, Sep 1, 2013 at 1:43 AM, Ludovit Lucenic <llucenic gmail.com> wrote:
 Thank you David. For both your quick answer as well as actual help with my
 problem. I got into another one, as I cannot pass "<library>.lib" files as
 command line arguments to the ldc2.exe. I keep getting "Error: unrecognized
 file extension lib" error message from LDC.

 What does this mean please? Actually, the libs were generated with DMD and
 make no problems when passed on as parameters to the DMD (the same
 compilation command as I use now with LDC).
Glad to hear I guessed right. LDC for Win32 doesn't recognize '.lib' as a library extension, as libraries for use with MinGW usually have names ending in '.a'. But regarding libraries built by DMD, the different D compilers are unfortunately not ABI-compatible (on the fundamental parameter passing level as well as concerning the druntime details), so you will need to rebuild them with LDC anyway (or for that matter, with the exact DMD version you are at for use with DMD). Or did I misunderstand you? David
Aug 31 2013
parent "Ludovit Lucenic" <llucenic gmail.com> writes:
On Sunday, 1 September 2013 at 06:19:18 UTC, David Nadlinger 
wrote:
 Hi Ludovit,

 Glad to hear I guessed right. LDC for Win32 doesn't recognize 
 '.lib'
 as a library extension, as libraries for use with MinGW usually 
 have
 names ending in '.a'.

 But regarding libraries built by DMD, the different D compilers 
 are
 unfortunately not ABI-compatible (on the fundamental parameter 
 passing
 level as well as concerning the druntime details), so you will 
 need to
 rebuild them with LDC anyway (or for that matter, with the 
 exact DMD
 version you are at for use with DMD).

 Or did I misunderstand you?

 David
Hello David, I'll recompile the libraries. I thought the problem was the extension, I knew not how to deal with it anyhow. Thank you for your help. I'll let you know of the progress. Keep doing a great job. Btw. your DConf talk was a very captivating one. Ludovit
Sep 03 2013