lmi
[Top][All Lists]
Advanced

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

[lmi] Failure linking sample programs: wx-2.6.2 with MinGW gcc-3.2.3 [Wa


From: Greg Chicares
Subject: [lmi] Failure linking sample programs: wx-2.6.2 with MinGW gcc-3.2.3 [Was: wx segfault iterating on GetChildren()]
Date: Mon, 20 Mar 2006 15:51:14 +0000
User-agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)

On 2006-3-16 22:44 UTC, Evgeniy Tarassov wrote:
>
> Vadim has asked me to check if the tuple
> mpatrol+mingw(gcc3.2.3)+wxWidget2.6.2
> allows to compile lmi.
> It does work with almost no problems/workarounds.

I get errors such as
  undefined reference to `wxWindowList::DeleteFunction(wxWindow*)'
  undefined reference to `wxMenuItemList::DeleteFunction(wxMenuItem*)'
building code I wrote, and I can reproduce at least the second one
in a wx sample program: see below. No lmi, no mpatrol, just wx-2.6.2
and this old MinGW gcc in MSYS.

> The package versions i've used:
> 1. msys+mingw
> The 'Previous' distribution on the mingw website
>     gcc3.2.3, msysDTK1.0.10, MSYS1.0.9, Mingw3.1.0-1

OK, I'm using
  http://prdownloads.sourceforge.net/mingw/MinGW-3.1.0-1.exe
same as you; that's gcc-3.2.3 . The MSYS DTK isn't needed, and the
problem I'm reporting should not depend on any particular version
of the shell.

> plus a couple of packages from 'Current' distrubution (because either
> the supplied one with 'Previous' was not functional, or missing)
>     wget, msys-autotools, gdb

OK, I'm not actually using any of those to demonstrate this problem.

> 2. wxWidgets2.6.2 ('all ports combined' version)
> when compiling wxWidgets i've used options from README.auto document
> file of lmi.

I downloaded that version:
  C:/downloads[0]$md5sum wxWidgets-2.6.2.tar.bz2
  ee0aa211febd992c8540e6c9df749b51  wxWidgets-2.6.2.tar.bz2

> 3. mpatrol
> The one described in the INSTALL document of lmi

Not used in demonstrating the 'sample' problem I'm reporting.

Here I cut and paste exactly what I did to reproduce the problem
with the wx menu sample:

/c/wxWidgets-2.6.2/build_3_2_3[0]$../configure --disable-gif --disable-apple_ie
ee --without-libjpeg --without-libtiff --without-regex --enable-monolithic --en
able-shared --disable-threads --enable-stl --enable-std_iostreams --enable-debu
g --enable-commondlg --disable-compat24 CXXFLAGS='-DNO_GCC_PRAGMA' >config_log_
20060320
configure: WARNING: zlib library not found or too old, will use built-in instead

configure: WARNING: system png library not found or too old, will use built-in i
nstead
configure: WARNING: system expat library not found, will use built-in instead
configure: WARNING: ddraw.h or multimon.h not found; disabling wxDisplay
configure: WARNING: ddraw.h or multimon.h not found; disabling wxDisplay
configure: WARNING: Catching fatal exceptions not currently supported on this sy
stem, wxApp::OnFatalException will not be called
/c/wxWidgets-2.6.2/build_3_2_3[0]$make >build_log_20060320 2>build_errors_20060
320
/c/wxWidgets-2.6.2/build_3_2_3[0]$cd samples/menu/
/c/wxWidgets-2.6.2/build_3_2_3/samples/menu[0]$make
../.././bk-deps g++ -c -o menu_menu.o -D__WXMSW__     -I../../../samples/menu -D
WXUSINGDLL -I../../../samples/menu/../../samples -DNO_GCC_PRAGMA -D__WXDEBUG__ -
I../../lib/wx/include/msw-ansi-debug-2.6 -I../../../include -g -O0 -DNO_GCC_PRAG
MA -Wall -Wundef -Wno-ctor-dtor-privacy ../../../samples/menu/menu.cpp
windres -i../../../samples/menu/menu.rc -omenu_menu_rc.o   --define __WXMSW__
     --include-dir ../../../samples/menu --define WXUSINGDLL --include-dir ../..
/../samples/menu/../../samples --include-dir ../../../include
g++ -o menu.exe  menu_menu.o menu_menu_rc.o    -L../../lib -mwindows       -lwx_
mswd-2.6   -lwxpngd-2.6 -lwxzlibd-2.6   -lwxexpatd-2.6 -Wl,--version-script,../.
./version-script -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32
 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32
menu_menu.o(.text$_ZN14wxMenuItemList5ClearEv+0x13): In function `ZNK10wxFontBas
e17GetNoAntiAliasingEv':
c:/wxWidgets-2.6.2/build_3_2_3/samples/menu/../../../include/wx/font.h: undefine
d reference to `wxMenuItemList::DeleteFunction(wxMenuItem*)'
make: *** [menu.exe] Error 1
/c/wxWidgets-2.6.2/build_3_2_3/samples/menu[2]$

Do you get the same result? Oh...look at this...it happens with
even the minimal sample:

/c/wxWidgets-2.6.2/build_3_2_3/samples/menu[2]$cd ../minimal/
/c/wxWidgets-2.6.2/build_3_2_3/samples/minimal[0]$make
windres -i../../../samples/minimal/../../samples/sample.rc -ominimal_sample_rc.o
   --define __WXMSW__        --include-dir ../../../samples/minimal --define WXU
SINGDLL --include-dir ../../../samples/minimal/../../samples --include-dir ../..
/../include
../.././bk-deps g++ -c -o minimal_minimal.o -D__WXMSW__     -I../../../samples/m
inimal -DWXUSINGDLL -I../../../samples/minimal/../../samples -DNO_GCC_PRAGMA -D_
_WXDEBUG__ -I../../lib/wx/include/msw-ansi-debug-2.6 -I../../../include -g -O0 -
DNO_GCC_PRAGMA -Wall -Wundef -Wno-ctor-dtor-privacy ../../../samples/minimal/min
imal.cpp
g++ -o minimal.exe minimal_sample_rc.o  minimal_minimal.o    -L../../lib -mwindo
ws       -lwx_mswd-2.6   -lwxpngd-2.6 -lwxzlibd-2.6   -lwxexpatd-2.6 -Wl,--versi
on-script,../../version-script -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lw
inmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32
minimal_minimal.o(.text$_ZN14wxMenuItemList5ClearEv+0x13): In function `ZNK7MyFr
ame17GetEventHashTableEv':
c:/wxWidgets-2.6.2/build_3_2_3/samples/minimal/../../../samples/minimal/minimal.
cpp:99: undefined reference to `wxMenuItemList::DeleteFunction(wxMenuItem*)'
make: *** [minimal.exe] Error 1
/c/wxWidgets-2.6.2/build_3_2_3/samples/minimal[2]$

I have another 2.6.2 build (which uses a different gcc version) in
another directory, '/c/wxWidgets-2.6.2/build_3_4_2/', and I did
'make install' with that other build. But I don't see how that can
cause this problem. Reformatting the above linker command for clarity:

  g++ -o minimal.exe minimal_sample_rc.o  minimal_minimal.o
  -L../../lib -mwindows
  -lwx_mswd-2.6 -lwxpngd-2.6 -lwxzlibd-2.6 -lwxexpatd-2.6
  -Wl,--version-script,../../version-script
  -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32
  -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32

The only library search path is '-L../../lib', so no other build
should interfere, right?

I haven't modified the wx-2.6.2 sources except to remove five
stray semicolons:
  http://lists.gnu.org/archive/html/lmi/2006-03/msg00022.html
  http://lists.gnu.org/archive/html/lmi/2006-03/msg00023.html
No, wait--I didn't even do that in '/c/wxWidgets-2.6.2/'; I
did it only in the copy I installed in '/usr/local/include'.




reply via email to

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