A list for the developers of CellML tools

Text archives Help


[cellml-dev] CellML 1.10rc2


Chronological Thread 
  • From: ak.miller at auckland.ac.nz (Andrew Miller)
  • Subject: [cellml-dev] CellML 1.10rc2
  • Date: Tue, 13 Sep 2011 08:43:40 +1200

On 13/09/11 08:07, Alan Garny wrote:
> Hi Andrew,
>
...
>
> However, on Windows, things don?t work as expected, even though
> everything builds fine. Basically, whenever I run the program, I get the
> following message: ?The procedure entry point _ZNKSt9exception4whatEv
> could not be located in the dynamic link library libstdc++-6.dll?. That
> DLL is part of MinGW, so I thought I would check its entry points (using
> DLL Export Viewer
> <http://www.nirsoft.net/utils/dll_export_viewer.html>), but couldn?t
> find anything for ZNKSt9exception4whatEv.
>
> The only thing I can think of is that we use different versions of
> MinGW. Personally, I use the (patched) version (4.4) of MinGW that comes
> with Qt SDK 1.1.3 <http://qt.nokia.com/downloads>, and I wonder whether
> you wouldn?t be using the official version of MinGW
> <http://www.mingw.org/>??

Hi Alan,

The CellML API is built against the MingW binaries available from
mingw.org rather than any patched version.

$ md5sum /cygdrive/c/MinGW/bin/libstdc++-6.dll
d575f00fbf32f16de1e082e5966f5abc */cygdrive/c/MinGW/bin/libstdc++-6.dll

$ objdump -p /cygdrive/c/MinGW/bin/libstdc++-6.dll |grep
ZNKSt9exception4whatEv
[ 694] _ZNKSt9exception4whatEv

$ /cygdrive/c/MinGW/bin/gcc --version
gcc.exe (GCC) 4.5.2
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

It looks like that symbol is not new; I suspect that your compiler
version might have a different exception handling mechanism, so an
incompatible C++ ABI. There are two ways of handling exceptions on
Windows: DWARF2, which the version of MingW that the CellML API is build
with uses, and the slower way that doesn't work across DLL boundaries
using setjmp/longjmp (SJLJ exceptions).

However, it looks like recent versions of QtCreator are supposed to be
using dw2 and not sjlj. Do you have an old version of QtCreator by any
chance?

Could you please run objdump -p on your libstdc++-6.dll and grep for
9exception4what?

Best wishes,
Andrew




Archive powered by MHonArc 2.6.18.

Top of page