lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] Difficulty building with "dll" attributes and new wx


From: Vadim Zeitlin
Subject: Re: [lmi] Difficulty building with "dll" attributes and new wx
Date: Thu, 16 Jul 2020 11:42:28 +0200

On Thu, 16 Jul 2020 09:22:02 +0000 Greg Chicares <gchicares@sbcglobal.net> 
wrote:

GC> To reproduce, either do this:
GC>   ./nychthemeral_test.sh
GC> with current head (commit 6977670839d9ee, which upgraded wx),
GC> or manually upgrade wx as that commit prescribes and do this:
GC>   make all build_type=so_test USE_SO_ATTRIBUTES=1
GC> This link command fails:

 I didn't have time to rerun it yet, but we definitely ran
nychthemeral_test.sh as part of the testing and it worked for us, although
perhaps not with the very latest wx commit which was finally included in
the PR. If this is really what explains the difference, it should be
relatively easy to find the culprit.

GC> i686-w64-mingw32-g++ -o skeleton.dll -shared convenience.o exception.o 
path_posix_windows.o operations_posix_windows.o xml_xslt_wrapp.o about_dialog.o 
alert_wx.o census_document.o census_view.o database_document.o database_view.o 
database_view_editor.o default_view.o docmanager_ex.o file_command_wx.o 
gpt_document.o gpt_view.o group_quote_pdf_gen_wx.o icon_monger.o 
illustration_document.o illustration_view.o input_sequence_entry.o 
main_common.o mec_document.o mec_view.o msw_workarounds.o multidimgrid_any.o 
multidimgrid_tools.o mvc_controller.o mvc_view.o pdf_command_wx.o 
pdf_writer_wx.o policy_document.o policy_view.o preferences_view.o 
previewframe_ex.o product_editor.o progress_meter_wx.o rounding_document.o 
rounding_view.o rounding_view_editor.o single_choice_popup_menu.o skeleton.o 
system_command_wx.o text_doc.o text_view.o tier_document.o tier_view.o 
tier_view_editor.o transferor.o view_ex.o wx_checks.o wx_table_generator.o 
wx_utility.o liblmi.dll wx_new.dll -L . -L 
/opt/lmi/local/gcc_i686-w64-mingw32/lib -L 
/opt/lmi/local/gcc_i686-w64-mingw32/bin -lwxcode_mswu_pdfdoc-3.1  -L 
/opt/lmi/local/gcc_i686-w64-mingw32/lib -L 
/opt/lmi/local/gcc_i686-w64-mingw32/lib  -lwx_mswu-3.1-i686-w64-mingw32 
-mwindows    -lexslt -lxslt -lxml2      -Wl,-Map,skeleton.dll.map  
-Wl,--disable-auto-import -static-libstdc++
GC> 
GC> producing lots of messages like these:
GC> 
GC> /usr/bin/i686-w64-mingw32-ld: about_dialog.o: in function `ZN7wxPanelC4Ev':
GC> /opt/lmi/local/include/wx-3.1/wx/msw/panel.h:22: undefined reference to 
`vtable for wxPanel'
GC> /usr/bin/i686-w64-mingw32-ld: about_dialog.o: in function 
`ZN16wxScrolledWindowC4Ev':
GC> /opt/lmi/local/include/wx-3.1/wx/scrolwin.h:497: undefined reference to 
`vtable for wxScrolledWindow'
GC> 
GC> I count undefined references to vtables for 142 different things
GC> (filtered with 'sort -u'); all are in wx (none point elsewhere).

 Strange that there are no errors in wxPdfDoc too, it does something very
similar, if not identical, to wx DLL export/import declarations I believe.

GC> I'm using gcc-10:
GC>   $ i686-w64-mingw32-gcc --version
GC>   i686-w64-mingw32-gcc (GCC) 10-win32 20200525
GC> but 'nychthemeral_test.sh' ran cleanly with that version (as well as
GC> with gcc-8.3) before this wx upgrade. I could test it with gcc-8.3 too,
GC> but that's inconvenient at the moment.

 I'll try to test and fix this a.s.a.p., but right now I have unfortunately
no idea what could the problem be. I hope we don't have to add yet another
gcc version check condition to the definition of WX{EX,IM}PORT in
wx/dlimpexp.h...

 Sorry about this problem,
VZ

Attachment: pgpTNSgpDnb5o.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]