www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Linker error with dmd when trying to generate wxWidgets wrapper on

reply Vincent R <lol dlang.org> writes:
Hi,

I have a problem to generate D wrapper for wxWidgets (wxD) on 
msys2/mingw64.
Here is how to reproduce it:

1) Install msys2 from here http://msys2.github.io/

2) Launch msys2 terminal and add dmc/dmd to PATH

$ mkdir tmp && cd tmp
$ export 
PATH="C:\Developer\D\dm\bin":"C:\Developer\D\dmd2\windows\bin":$PATH
$ wget 
https://github.com/wxWidgets/wxWidgets/releases/download/v2.8.12/wxWidgets-2.8.12.tar.gz
$ cd wxWidgets-2.8.12/build/msw
$ make -f makefile.dmc
$ export WXDIR=/home/Vincent/tmp/wxWidgets-2.8.12
$ cd ~/tmp
$ git clone https://github.com/vrichomme/wxd.git
$ cd wxd/src
$ make
...
Warning: Public 
'_D2wx8TreeCtrl10TreeItemId6__ctorMFPvZC2wx8TreeCtrl10TreeItemId' 
already in library, redefinition ignored.

Then when I try to generate some samples I have an error about 
the same symbol:

$ cd Samples/

dmd -c -version=wx28 -version=__WXMSW__ -version=ANSI -I..\.. 
Font.d
Font.d(15): Deprecation: module std.stream is deprecated - It 
will be removed from Phobos in October 2016. If you still need 
it, go to https://github.com/DigitalMars/undeaD
..\..\wx\common.d(151): Deprecation: function 
wx.common.new_Rectangle is deprecated
..\..\wx\common.d(151): Deprecation: function 
wx.common.new_Rectangle is deprecated
Font.d(667): Deprecation: implicitly overriding base class method 
wx.FontMisc.FontEnumerator.Facenames with 
Font.MyFontEnumerator.Facenames deprecated; add 'override' 
attribute

dmd -g -of..\..\bin\Font.exe Font.obj ..\..\wxd.lib ..\..\wxc.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxbase28d.lib
 C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_l
b\wxbase28d_xml.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_l
b\wxmsw28d_core.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_
ib\wxmsw28d_adv.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_l
b\wxmsw28d_html.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_
ib\wxmsw28d_xrc.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxtiffd.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxjpegd.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxpngd.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxzlibd.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxregexd.lib 
C:/Developer/msys64/home/Vincent/tmp/wxWidgets-2.8.12\lib\dmc_lib\wxexpatd.lib 
 kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib
shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib
advapi32.lib wsock32.lib odbc32.lib    -L/EXETYPE:NT -L/SU:WINDOWS:4.0
OPTLINK (R) for Win32  Release 8.00.17
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
..\..\wxd.lib(TreeCtrl)  Offset B471FH Record Type 00C3
  Error 1: Previous Definition Different : 
_D2wx8TreeCtrl10TreeItemId6__ctorMFPvZC2wx8TreeCtrl10TreeItemId
C:\Developer\msys64\home\Vincent\tmp\wxWidgets-2.8.12\lib\dmc_lib\wxbase28d.lib(dircmn)
  Error 168: >64K Global Types


So I don't know if the bug is inside the wrapper or the 
compiler/linker.
I should add that I have the same issue with gdc.

Need someone to look at it.

Thanks
Nov 26 2015
parent reply Kagamin <spam here.lot> writes:
The bug report is https://issues.dlang.org/show_bug.cgi?id=15324
Nov 27 2015
parent reply Vincent R <lol dlang.org> writes:
On Friday, 27 November 2015 at 09:56:10 UTC, Kagamin wrote:
 The bug report is https://issues.dlang.org/show_bug.cgi?id=15324
Just hope it will be fixed soon because I gave up D 7 years ago (too many bugs, war between phobos, tango, very young language) and now I realize it still very complicated to use it (at least on windows).
Nov 30 2015
parent reply Luis <luis.panadero gmail.com> writes:
On Monday, 30 November 2015 at 09:23:33 UTC, Vincent R wrote:
 On Friday, 27 November 2015 at 09:56:10 UTC, Kagamin wrote:
 The bug report is 
 https://issues.dlang.org/show_bug.cgi?id=15324
Just hope it will be fixed soon because I gave up D 7 years ago (too many bugs, war between phobos, tango, very young language) and now I realize it still very complicated to use it (at least on windows).
Yeah, on Linux simply just works. On Windows, there is more issues...
Dec 01 2015
parent reply Vincent R <lol dlang.org> writes:
On Tuesday, 1 December 2015 at 10:21:11 UTC, Luis wrote:
 On Monday, 30 November 2015 at 09:23:33 UTC, Vincent R wrote:
 On Friday, 27 November 2015 at 09:56:10 UTC, Kagamin wrote:
 The bug report is 
 https://issues.dlang.org/show_bug.cgi?id=15324
Just hope it will be fixed soon because I gave up D 7 years ago (too many bugs, war between phobos, tango, very young language) and now I realize it still very complicated to use it (at least on windows).
Yeah, on Linux simply just works. On Windows, there is more issues...
Not even sure it works on linux because on the bug report above, platform is linux...
Dec 01 2015
parent Vincent R <lol dlang.org> writes:
On Tuesday, 1 December 2015 at 16:46:21 UTC, Vincent R wrote:
 On Tuesday, 1 December 2015 at 10:21:11 UTC, Luis wrote:
 On Monday, 30 November 2015 at 09:23:33 UTC, Vincent R wrote:
 On Friday, 27 November 2015 at 09:56:10 UTC, Kagamin wrote:
 The bug report is 
 https://issues.dlang.org/show_bug.cgi?id=15324
Just hope it will be fixed soon because I gave up D 7 years ago (too many bugs, war between phobos, tango, very young language) and now I realize it still very complicated to use it (at least on windows).
Yeah, on Linux simply just works. On Windows, there is more issues...
Not even sure it works on linux because on the bug report above, platform is linux...
Do we know when it will be fixed because I would like to keep on progressing on my project and if it takes too much time I will use another language (go language is my next candidate) ?
Dec 09 2015