From: John L. <jla...@gm...> - 2006-10-23 16:38:31
|
Ok, starting over, the wxStEdit bakefiles are updated to the ones in wxCode/build and I've regenerated everything using bakefile 0.2.0 in MSW using the prebuilt exe. Committed and did a checkout in linux and ran acregen.sh to get a new configure. The problem is that in components/wxstedit/build/wxstedit.bkl I have specified the libs to link to, but they do not get put into Makefile.in or perhaps configure by bakefile or perhaps autoconf_inc.m4. These are libs the exe should link to. <library>stedit_lib</library> <wx-lib>stc</wx-lib> <wx-lib>html</wx-lib> <wx-lib>adv</wx-lib> <wx-lib>core</wx-lib> <wx-lib>base</wx-lib> <!-- base must be last wx-lib --> These are the libs it does link to using configure's generated Makefile. WX_LIBS = -L/home/john/wx/wxWidgets/wxCVS/wxWidgets/config_gtk2_debug/lib -pthread -Wl,-rpath,/home/john/wx/wxWidgets/wxCVS/wxWidgets/config_gtk2_debug/lib -lwx_gtk2ud_core-2.7 -lwx_baseud-2.7 Makefile.in has WX_LIBS = @WX_LIBS@ so configure must generate them, right? configure has this WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs` where WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $WXCFG_FLAGS $WX_ADDITIONAL_LIBS" BUT! This looks hardcoded in configure WX_ADDITIONAL_LIBS=",core,base" I don't see where any other libs can be put into WX_ADDITIONAL_LIBS? There's something at the end of build/configure.ac, but I don't understand it at all. # argument 1: here put the minimum required version of wx # argument 2: here you must put a comma-separed list of all wx required libraries # except for base,core (e.g. "xml,net,adv"); leave empty if you use only core & base AM_WXCODE_CHECKS([2.4.0], []) this is in wxCode/build/autoconf/wxcode.m4 and only calls AM_WXPRESETS_FULL in wxCode/build/autoconf/wxpresets.m4 which is rather cryptic, but it looks like it just checks for stuff and doesn't actually set any libs. Thanks for any help, John Labenski |
From: Francesco M. <f18...@ya...> - 2006-10-23 16:49:14
|
John Labenski ha scritto: > Ok, starting over, the wxStEdit bakefiles are updated to the ones in > wxCode/build and I've regenerated everything using bakefile 0.2.0 in > MSW using the prebuilt exe. Committed and did a checkout in linux and > ran acregen.sh to get a new configure. > > The problem is that in components/wxstedit/build/wxstedit.bkl I have > specified the libs to link to, but they do not get put into > Makefile.in or perhaps configure by bakefile or perhaps > autoconf_inc.m4. > > These are libs the exe should link to. > <library>stedit_lib</library> > <wx-lib>stc</wx-lib> > <wx-lib>html</wx-lib> > <wx-lib>adv</wx-lib> > <wx-lib>core</wx-lib> > <wx-lib>base</wx-lib> <!-- base must be last wx-lib --> right - however for its nature, bakefile's autoconf format simply ignores any wx-lib tag. It's the task of the configure script to detect which libs are available in which format, etc. Thus it's the configure script that sets up the WX_LIBS variable > These are the libs it does link to using configure's generated Makefile. > > WX_LIBS = -L/home/john/wx/wxWidgets/wxCVS/wxWidgets/config_gtk2_debug/lib > -pthread -Wl,-rpath,/home/john/wx/wxWidgets/wxCVS/wxWidgets/config_gtk2_debug/lib > -lwx_gtk2ud_core-2.7 -lwx_baseud-2.7 > > Makefile.in has > WX_LIBS = @WX_LIBS@ > > so configure must generate them, right? right > configure has this > WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs` > where > WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $WXCFG_FLAGS > $WX_ADDITIONAL_LIBS" > > BUT! This looks hardcoded in configure > WX_ADDITIONAL_LIBS=",core,base" > > I don't see where any other libs can be put into WX_ADDITIONAL_LIBS? using AM_WXCODE_CHECKS macro > There's something at the end of build/configure.ac, but I don't > understand it at all. > > # argument 1: here put the minimum required version of wx > # argument 2: here you must put a comma-separed list of all wx > required libraries > # except for base,core (e.g. "xml,net,adv"); leave empty > if you use only core & base > AM_WXCODE_CHECKS([2.4.0], []) yes exactly!! this is where you should add the list of wx libs you need for autoconf format; e.g.: AM_WXCODE_CHECKS([2.4.0], [stc,html,adv]) The comments look clear to me since I wrote them :D What exactly is unclear in it? Maybe that same (e.g. "xml,net,adv") is a little misleading? > this is in wxCode/build/autoconf/wxcode.m4 and only calls > AM_WXPRESETS_FULL in wxCode/build/autoconf/wxpresets.m4 which is > rather cryptic, I tried to make all autoconf macros as ordered as possible but M4 script language is a bit cryptic itself so they are not very readable unfortunately... >but it looks like it just checks for stuff and doesn't > actually set any libs. it does a lot of stuff actually - it detects the installed wx builds on the user's system, looks at the configure options given by the user and then tries to find a good matching eventually giving out a nice error message. The libraries which it substitutes to WX_LIBS are those passed to AM_WXCODE_CHECKS + base,core as documented. Francesco |
From: John L. <jla...@gm...> - 2006-10-23 18:55:45
|
On 10/23/06, Francesco Montorsi <f18...@ya...> wrote: > > There's something at the end of build/configure.ac, but I don't > > understand it at all. > > > > # argument 1: here put the minimum required version of wx > > # argument 2: here you must put a comma-separed list of all wx > > required libraries > > # except for base,core (e.g. "xml,net,adv"); leave empty > > if you use only core & base > > AM_WXCODE_CHECKS([2.4.0], []) > yes exactly!! > this is where you should add the list of wx libs you need for autoconf > format; e.g.: > > AM_WXCODE_CHECKS([2.4.0], [stc,html,adv]) > > The comments look clear to me since I wrote them :D > What exactly is unclear in it? Maybe that same (e.g. "xml,net,adv") is a > little misleading? Probably nothing is unclear, I just assumed that everything was done though the bakefile and I didn't even think to edit anything else. > >but it looks like it just checks for stuff and doesn't > > actually set any libs. > it does a lot of stuff actually - it detects the installed wx builds on > the user's system, looks at the configure options given by the user and > then tries to find a good matching eventually giving out a nice error > message. > > The libraries which it substitutes to WX_LIBS are those passed to > AM_WXCODE_CHECKS + base,core as documented. Ok, all done it compiles just fine in linux now. Thanks! John Labenski |
From: klaas.holwerda <kho...@xs...> - 2006-10-23 19:27:58
|
Hi John, I did get the lattest CVS ( removed wxstedit and updated it clean. ). Did run ./configure and make. This is what i get down here. I am not sure if setup0.h needs to be=20 copied on unix to setup.h, but in any case the result seems to be the sam= e. Wait for 2.8.0 ? :-( Klaas [klaas@localhost wxstedit]$ ./configure checking for the --enable-debug option... will be automatically detected checking for the --enable-unicode option... will be automatically detecte= d checking for the --enable-shared option... will be automatically detected checking for the --with-motif option... will be automatically detected checking for the --with-gtk option... will be automatically detected checking for the --with-x11 option... will be automatically detected checking for the --with-mac option... will be automatically detected checking for the --with-mgl option... will be automatically detected checking for the --with-msw option... will be automatically detected checking for the --with-wxshared option... will be automatically detected checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking for gawk... gawk checking for a BSD-compatible install... /usr/bin/install -c checking whether ln -s works... yes checking for ranlib... ranlib checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking how to run the C++ preprocessor... g++ -E checking for wx-config... /usr/local/bin/wx-config checking for wxWidgets version >=3D 2.4.0... yes (version 2.6.3) checking for wxWidgets static library... yes checking if wxWidgets was built with UNICODE enabled... no checking if wxWidgets was built in DEBUG mode... yes checking if wxWidgets was built in STATIC mode... yes checking if wxWidgets port is wxGTK... yes checking if wxWidgets port is wxMotif... no checking if wxWidgets port is wxMac... no checking if wxWidgets port is wxX11... no checking if wxWidgets port is wxMGL... no checking if wxWidgets port is wxMSW... no checking if wxGTK uses GTK 2.x (instead of GTK 1.x)... yes checking for ranlib... (cached) ranlib checking for a BSD-compatible install... /usr/bin/install -c checking whether ln -s works... yes checking whether make sets $(MAKE)... yes checking for ar... ar checking for strip... strip checking for nm... nm checking if make is GNU make... yes checking for dependency tracking method... gcc configure: creating ./config.status config.status: creating Makefile ---------------------------------------------------------------- Configuration for wxstedit 1.2.3 successfully completed. Summary of main configuration settings for wxstedit: - DEBUG build - ANSI mode - STATIC mode The wxWidgets build which will be used by wxstedit 1.2.3 has the following settings: - DEBUG build - ANSI mode - STATIC mode - VERSION: 2.6.3 - PORT: gtk (with GTK+ 2.x) Now, just run make. ---------------------------------------------------------------- [klaas@localhost wxstedit]$ make ./bk-deps g++ -c -o stedit_lib_stedit.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/stedit.cpp ./bk-deps g++ -c -o stedit_lib_stedlgs.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/stedlgs.cpp ./bk-deps g++ -c -o stedit_lib_stedlgs_wdr.o -I./include=20 -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/stedlgs_wdr.cpp ./bk-deps g++ -c -o stedit_lib_steexprt.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/steexprt.cpp ././src/steexprt.cpp: In member function =E2=80=98bool=20 wxSTEditorExporter::SaveToTEX(const wxString&)=E2=80=99: ././src/steexprt.cpp:1460: warning: unused variable =E2=80=98titleFullPat= h=E2=80=99 ./bk-deps g++ -c -o stedit_lib_stefindr.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/stefindr.cpp QGDict::hashKeyString: Invalid null key QGDict::hashKeyString: Invalid null key QGDict::hashKeyString: Invalid null key ./bk-deps g++ -c -o stedit_lib_steframe.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/steframe.cpp ./bk-deps g++ -c -o stedit_lib_stelangs.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/stelangs.cpp ././src/stelangs.cpp:1749:5: warning: "STE_USE_LANG_D" is not defined ././src/stelangs.cpp:4866:5: warning: "STE_USE_LANG_D" is not defined ./bk-deps g++ -c -o stedit_lib_stemenum.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/stemenum.cpp ./bk-deps g++ -c -o stedit_lib_stenoteb.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/stenoteb.cpp ./bk-deps g++ -c -o stedit_lib_steopts.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/steopts.cpp ./bk-deps g++ -c -o stedit_lib_steprefs.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/steprefs.cpp QGDict::hashKeyString: Invalid null key ./bk-deps g++ -c -o stedit_lib_steprint.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/steprint.cpp ./bk-deps g++ -c -o stedit_lib_steshell.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/steshell.cpp ./bk-deps g++ -c -o stedit_lib_stesplit.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/stesplit.cpp ./bk-deps g++ -c -o stedit_lib_stestyls.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././src/stestyls.cpp rm -f lib/libwx_gtk2d_stedit-2.6.a ar rcu lib/libwx_gtk2d_stedit-2.6.a stedit_lib_stedit.o=20 stedit_lib_stedlgs.o stedit_lib_stedlgs_wdr.o stedit_lib_steexprt.o=20 stedit_lib_stefindr.o stedit_lib_steframe.o stedit_lib_stelangs.o=20 stedit_lib_stemenum.o stedit_lib_stenoteb.o stedit_lib_steopts.o=20 stedit_lib_steprefs.o stedit_lib_steprint.o stedit_lib_steshell.o=20 stedit_lib_stesplit.o stedit_lib_stestyls.o ranlib lib/libwx_gtk2d_stedit-2.6.a ./bk-deps g++ -c -o wxstedit_wxstedit.o -I./include -I/contrib/include=20 -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6=20 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__=20 -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall=20 -Wundef -Wno-ctor-dtor-privacy ././samples/stedit/wxstedit.cpp g++ -o samples/stedit/wxstedit wxstedit_wxstedit.o -L./lib -L./lib=20 -L/usr/local/lib -pthread /usr/local/lib/libwx_based-2.6.a=20 /usr/local/lib/libwx_gtk2d_core-2.6.a=20 /usr/local/lib/libwx_gtk2d_adv-2.6.a=20 /usr/local/lib/libwx_gtk2d_html-2.6.a=20 /usr/local/lib/libwx_gtk2d_stc-2.6.a=20 /usr/local/lib/libwx_gtk2d_core-2.6.a /usr/local/lib/libwx_based-2.6.a=20 -pthread -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0=20 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0=20 -lXinerama -lXxf86vm -lpng -ljpeg -ltiff -lz -ldl -lm -lwx_gtk2d_stedit-2= .6 ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function=20 `__static_initialization_and_destruction_0': ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND' ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND_NEXT' ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND_REPLAC= E' ././src/stedit.cpp:175: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE_ALL' ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND_CLOSE' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function=20 `wxSTEditor::ShowGotoLineDialog()': ././src/stedit.cpp:3539: undefined reference to=20 `wxGetNumberFromUser(wxString const&, wxString const&, wxString const&,=20 long, long, long, wxWindow*, wxPoint const&)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function=20 `wxSTEditor::HandleFindDialogEvent(wxFindDialogEvent&)': ././src/stedit.cpp:3128: undefined reference to `wxEVT_COMMAND_FIND' ././src/stedit.cpp:3133: undefined reference to `wxEVT_COMMAND_FIND_NEXT' ././src/stedit.cpp:3140: undefined reference to `wxEVT_COMMAND_FIND' ././src/stedit.cpp:3140: undefined reference to `wxEVT_COMMAND_FIND_NEXT' ././src/stedit.cpp:3218: undefined reference to `wxEVT_COMMAND_FIND_REPLA= CE' ././src/stedit.cpp:3233: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE_ALL' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function=20 `wxSTEditor::ShowSetZoomDialog()': ././src/stedit.cpp:1643: undefined reference to=20 `wxNumberEntryDialog::wxNumberEntryDialog(wxWindow*, wxString const&,=20 wxString const&, wxString const&, long, long, long, wxPoint const&)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function=20 `wxSTEditor::HandleMenuEvent(wxCommandEvent&)': ././src/stedit.cpp:2755: undefined reference to `wxEVT_COMMAND_FIND_NEXT' ././src/stedit.cpp:2820: undefined reference to=20 `wxGetNumberFromUser(wxString const&, wxString const&, wxString const&,=20 long, long, long, wxWindow*, wxPoint const&)' ././src/stedit.cpp:2830: undefined reference to=20 `wxGetNumberFromUser(wxString const&, wxString const&, wxString const&,=20 long, long, long, wxWindow*, wxPoint const&)' ././src/stedit.cpp:2905: undefined reference to=20 `wxGetNumberFromUser(wxString const&, wxString const&, wxString const&,=20 long, long, long, wxWindow*, wxPoint const&)' ././src/stedit.cpp:2921: undefined reference to=20 `wxGetNumberFromUser(wxString const&, wxString const&, wxString const&,=20 long, long, long, wxWindow*, wxPoint const&)' ././src/stedit.cpp:2936: undefined reference to=20 `wxGetNumberFromUser(wxString const&, wxString const&, wxString const&,=20 long, long, long, wxWindow*, wxPoint const&)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function=20 `~wxFindDialogEvent': /usr/local/include/wx-2.6/wx/fdrepdlg.h:145: undefined reference to=20 `vtable for wxFindDialogEvent' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function=20 `wxFindReplaceData': /usr/local/include/wx-2.6/wx/fdrepdlg.h:70: undefined reference to=20 `wxFindReplaceData::Init()' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function=20 `wxFindDialogEvent': /usr/local/include/wx-2.6/wx/fdrepdlg.h:148: undefined reference to=20 `vtable for wxFindDialogEvent' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function=20 `~wxNumberEntryDialog': /usr/local/include/wx-2.6/wx/generic/numdlgg.h:36: undefined reference=20 to `vtable for wxNumberEntryDialog' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedlgs.o): In function=20 `wxSTEditorPrefDialogPagePrefs::SetControlValues()': ././src/stedlgs.cpp:247: undefined reference to `wxSpinCtrl::ms_classInfo= ' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedlgs.o): In function=20 `wxSTEditorPrefDialogPagePrefs::GetControlValues()': ././src/stedlgs.cpp:206: undefined reference to `wxSpinCtrl::ms_classInfo= ' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedlgs_wdr.o): In function=20 `wxSpinCtrl': /usr/local/include/wx-2.6/wx/gtk/spinctrl.h:40: undefined reference to=20 `vtable for wxSpinCtrl' /usr/local/include/wx-2.6/wx/gtk/spinctrl.h:41: undefined reference to=20 `wxSpinCtrl::Create(wxWindow*, int, wxString const&, wxPoint const&,=20 wxSize const&, long, int, int, int, wxString const&)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stefindr.o): In function=20 `wxSTEditorFindReplacePanel::Send(wxFindDialogEvent&)': ././src/stefindr.cpp:493: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE' ././src/stefindr.cpp:493: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE_ALL' ././src/stefindr.cpp:502: undefined reference to `wxEVT_COMMAND_FIND_NEXT= ' ././src/stefindr.cpp:506: undefined reference to `wxEVT_COMMAND_FIND' ././src/stefindr.cpp:513: undefined reference to `wxEVT_COMMAND_FIND' ././src/stefindr.cpp:513: undefined reference to `wxEVT_COMMAND_FIND_NEXT= ' ././src/stefindr.cpp:536: undefined reference to `wxEVT_COMMAND_FIND' ././src/stefindr.cpp:536: undefined reference to `wxEVT_COMMAND_FIND_NEXT= ' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stefindr.o): In function=20 `wxSTEditorFindReplacePanel::OnMarginClick(wxStyledTextEvent&)': ././src/stefindr.cpp:831: undefined reference to `wxEVT_COMMAND_FIND_NEXT= ' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stefindr.o): In function=20 `wxSTEditorFindReplacePanel::SendEvent(int const&)': ././src/stefindr.cpp:472: undefined reference to `wxEVT_COMMAND_FIND_CLOS= E' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stefindr.o): In function=20 `wxSTEditorFindReplaceDialog::OnCloseWindow(wxCloseEvent&)': ././src/stefindr.cpp:897: undefined reference to `wxEVT_COMMAND_FIND_CLOS= E' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stefindr.o): In function=20 `wxSTEditorFindReplacePanel::OnButton(wxCommandEvent&)': ././src/stefindr.cpp:609: undefined reference to `wxEVT_COMMAND_FIND_NEXT= ' ././src/stefindr.cpp:610: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE' ././src/stefindr.cpp:611: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE' ././src/stefindr.cpp:612: undefined reference to `wxEVT_COMMAND_FIND_NEXT= ' ././src/stefindr.cpp:613: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE_ALL' ././src/stefindr.cpp:614: undefined reference to `wxEVT_COMMAND_FIND_CLOS= E' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_steframe.o): In function=20 `wxSTEditorFrame::HandleMenuEvent(wxCommandEvent&)': ././src/steframe.cpp:669: undefined reference to=20 `wxSplitterWindow::Unsplit(wxWindow*)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_steframe.o): In function=20 `wxSTEditorFrame::CreateOptions(wxSTEditorOptions const&)': ././src/steframe.cpp:160: undefined reference to=20 `wxFileHistory::wxFileHistory(unsigned int, int)' ././src/steframe.cpp:194: undefined reference to=20 `wxSplitterWindow::SetMinimumPaneSize(int)' ././src/steframe.cpp:208: undefined reference to=20 `wxSplitterWindow::SetMinimumPaneSize(int)' ././src/steframe.cpp:216: undefined reference to=20 `wxSplitterWindow::Initialize(wxWindow*)' ././src/steframe.cpp:222: undefined reference to=20 `wxSplitterWindow::SetMinimumPaneSize(int)' ././src/steframe.cpp:226: undefined reference to=20 `wxSplitterWindow::Initialize(wxWindow*)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_steframe.o): In function=20 `wxSplitterWindow': /usr/local/include/wx-2.6/wx/generic/splitter.h:65: undefined reference=20 to `vtable for wxSplitterWindow' /usr/local/include/wx-2.6/wx/generic/splitter.h:66: undefined reference=20 to `wxSplitterWindow::Init()' /usr/local/include/wx-2.6/wx/generic/splitter.h:75: undefined reference=20 to `vtable for wxSplitterWindow' /usr/local/include/wx-2.6/wx/generic/splitter.h:76: undefined reference=20 to `wxSplitterWindow::Init()' /usr/local/include/wx-2.6/wx/generic/splitter.h:77: undefined reference=20 to `wxSplitterWindow::Create(wxWindow*, int, wxPoint const&, wxSize=20 const&, long, wxString const&)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_steframe.o): In function=20 `wxSTEditorSplitter': ./include/wx/stedit/stesplit.h:47: undefined reference to=20 `wxSplitterWindow::~wxSplitterWindow()' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stenoteb.o): In function=20 `__static_initialization_and_destruction_0': ././src/stenoteb.cpp:61: undefined reference to `wxEVT_COMMAND_FIND' ././src/stenoteb.cpp:61: undefined reference to `wxEVT_COMMAND_FIND_NEXT' ././src/stenoteb.cpp:61: undefined reference to `wxEVT_COMMAND_FIND_REPLA= CE' ././src/stenoteb.cpp:61: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE_ALL' ././src/stenoteb.cpp:61: undefined reference to `wxEVT_COMMAND_FIND_CLOSE= ' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stenoteb.o): In function=20 `wxSTEditorNotebook::OnFindDialog(wxFindDialogEvent&)': ././src/stenoteb.cpp:1042: undefined reference to `wxEVT_COMMAND_FIND' ././src/stenoteb.cpp:1047: undefined reference to `wxEVT_COMMAND_FIND_NEX= T' ././src/stenoteb.cpp:1054: undefined reference to `wxEVT_COMMAND_FIND' ././src/stenoteb.cpp:1054: undefined reference to `wxEVT_COMMAND_FIND_NEX= T' ././src/stenoteb.cpp:1086: undefined reference to `wxEVT_COMMAND_FIND' ././src/stenoteb.cpp:1101: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE' ././src/stenoteb.cpp:1117: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE_ALL' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `__static_initialization_and_destruction_0': ././src/stesplit.cpp:106: undefined reference to=20 `wxSplitterWindow::ms_classInfo' ././src/stesplit.cpp:129: undefined reference to `wxEVT_COMMAND_FIND' ././src/stesplit.cpp:129: undefined reference to `wxEVT_COMMAND_FIND_NEXT= ' ././src/stesplit.cpp:129: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE' ././src/stesplit.cpp:129: undefined reference to=20 `wxEVT_COMMAND_FIND_REPLACE_ALL' ././src/stesplit.cpp:129: undefined reference to `wxEVT_COMMAND_FIND_CLOS= E' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `wxSTEditorSplitter::DoSize()': ././src/stesplit.cpp:544: undefined reference to=20 `wxSplitterWindow::GetBorderSize() const' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `wxSTEditorSplitter::SizeWindows()': ././src/stesplit.cpp:535: undefined reference to=20 `wxSplitterWindow::SizeWindows()' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `wxSTEditorSplitter::OnUnsplit(wxWindow*)': ././src/stesplit.cpp:377: undefined reference to=20 `wxSplitterWindow::OnUnsplit(wxWindow*)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `wxSTEditorSplitter::DoSplit(wxSplitMode, int)': ././src/stesplit.cpp:363: undefined reference to=20 `wxSplitterWindow::DoSplit(wxSplitMode, wxWindow*, wxWindow*, int)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `wxSTEditorSplitter::Initialize(wxSTEditor*)': ././src/stesplit.cpp:318: undefined reference to=20 `wxSplitterWindow::Initialize(wxWindow*)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `wxSTEditorSplitter::Create(wxWindow*, int, wxPoint const&, wxSize=20 const&, long, wxString const&)': ././src/stesplit.cpp:153: undefined reference to=20 `wxSplitterWindow::Create(wxWindow*, int, wxPoint const&, wxSize const&,=20 long, wxString const&)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `~wxSTEditorSplitter': ././src/stesplit.cpp:182: undefined reference to=20 `wxSplitterWindow::~wxSplitterWindow()' ././src/stesplit.cpp:182: undefined reference to=20 `wxSplitterWindow::~wxSplitterWindow()' ././src/stesplit.cpp:182: undefined reference to=20 `wxSplitterWindow::~wxSplitterWindow()' ././src/stesplit.cpp:182: undefined reference to=20 `wxSplitterWindow::~wxSplitterWindow()' ././src/stesplit.cpp:182: undefined reference to=20 `wxSplitterWindow::~wxSplitterWindow()' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):././src/stesplit.cp= p:182:=20 more undefined references to `wxSplitterWindow::~wxSplitterWindow()' foll= ow ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `wxSTEditorSplitter::Unsplit()': ./include/wx/stedit/stesplit.h:88: undefined reference to=20 `wxSplitterWindow::Unsplit(wxWindow*)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `wxSplitterWindow::SplitHorizontally(wxWindow*, wxWindow*, int)': /usr/local/include/wx-2.6/wx/generic/splitter.h:122: undefined reference=20 to `wxSplitterWindow::DoSplit(wxSplitMode, wxWindow*, wxWindow*, int)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `wxSplitterWindow::SplitVertically(wxWindow*, wxWindow*, int)': /usr/local/include/wx-2.6/wx/generic/splitter.h:118: undefined reference=20 to `wxSplitterWindow::DoSplit(wxSplitMode, wxWindow*, wxWindow*, int)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata+0x1e4):=20 undefined reference to `wxSplitterWindow::sm_eventTable' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o): In function=20 `wxSTEditorSplitter': ./include/wx/stedit/stesplit.h:38: undefined reference to=20 `wxSplitterWindow::~wxSplitterWindow()' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0xec): undefined reference to=20 `wxSplitterWindow::SetFocus()' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0xf4): undefined reference to=20 `wxSplitterWindow::AcceptsFocus() const' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0xfc): undefined reference to=20 `wxSplitterWindow::GetDefaultItem() const' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x100): undefined reference to=20 `wxSplitterWindow::SetDefaultItem(wxWindow*)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x104): undefined reference to=20 `wxSplitterWindow::SetTmpDefaultItem(wxWindow*)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x118): undefined reference to=20 `wxSplitterWindow::RemoveChild(wxWindowBase*)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x1dc): undefined reference to=20 `wxSplitterWindow::OnInternalIdle()' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x248): undefined reference to=20 `wxSplitterWindow::DoGetBestSize() const' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x294): undefined reference to=20 `wxSplitterWindow::OnSashPositionChanging(int)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x298): undefined reference to=20 `wxSplitterWindow::OnSashPositionChange(int)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x2a0): undefined reference to=20 `wxSplitterWindow::OnDoubleClickSash(int, int)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x2a4): undefined reference to=20 `wxSplitterWindow::DrawSash(wxDC&)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x2a8): undefined reference to=20 `wxSplitterWindow::DrawSashTracker(int, int)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x2ac): undefined reference to=20 `wxSplitterWindow::SashHitTest(int, int, int)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x2b4): undefined reference to=20 `wxSplitterWindow::OnEnterSash()' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x2b8): undefined reference to=20 `wxSplitterWindow::OnLeaveSash()' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x2bc): undefined reference to=20 `wxSplitterWindow::OnChildFocus(wxChildFocusEvent&)' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTV18wxST= EditorSplitter[vtable=20 for wxSTEditorSplitter]+0x2c0): undefined reference to=20 `wxSplitterWindow::SetFocusIgnoringChildren()' ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stesplit.o):(.rodata._ZTI18wxST= EditorSplitter[typeinfo=20 for wxSTEditorSplitter]+0x8): undefined reference to `typeinfo for=20 wxSplitterWindow' collect2: ld returned 1 exit status make: *** [samples/stedit/wxstedit] Error 1 [klaas@localhost wxstedit]$ John Labenski wrote: > Ok, all done it compiles just fine in linux now. > > =20 |
From: John L. <jla...@gm...> - 2006-10-23 19:58:01
|
On 10/23/06, klaas.holwerda <kho...@xs...> wrote: > Hi John, > > I did get the lattest CVS ( removed wxstedit and updated it clean. ). > Did run ./configure and make. > This is what i get down here. I am not sure if setup0.h needs to be > copied on unix to setup.h, but in any case the result seems to be the same. > Wait for 2.8.0 ? :-( No, it should work, I just compiled it using wxWidgets 2.6.x (but from the CVS 2.6 branch though) and it compiles fine using GTK2, unicode, and shared libs (not static). > checking for wxWidgets version >= 2.4.0... yes (version 2.6.3) > checking if wxGTK uses GTK 2.x (instead of GTK 1.x)... yes ... > The wxWidgets build which will be used by wxstedit 1.2.3 > has the following settings: > - DEBUG build > - ANSI mode > - STATIC mode > - VERSION: 2.6.3 > - PORT: gtk (with GTK+ 2.x) > > Now, just run make. > ---------------------------------------------------------------- > > [klaas@localhost wxstedit]$ make > ./bk-deps g++ -c -o stedit_lib_stedit.o -I./include -I/contrib/include > -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6 > -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__ > -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall > -Wundef -Wno-ctor-dtor-privacy ././src/stedit.cpp ... > rm -f lib/libwx_gtk2d_stedit-2.6.a > ar rcu lib/libwx_gtk2d_stedit-2.6.a stedit_lib_stedit.o > stedit_lib_stedlgs.o stedit_lib_stedlgs_wdr.o stedit_lib_steexprt.o > stedit_lib_stefindr.o stedit_lib_steframe.o stedit_lib_stelangs.o > stedit_lib_stemenum.o stedit_lib_stenoteb.o stedit_lib_steopts.o > stedit_lib_steprefs.o stedit_lib_steprint.o stedit_lib_steshell.o > stedit_lib_stesplit.o stedit_lib_stestyls.o > ranlib lib/libwx_gtk2d_stedit-2.6.a Ok, your lib built fine. > ./bk-deps g++ -c -o wxstedit_wxstedit.o -I./include -I/contrib/include > -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6 > -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__ > -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DNO_GCC_PRAGMA -g3 -O0 -Wall > -Wundef -Wno-ctor-dtor-privacy ././samples/stedit/wxstedit.cpp > g++ -o samples/stedit/wxstedit wxstedit_wxstedit.o -L./lib -L./lib > -L/usr/local/lib -pthread /usr/local/lib/libwx_based-2.6.a > /usr/local/lib/libwx_gtk2d_core-2.6.a > /usr/local/lib/libwx_gtk2d_adv-2.6.a > /usr/local/lib/libwx_gtk2d_html-2.6.a > /usr/local/lib/libwx_gtk2d_stc-2.6.a > /usr/local/lib/libwx_gtk2d_core-2.6.a /usr/local/lib/libwx_based-2.6.a > -pthread -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 > -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 > -lXinerama -lXxf86vm -lpng -ljpeg -ltiff -lz -ldl -lm -lwx_gtk2d_stedit-2.6 I don't see any errors from not finding the libs, so I don't understand the problem. Do all these libs exist? Try this in the wxWidgets lib dir to see if you have this symbol in any of them. $grep wxSpinCtrl *.a > ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function > `__static_initialization_and_destruction_0': > ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND' > ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND_NEXT' > ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND_REPLACE' > ././src/stedit.cpp:175: undefined reference to > `wxEVT_COMMAND_FIND_REPLACE_ALL' > ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND_CLOSE' > ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function > `wxSTEditor::ShowGotoLineDialog()': > ././src/stedit.cpp:3539: undefined reference to > `wxGetNumberFromUser(wxString const&, wxString const&, wxString const&, > long, long, long, wxWindow*, wxPoint const&)' These are all pretty generic wxWidgets things that are part of core, base, or adv (dunno which, but they're definitely in one of them). I can't understand why there would be a problem? I use shared libs by the way. > ././src/stedlgs.cpp:206: undefined reference to `wxSpinCtrl::ms_classInfo' > ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedlgs_wdr.o): In function > `wxSpinCtrl': I know that this means that you're not linking to the compiled wxSpinCtrl (later you have the same problem with the wxSplitterWindow). Where are these compiled to for you? ============================== For example with my shared libs in the wxWidgets/lib dir [john@amd2600 lib]$ grep wxSpinCtrl * Binary file libwx_gtk2ud_adv-2.6.so matches Binary file libwx_gtk2ud_adv-2.6.so.0 matches Binary file libwx_gtk2ud_adv-2.6.so.0.3.1 matches Binary file libwx_gtk2ud_core-2.6.so matches Binary file libwx_gtk2ud_core-2.6.so.0 matches Binary file libwx_gtk2ud_core-2.6.so.0.3.1 matches Binary file libwx_gtk2ud_html-2.6.so matches Binary file libwx_gtk2ud_html-2.6.so.0 matches Binary file libwx_gtk2ud_html-2.6.so.0.3.1 matches Binary file libwx_gtk2ud_xrc-2.6.so matches Binary file libwx_gtk2ud_xrc-2.6.so.0 matches Binary file libwx_gtk2ud_xrc-2.6.so.0.3.1 matches Ok, so it's in core and adv, html, xrc just reference it, the full list of functions in wxSpinCtrl are actually in core [john@amd2600 lib]$ strings libwx_gtk2ud_core-2.6.so |grep wxSpinCtrl _ZNK10wxSpinCtrl15UseGTKStyleBaseEv _ZNK10wxSpinCtrl12GetClassInfoEv _ZN10wxSpinCtrl12ms_classInfoE _ZNK10wxSpinCtrl13GetEventTableEv _ZN10wxSpinCtrl13sm_eventTableE _ZNK10wxSpinCtrl17GetEventHashTableEv _ZN10wxSpinCtrl17sm_eventHashTableE _ZN10wxSpinCtrlD0Ev _ZTV10wxSpinCtrl _ZN10wxSpinCtrlD1Ev _ZN10wxSpinCtrl14wxCreateObjectEv _ZN10wxSpinCtrl20sm_eventTableEntriesE _ZN10wxSpinCtrl6OnCharER10wxKeyEvent _ZN10wxSpinCtrl25GetClassDefaultAttributesE15wxWindowVariant _ZNK10wxSpinCtrl13DoGetBestSizeEv _ZN10wxSpinCtrl14IsOwnGtkWindowEP12_GdkDrawable _ZN10wxSpinCtrl8SetRangeEii _ZN10wxSpinCtrl12SetSelectionEll _ZNK10wxSpinCtrl8GetValueEv _ZNK10wxSpinCtrl6GetMaxEv _ZNK10wxSpinCtrl6GetMinEv _ZN10wxSpinCtrl15GtkEnableEventsEv _ZN10wxSpinCtrl16GtkDisableEventsEv _ZN10wxSpinCtrl8SetValueEi _ZN10wxSpinCtrl8SetValueERK8wxString _ZN10wxSpinCtrl6CreateEP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZN10wxSpinCtrlC1Ev _ZTI10wxSpinCtrl _ZTS10wxSpinCtrl _ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ @10wxSpinCtrl This just shows the wxSpinCtrl functions called from somewhere in the adv lib. [john@amd2600 lib]$ strings libwx_gtk2ud_adv-2.6.so |grep wxSpinCtrl _ZN10wxSpinCtrl8SetValueERK8wxString _ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZTV10wxSpinCtrl _ZN10wxSpinCtrl6CreateEP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZN10wxSpinCtrl12SetSelectionEll Regards, John Labenski |
From: klaas.holwerda <kho...@xs...> - 2006-10-23 21:32:14
|
Hi John, John Labenski wrote: > Ok, your lib built fine. > > Yes its a linking problem. I did set LD_LIBRAYPATH too, but no difference. > I don't see any errors from not finding the libs, so I don't > understand the problem. Do all these libs exist? Try this in the > wxWidgets lib dir to see if you have this symbol in any of them. > > $grep wxSpinCtrl *.a > Matches several libraries ( adv, core, html,xrc, + the wxlua ones ). Understand, wxLua did build yesterday with wxStEdit1.2.1 , so did wxArt2D, i think my wxWidgets install is oke. But i don't have a clue what i am doing wrong. Maybe its the order of the libraries linking, this might be different from stedit1.2.1. I remember this is sometimes a problem. For instance on cygwin, it was a nightmare. I tried some things already by copying the linking like and changing the order like that, but no difference sofar. What linux do you use and what gcc? I have fedora 5: [klaas@localhost wxstedit]$ gcc --version gcc (GCC) 4.1.0 20060304 (Red Hat 4.1.0-3) Copyright (C) 2006 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. > >> ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function >> `__static_initialization_and_destruction_0': >> ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND' >> ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND_NEXT' >> ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND_REPLACE' >> ././src/stedit.cpp:175: undefined reference to >> `wxEVT_COMMAND_FIND_REPLACE_ALL' >> ././src/stedit.cpp:175: undefined reference to `wxEVT_COMMAND_FIND_CLOSE' >> ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedit.o): In function >> `wxSTEditor::ShowGotoLineDialog()': >> ././src/stedit.cpp:3539: undefined reference to >> `wxGetNumberFromUser(wxString const&, wxString const&, wxString const&, >> long, long, long, wxWindow*, wxPoint const&)' >> > > These are all pretty generic wxWidgets things that are part of core, > base, or adv (dunno which, but they're definitely in one of them). I > can't understand why there would be a problem? I use shared libs by > the way. > Maybe it is a debug/release problem ?? I did compile wxWidgets in debug and static. > >> ././src/stedlgs.cpp:206: undefined reference to `wxSpinCtrl::ms_classInfo' >> ./lib/libwx_gtk2d_stedit-2.6.a(stedit_lib_stedlgs_wdr.o): In function >> `wxSpinCtrl': >> > > I know that this means that you're not linking to the compiled > wxSpinCtrl (later you have the same problem with the > wxSplitterWindow). Where are these compiled to for you? > They or in /usr/local/lib which is normal after compiling and installing. > ============================== > > For example with my shared libs in the wxWidgets/lib dir > > [klaas@localhost lib]$ strings libwx_gtk2d_core-2.6.a| grep wxSpinCtrl _ZNK10wxSpinCtrl15UseGTKStyleBaseEv _ZNK10wxSpinCtrl12GetClassInfoEv _ZN10wxSpinCtrl12ms_classInfoE _ZNK10wxSpinCtrl13GetEventTableEv _ZN10wxSpinCtrl13sm_eventTableE _ZNK10wxSpinCtrl17GetEventHashTableEv _ZN10wxSpinCtrl17sm_eventHashTableE _ZN10wxSpinCtrlD0Ev _ZTV10wxSpinCtrl _ZN10wxSpinCtrlD1Ev _ZN10wxSpinCtrl14wxCreateObjectEv _ZN10wxSpinCtrl20sm_eventTableEntriesE _ZN10wxSpinCtrl6OnCharER10wxKeyEvent _ZN10wxSpinCtrl25GetClassDefaultAttributesE15wxWindowVariant _ZNK10wxSpinCtrl13DoGetBestSizeEv _ZN10wxSpinCtrl14IsOwnGtkWindowEP12_GdkDrawable _ZN10wxSpinCtrl8SetRangeEii _ZN10wxSpinCtrl12SetSelectionEll _ZNK10wxSpinCtrl8GetValueEv _ZNK10wxSpinCtrl6GetMaxEv _ZNK10wxSpinCtrl6GetMinEv _ZN10wxSpinCtrl15GtkEnableEventsEv _ZN10wxSpinCtrl16GtkDisableEventsEv _ZN10wxSpinCtrl8SetValueEi _ZN10wxSpinCtrl8SetValueERK8wxString _ZN10wxSpinCtrl6CreateEP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZN10wxSpinCtrlC1Ev _ZTI10wxSpinCtrl _ZTS10wxSpinCtrl _ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ __ZN10wxSpinCtrl12ms_classInfoE a_ZN10wxSpinCtrl20sm_eventTableEntriesE a_ZN10wxSpinCtrl13sm_eventTableE a_ZN10wxSpinCtrl17sm_eventHashTableE j_ZN10wxSpinCtrl6CreateEP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZN10wxSpinCtrl8SetValueERK8wxString _ZN10wxSpinCtrl12SetSelectionEll _ZNK10wxSpinCtrl8GetValueEv _ZN10wxSpinCtrl8SetValueEi _ZN10wxSpinCtrl8SetRangeEii _ZNK10wxSpinCtrl6GetMinEv _ZNK10wxSpinCtrl6GetMaxEv _ZN10wxSpinCtrl25GetClassDefaultAttributesE15wxWindowVariant _ZN10wxSpinCtrl6OnCharER10wxKeyEvent _ZN10wxSpinCtrl14IsOwnGtkWindowEP12_GdkDrawable _ZN10wxSpinCtrl16GtkDisableEventsEv _ZN10wxSpinCtrl15GtkEnableEventsEv _ZNK10wxSpinCtrl13DoGetBestSizeEv P_ZNK10wxSpinCtrl15UseGTKStyleBaseEv __ZNK10wxSpinCtrl12GetClassInfoEv __ZN10wxSpinCtrl14wxCreateObjectEv a_ZNK10wxSpinCtrl13GetEventTableEv a_ZNK10wxSpinCtrl17GetEventHashTableEv ~wxSpinCtrl _GLOBAL__I__ZN10wxSpinCtrl12ms_classInfoE wxSpinCtrl wxSpinCtrl creation failed 10wxSpinCtrl wxSpinCtrl::UseGTKStyleBase wxSpinCtrl::GetClassInfo wxSpinCtrl::GetEventTable wxSpinCtrl::GetEventHashTable wxSpinCtrl::~wxSpinCtrl wxSpinCtrl::~wxSpinCtrl wxSpinCtrl::GetClassDefaultAttributes wxSpinCtrl::DoGetBestSize wxSpinCtrl::IsOwnGtkWindow wxSpinCtrl::OnChar wxSpinCtrl::SetRange wxSpinCtrl::SetSelection wxSpinCtrl::GetValue wxSpinCtrl::GetMax wxSpinCtrl::GetMin wxSpinCtrl::GtkEnableEvents wxSpinCtrl::GtkDisableEvents wxSpinCtrl::SetValue wxSpinCtrl::SetValue wxSpinCtrl::Create wxSpinCtrl::wxSpinCtrl wxSpinCtrl::wxCreateObject wxSpinCtrl::ms_classInfo wxSpinCtrl::sm_eventTableEntries wxSpinCtrl::sm_eventTable wxSpinCtrl::sm_eventHashTable wxSpinCtrl .text._ZNK10wxSpinCtrl15UseGTKStyleBaseEv .rel.text._ZN10wxSpinCtrlD0Ev .rel.text._ZN10wxSpinCtrlD1Ev .rel.text._ZN10wxSpinCtrlC1Ev .rel.rodata._ZTV10wxSpinCtrl .rodata._ZTS10wxSpinCtrl .rel.rodata._ZTI10wxSpinCtrl _GLOBAL__I__ZN10wxSpinCtrl12ms_classInfoE _ZNK10wxSpinCtrl15UseGTKStyleBaseEv _ZNK10wxSpinCtrl12GetClassInfoEv _ZN10wxSpinCtrl12ms_classInfoE _ZNK10wxSpinCtrl13GetEventTableEv _ZN10wxSpinCtrl13sm_eventTableE _ZNK10wxSpinCtrl17GetEventHashTableEv _ZN10wxSpinCtrl17sm_eventHashTableE _ZN10wxSpinCtrlD0Ev _ZTV10wxSpinCtrl _ZN10wxSpinCtrlD1Ev _ZN10wxSpinCtrl14wxCreateObjectEv _ZN10wxSpinCtrl20sm_eventTableEntriesE _ZN10wxSpinCtrl6OnCharER10wxKeyEvent _ZN10wxSpinCtrl25GetClassDefaultAttributesE15wxWindowVariant _ZNK10wxSpinCtrl13DoGetBestSizeEv _ZN10wxSpinCtrl14IsOwnGtkWindowEP12_GdkDrawable _ZN10wxSpinCtrl8SetRangeEii _ZN10wxSpinCtrl12SetSelectionEll _ZNK10wxSpinCtrl8GetValueEv _ZNK10wxSpinCtrl6GetMaxEv _ZNK10wxSpinCtrl6GetMinEv _ZN10wxSpinCtrl15GtkEnableEventsEv _ZN10wxSpinCtrl16GtkDisableEventsEv _ZN10wxSpinCtrl8SetValueEi _ZN10wxSpinCtrl8SetValueERK8wxString _ZN10wxSpinCtrl6CreateEP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZN10wxSpinCtrlC1Ev _ZTI10wxSpinCtrl _ZTS10wxSpinCtrl wxSpinCtrl _ZN10wxSpinCtrl20sm_eventTableEntriesE _ZN10wxSpinCtrl13sm_eventTableE _ZN10wxSpinCtrl12ms_classInfoE _ZN10wxSpinCtrl12ms_classInfoE wxSpinCtrl wxSpinCtrl::wxSpinCtrl wxSpinCtrl _ZN10wxSpinCtrl20sm_eventTableEntriesE _ZN10wxSpinCtrl13sm_eventTableE .rel.text._ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZTV10wxSpinCtrl _ZN10wxSpinCtrl6CreateEP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZN10wxSpinCtrl12SetSelectionEll [klaas@localhost lib]$ [klaas@localhost lib]$ strings libwx_gtk2d_adv-2.6.a| grep wxSpinCtrl _ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ wxSpinCtrl wxSpinCtrl::wxSpinCtrl wxSpinCtrl _ZN10wxSpinCtrl20sm_eventTableEntriesE _ZN10wxSpinCtrl13sm_eventTableE .rel.text._ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZN10wxSpinCtrl8SetValueERK8wxString _ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZTV10wxSpinCtrl _ZN10wxSpinCtrl6CreateEP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ wxSpinCtrl wxSpinCtrl::wxSpinCtrl _ZN10wxSpinCtrl20sm_eventTableEntriesE _ZN10wxSpinCtrl13sm_eventTableE wxSpinCtrl .rel.text._ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZN10wxSpinCtrl12SetSelectionEll _ZN10wxSpinCtrlC1EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ _ZTV10wxSpinCtrl _ZN10wxSpinCtrl6CreateEP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeliiiS4_ [klaas@localhost lib]$ I keep searching, thanks! Klaas |
From: klaas.holwerda <kho...@xs...> - 2006-10-23 22:04:54
|
Hi John, I did the following, to see if the latest produced libwx_gtk2d_stedit-2.6.a might work with wxLua: cd /usr/local/lib cp libwx_gtk2d_stedit-2.6.a libstedit.a Then i cleaned wxLua ( make clean), and next compiled again. I did configure, but i have they idea wxLua is still looking for libstedit.a and not libwx_gtk2d_stedit-2.6.a. Same for the include files, which are in /usr/local/wx/stedit, and not in /usr/local/wx-2.6?? I also copied the include files to the same /usr/local/include/wx/stedit, if they are not here there is complains, so somehow it finds these files, although i don't see -I/usr/local/include/wx and only -I/usr/local/include/wx-2.6?? So i thought this should work, as it did yesterday with the old wxstedit, or at least give the same linking errors. This is what i get, much better, not yet perfect. Something changed with wxSTEditorFrame::UpdateFileListBox() ? If you can make sence of this wxSTEditorFrame::UpdateFileListBox(), i think we can then conclude that there something with the sample linking in wxstedit, and not so much with the library itself because it works almost for wxLua in the latest wxstedit CVS. Klaas. [klaas@localhost wxLua]$ make (cd ./modules/ && make ) make[1]: Entering directory `/home/klaas/soft/wxLua/modules' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/klaas/soft/wxLua/modules' (cd ./apps/ && make ) make[1]: Entering directory `/home/klaas/soft/wxLua/apps' g++ -o ../bin/wxlua app_wxlua_wxlua.o app_wxlua_lconsole.o -L../lib -lwxlua_gtk2d_wxlua-2.6 -lwxlua_gtk2d_wxbindstc-2.6 -lwxlua_gtk2d_wxbind-2.6 -lwxlua_gtk2d_wxluasocket-2.6 -lwxlua_gtk2d_wxluadebug-2.6 -lwxlua_gtk2d_lua-2.6 -lstedit -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk2d_stc-2.6.a /usr/local/lib/libwx_gtk2d_xrc-2.6.a /usr/local/lib/libwx_gtk2d_html-2.6.a /usr/local/lib/libwx_gtk2d_adv-2.6.a /usr/local/lib/libwx_based_net-2.6.a /usr/local/lib/libwx_based_xml-2.6.a /usr/local/lib/libwx_gtk2d_core-2.6.a /usr/local/lib/libwx_based-2.6.a -lexpat -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lXinerama -lXxf86vm -lpng -ljpeg -ltiff -lz -ldl -lm .././bk-deps g++ -c -o app_wxluaedit_wxledit.o -I../modules -I./.. -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DNO_GCC_PRAGMA -I/include -g3 -O0 -Wall -Wundef -Wno-ctor-dtor-privacy ../apps/wxluaedit/src/wxledit.cpp .././bk-deps g++ -c -o app_wxluaedit_wxluaedit.o -I../modules -I./.. -I/usr/local/lib/wx/include/gtk2-ansi-debug-static-2.6 -I/usr/local/include/wx-2.6 -D__WXDEBUG__ -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DNO_GCC_PRAGMA -I/include -g3 -O0 -Wall -Wundef -Wno-ctor-dtor-privacy ../apps/wxluaedit/src/wxluaedit.cpp g++ -o ../bin/wxluaedit app_wxluaedit_wxledit.o app_wxluaedit_wxluaedit.o -L../lib -lwxlua_gtk2d_wxlua-2.6 -lwxlua_gtk2d_wxbindstc-2.6 -lwxlua_gtk2d_wxbind-2.6 -lwxlua_gtk2d_wxluasocket-2.6 -lwxlua_gtk2d_wxluadebug-2.6 -lwxlua_gtk2d_lua-2.6 -lstedit -lstedit -L/usr/local/lib -pthread /usr/local/lib/libwx_gtk2d_stc-2.6.a /usr/local/lib/libwx_gtk2d_xrc-2.6.a /usr/local/lib/libwx_gtk2d_html-2.6.a /usr/local/lib/libwx_gtk2d_adv-2.6.a /usr/local/lib/libwx_based_net-2.6.a /usr/local/lib/libwx_based_xml-2.6.a /usr/local/lib/libwx_gtk2d_core-2.6.a /usr/local/lib/libwx_based-2.6.a -lexpat -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lXinerama -lXxf86vm -lpng -ljpeg -ltiff -lz -ldl -lm app_wxluaedit_wxluaedit.o:(.rodata._ZTV16wxLuaEditorFrame[vtable for wxLuaEditorFrame]+0x374): undefined reference to `wxSTEditorFrame::UpdateFileListBox()' collect2: ld returned 1 exit status make[1]: *** [../bin/wxluaedit] Error 1 make[1]: Leaving directory `/home/klaas/soft/wxLua/apps' make: *** [apps] Error 2 [klaas@localhost wxLua]$ John Labenski wrote: > On 10/23/06, klaas.holwerda <kho...@xs...> wrote: > >> Hi John, >> |
From: John L. <jla...@gm...> - 2006-10-23 22:23:43
|
On 10/23/06, klaas.holwerda <kho...@xs...> wrote: > Hi John, > > I did the following, to see if the latest produced > libwx_gtk2d_stedit-2.6.a might work with wxLua: Ok, well first things first, I assume that you can now sucessfully compile, link, and run wxstedit, the sample in wxCode's wxstedit? How did you fix the problems with not finding the symbols for wxSpinCtrl you wrote about before? > cd /usr/local/lib > cp libwx_gtk2d_stedit-2.6.a libstedit.a Yeah... well... this should be documented or better yet fixed, but I just copy it for now. > Then i cleaned wxLua ( make clean), and next compiled again. I did > configure, but i have they idea wxLua is still looking for libstedit.a > and not libwx_gtk2d_stedit-2.6.a. Same for the include files, which are > in /usr/local/wx/stedit, and not in /usr/local/wx-2.6?? > I also copied the include files to the same > /usr/local/include/wx/stedit, if they are not here there is complains, > so somehow it finds these files, although i don't see > -I/usr/local/include/wx and only -I/usr/local/include/wx-2.6?? Ok, I haven't tried to install anything using configure, I'll try it out tonight, I think that we can add a configure option to specify where the wxstedit includes are. > So i thought this should work, as it did yesterday with the old > wxstedit, or at least give the same linking errors. > > This is what i get, much better, not yet perfect. Something changed > with wxSTEditorFrame::UpdateFileListBox() ? > If you can make sence of this wxSTEditorFrame::UpdateFileListBox(), i > think we can then conclude that there something with the sample linking > in wxstedit, and not so much with the library itself because it works > almost for wxLua in the latest wxstedit CVS. Ok, you're mixing a very old wxLua with the new wxStEdit. Either use CVS for both or use wxStEdit 1.2.3 and one of the wxLua snapshots. http://wxlua.sourceforge.net/download/ there is an #ifdef in wxLuaEdit for a change from using a wxlistbox to a wxtreectrl to display the opened files in wxstedit. Hope this helps, John Labenski |
From: Klaas H. <db...@nl...> - 2006-10-24 07:43:01
|
John Labenski wrote: > On 10/23/06, klaas.holwerda <kho...@xs...> wrote: > >>Hi John, >> >>I did the following, to see if the latest produced >>libwx_gtk2d_stedit-2.6.a might work with wxLua: > > > Ok, well first things first, I assume that you can now sucessfully > compile, link, and run wxstedit, the sample in wxCode's wxstedit? How > did you fix the problems with not finding the symbols for wxSpinCtrl > you wrote about before? No i can not! I suspected that the problem was only in the sample, and since i already did see the library compiled, i just used it in wxLua as is. And installed the library and includes by hand into /usr/local/. ( I could not run make install, because it first wants to make the sample again. ) I think wxSpinCtrl linking problems is somehow in the wxstedit sample only. Else how can it be oke in wxLua. > > Ok, you're mixing a very old wxLua with the new wxStEdit. Either use > CVS for both or use wxStEdit 1.2.3 and one of the wxLua snapshots. But i updated wxLua from CVS first, its brand new. I will remove the whole directory this evening, and checkout again, but i am almost sure i have the latest. > > http://wxlua.sourceforge.net/download/ > > there is an #ifdef in wxLuaEdit for a change from using a wxlistbox to > a wxtreectrl to display the opened files in wxstedit. So very likely that is the problem, and if i solve that this evening. wxLua will compile and link fine, and wxStedit its sample will still not link. Maybe the detection of the wxstedit version is wrong for me, but that easy enough to find. The problem is still in the wxstedit sample, and i wonder that it is maybe compiled in non debug while the library is in debug. Or else library order. I will check your old makefile in the samples/stedit directory, if they do compile and link, the problem is in the bakefile generated makefiles. Klaas -- Unclassified |
From: klaas.holwerda <kho...@xs...> - 2006-10-24 20:00:39
|
Hi John, So finally i decide to build wxWidgets in shared mode, and see what wxstedit did with that. - it compile and linked, but the samples does not run properly. [klaas@localhost stedit]$ ldd ./wxstedit linux-gate.so.1 => (0x0027a000) libwx_based-2.6.so.0 => /usr/local/lib/libwx_based-2.6.so.0 (0x00785000) libwx_gtk2d_core-2.6.so.0 => /usr/local/lib/libwx_gtk2d_core-2.6.so.0 (0x00296000) libwx_gtk2d_adv-2.6.so.0 => /usr/local/lib/libwx_gtk2d_adv-2.6.so.0 (0x0095f000) libwx_gtk2d_html-2.6.so.0 => /usr/local/lib/libwx_gtk2d_html-2.6.so.0 (0x0011f000) libsteditd.so.0 => /usr/local/lib/libsteditd.so.0 (0x00a17000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x045e0000) libm.so.6 => /lib/libm.so.6 (0x00c3d000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00200000) libpthread.so.0 => /lib/libpthread.so.0 (0x00dc0000) libc.so.6 => /lib/libc.so.6 (0x005c4000) libz.so.1 => /usr/lib/libz.so.1 (0x00c6a000) libdl.so.2 => /lib/libdl.so.2 (0x00c64000) libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x0482b000) libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x0479f000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x04781000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x046f2000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x04736000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00232000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00273000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00111000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x0454c000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x001ce000) libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00116000) libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00dd6000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x0020e000) libtiff.so.3 => /usr/lib/libtiff.so.3 (0x006f7000) /lib/ld-linux.so.2 (0x0027b000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x04776000) libX11.so.6 => /usr/lib/libX11.so.6 (0x00c7f000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0x04b56000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x008be000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00d8b000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0x001bc000) libXi.so.6 => /usr/lib/libXi.so.6 (0x046e8000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x001d3000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x001d7000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x001c7000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x0470c000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00dfe000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00d7e000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00d83000) libexpat.so.0 => /lib/libexpat.so.0 (0x00d9d000) [klaas@localhost stedit]$ [klaas@localhost stedit]$ ./wxstedit 21:12:27: Debug: ./src/common/object.cpp(242): assert "sm_classTable->Get(m_className) == NULL" failed: Class "wxStyledTextCtrl" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? Call stack: [05] wxStackWalker::Walk(unsigned int) [06] 0x0030bf4a [07] 0x0030c156 [08] wxOnAssert(char const*, int, char const*, char const*) [09] wxAssert(int, char const*, int, char const*, char const*) [10] wxClassInfo::Register() [11] wxClassInfo::wxClassInfo(char const*, wxClassInfo const*, wxClassInfo const*, int, wxObject* (*)()) [12] 0x0807e196 [13] 0x0807e221 ./src/common/object.cpp(242): assert "sm_classTable->Get(m_className) == NULL" failed: Class "wxStyledTextCtrl" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? Call stack: [05] wxStackWalker::Walk(unsigned int) [06] 0x0030bf4a [07] 0x0030c156 [08] wxOnAssert(char const*, int, char const*, char const*) [09] wxAssert(int, char const*, int, char const*, char const*) [10] wxClassInfo::Register() [11] wxClassInfo::wxClassInfo(char const*, wxClassInfo const*, wxClassInfo const*, int, wxObject* (*)()) [12] 0x0807e196 [13] 0x0807e221 Trace/breakpoint trap [klaas@localhost stedit]$ ==================================== - I can not install it, so i did that [klaas@localhost wxstedit]$ make install by hand and then wxLua was fine too. /usr/bin/install -c -d /usr/local/include/wx (cd . ; /usr/bin/install -c -m 644 ./include/wx/*.h /usr/local/include/wx) /usr/bin/install: cannot stat `./include/wx/*.h': No such file or directory make: *** [install-wxheaders] Error 1 [klaas@localhost wxstedit]$ ====================================== Next i wanted to try the static mode again, but configure does not want to understand the options, it still chooses shared wxWidgets, but itself will be in static mode: ./configure --enable-debug --enable-std_iostreams --disable-shared --with-static ---------------------------------------------------------------- Configuration for wxstedit 1.2.3 successfully completed. Summary of main configuration settings for wxstedit: - DEBUG build - ANSI mode - STATIC mode The wxWidgets build which will be used by wxstedit 1.2.3 has the following settings: - DEBUG build - ANSI mode - SHARED mode - VERSION: 2.6.3 - PORT: gtk (with GTK+ 2.x) Now, just run make. ---------------------------------------------------------------- Now installing wxWidgest static again, and later on will see if i can repaet the problem i had with the static builds of wxstedit Klaas Klaas Holwerda wrote: > John Labenski wrote: > |
From: klaas.holwerda <kho...@xs...> - 2006-10-24 21:45:10
|
So now the static: I reinstalled wxWidgets static. And configure of wxstedit gives me this. ---------------------------------------------------------------- Configuration for wxstedit 1.2.3 successfully completed. Summary of main configuration settings for wxstedit: - DEBUG build - ANSI mode - STATIC mode The wxWidgets build which will be used by wxstedit 1.2.3 has the following settings: - DEBUG build - ANSI mode - STATIC mode - VERSION: 2.6.3 - PORT: gtk (with GTK+ 2.x) Now, just run make. ---------------------------------------------------------------- BUT this one gives me the linking errors. [klaas@localhost wxstedit]$ make g++ -o samples/stedit/wxstedit wxstedit_wxstedit.o -L./lib -L./lib -L/usr/local/lib -pthread /usr/local/lib/libwx_based-2.6.a /usr/local/lib/libwx_gtk2d_core-2.6.a /usr/local/lib/libwx_gtk2d_adv-2.6.a /usr/local/lib/libwx_gtk2d_html-2.6.a /usr/local/lib/libwx_gtk2d_stc-2.6.a /usr/local/lib/libwx_gtk2d_core-2.6.a /usr/local/lib/libwx_based-2.6.a -pthread -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lXinerama -lXxf86vm -lpng -ljpeg -ltiff -lz -ldl -lm -lwx_gtk2d_stedit-2.6 BUT changing it to this makes and link and run wxstedit without problem. To bad ldd show me not static libaries linked in???? [klaas@localhost wxstedit]$ g++ -o samples/stedit/wxstedit wxstedit_wxstedit.o -L./lib -L./lib -L/usr/local/lib -pthread -lwx_gtk2d_stedit-2.6 /usr/local/lib/libwx_gtk2d_adv-2.6.a /usr/local/lib/libwx_gtk2d_html-2.6.a /usr/local/lib/libwx_gtk2d_stc-2.6.a /usr/local/lib/libwx_gtk2d_core-2.6.a /usr/local/lib/libwx_based-2.6.a -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lXinerama -lXxf86vm -lpng -ljpeg -ltiff -lz -ldl -lm [klaas@localhost wxstedit]$ [klaas@localhost wxstedit]$ ldd samples/stedit/wxstedit linux-gate.so.1 => (0x0027a000) libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x0482b000) libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x0479f000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x04781000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x046f2000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x04736000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00232000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00273000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00563000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x0454c000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x001ce000) libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00a27000) libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00dd6000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x0020e000) libtiff.so.3 => /usr/lib/libtiff.so.3 (0x00a80000) libz.so.1 => /usr/lib/libz.so.1 (0x00c6a000) libdl.so.2 => /lib/libdl.so.2 (0x00c64000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x045e0000) libm.so.6 => /lib/libm.so.6 (0x00c3d000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00200000) libpthread.so.0 => /lib/libpthread.so.0 (0x00dc0000) libc.so.6 => /lib/libc.so.6 (0x00b08000) libX11.so.6 => /usr/lib/libX11.so.6 (0x00c7f000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x04776000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0x04b56000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00171000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00d8b000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0x001b0000) libXi.so.6 => /usr/lib/libXi.so.6 (0x046e8000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x001d3000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x001bb000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x001c7000) /lib/ld-linux.so.2 (0x0027b000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00d7e000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00d83000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x0470c000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00101000) libexpat.so.0 => /lib/libexpat.so.0 (0x00d9d000) [klaas@localhost wxstedit]$ klaas.holwerda wrote: > Hi John, > |
From: klaas.holwerda <kho...@xs...> - 2006-10-24 21:57:56
|
I see this was actually right, since there are only non wxwidgest and wxstedit libs in this list. So to conclude to make it link in static mode the order must be: g++ -o samples/stedit/wxstedit wxstedit_wxstedit.o -L./lib -L./lib -L/usr/local/lib -pthread -lwx_gtk2d_stedit-2.6 AND the rest Klaas klaas.holwerda wrote: > [klaas@localhost wxstedit]$ ldd samples/stedit/wxstedit > linux-gate.so.1 => (0x0027a000) libgtk-x11-2.0.so.0 => > /usr/lib/libgtk-x11-2.0.so.0 (0x0482b000) libgdk-x11-2.0.so.0 => > /usr/lib/libgdk-x11-2.0.so.0 (0x0479f000) libatk-1.0.so.0 => > /usr/lib/libatk-1.0.so.0 (0x04781000) > libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 > (0x046f2000) > libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x04736000) > libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00232000) > libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00273000) > |
From: John L. <jla...@gm...> - 2006-10-24 22:32:42
|
Sorry about the delay, you're right that the problem is the linking order. I got tyhe official wxWidgets 2.6.3 compiled everything as static release libs and I get the same errors, not linking to wxNumberEntryDialog for example. The problem is that the configure generated Makefile puts the stedit lib after the WX_LIBS and this is wrong. Here is the right way to do it in the generated Makefile, ./samples/stedit/wxstedit$(EXEEXT): $(WXSTEDIT_OBJECTS) $(__wxstedit___win32rc) $(__stedit_lib___depname) $(CXX) -o $@ $(WXSTEDIT_OBJECTS) -L./lib $(LDFLAGS) -L./lib $(LDFLAGS_GUI) -lwx_$(WX_PORT_WITHVERSION)$(WXLIBPOSTFIX)_stedit-$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR) $(WX_LIBS) These two libs have been swapped so WX_LIBS comes last. -lwx_$(WX_PORT_WITHVERSION)$(WXLIBPOSTFIX)_stedit-$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR) $(WX_LIBS) I'm trying to figure out where this comes from, but so far I cannot tell where to fix it just yet. I see that the problem is also in Makefile.in so this means that bakefile is creating the problem, I'll keep looking. As a temp fix I'll commit Makefile.in with the order reversed. Anyway, with this simple fix you can use static libs if you like. If I understand correctly, aren't shared libs faster to compile stuff locally since the linker stage takes a little less time? Anyway, that's the reason why I make shared libs if I'm only going to use the program on my own machine, if this is wrong I'd like to know. Once I get the static libs worked out I'll try it with wxLua. I did get wxLua to work nicely last night, but I had to specify everything for it to find wxStEdit, see wxLua's configure --help. configure ... --with-wxstedit-prefix=PATH --with-wxstedit-lib=NAME Regards, John Labenski |
From: Klaas H. <db...@nl...> - 2006-10-25 07:28:17
|
John Labenski wrote: > > Anyway, with this simple fix you can use static libs if you like. If I > understand correctly, aren't shared libs faster to compile stuff > locally since the linker stage takes a little less time? Anyway, > that's the reason why I make shared libs if I'm only going to use the > program on my own machine, if this is wrong I'd like to know. I don't know, i just use static to not have dependencies for users of my software. But i can imagine that its quicker to link that way. So in the end the problem which is still strange, is that in shared mode the wxstedit sample gave a asserts. I think this is because the same libraries are linked several times. All other smaller problems are configure like issues, like how to get static build when both static and shared wxWidgets are available. Very likeley wx-config is not used correctly in the configure scripts. Klaas -- Unclassified |
From: John L. <jla...@gm...> - 2006-10-25 15:48:11
|
On 10/25/06, Klaas Holwerda <db...@nl...> wrote: > John Labenski wrote: > > > > Anyway, with this simple fix you can use static libs if you like. If I > > understand correctly, aren't shared libs faster to compile stuff > > locally since the linker stage takes a little less time? Anyway, > > that's the reason why I make shared libs if I'm only going to use the > > program on my own machine, if this is wrong I'd like to know. > > I don't know, i just use static to not have dependencies for users of my software. But i can imagine that its quicker to > link that way. Thats what I thought too. > So in the end the problem which is still strange, is that in shared mode the wxstedit sample gave a asserts. > I think this is because the same libraries are linked several times. Ok, I see the problem, I was double linking core and base, fixed in wxStEdit CVS. > All other smaller problems are configure like issues, like how to get static build when both static and shared wxWidgets > are available. Very likeley wx-config is not used correctly in the configure scripts. This is what I do, I set the path to the wx-config I want, create a new dir in wxStEdit, run ../configure --prefix=new/dir, and that way you can have two separate build at the same time. In wxWidgets I do the same, create a dir wxWidgets/config_gtk2_debug and config_gtk2_static and run ../configure --prefix=/path/to/wxWidgets/config_gtk2_XXX ... so that I have two builds at once. I never bother to install wxWidgets since wx-config finds the includes and the libs properly if you do the above. ------ Next up, get make install to work for wxStEdit. I see how to hack Makefile.in to do it, but I would prefer a bakefile solution. Regards, John Labenski |
From: klaas.holwerda <kho...@xs...> - 2006-10-25 18:46:33
|
Hi, I understand that you keep things nicely seperate, it will works fine. The thing is that users will not do this. Like me ;-) I just make and make install, because that is most likely to work normally. I think Francesco knows how wx-config works with several installed wxWidgets flavors. I was once explained by the Ron on the dev list. All looks unavailable so i can show it from the archives, but in my own archive the title of the thread is "About wx_unix.bkl", and it explains it well. In short it is possible to detect with wx-config if a certain flavour of wxWidgets is available ( like debug-unicode-release ). I assumed that all that trickery is somehow part of the bakefile generated makefiles. And when i run configure, i get the impression that it is. ( like auto detect and several switches ), but it seems it does not work correctly. Francesco, how good is this already? Klaas John Labenski wrote: > > ------ > > Next up, get make install to work for wxStEdit. I see how to hack > Makefile.in to do it, but I would prefer a bakefile solution. > > > |
From: Francesco M. <f18...@ya...> - 2006-10-26 18:57:10
|
Hi, sorry for not following closely the discussion. I'm really spending all my free time fixing stuff in wxWidgets right now as wx2.8 is really really near and I'd like to stuff all the things I always wanted from wxWidgets before that. klaas.holwerda ha scritto: > I understand that you keep things nicely seperate, it will works fine. > The thing is that users will not do this. Like me ;-) I just make and > make install, because that is most likely to work normally. > I think Francesco knows how wx-config works with several installed > wxWidgets flavors. yes, it's a bit of a trouble but the M4 macros I've created should make it much easier to create fully configurable wx-based programs. > I was once explained by the Ron on the dev list. > All looks unavailable so i can show it from the archives, but in my own > archive the title of the thread is "About wx_unix.bkl", and it > explains it well. yeah; I remember that thread ;) I'm going to try to ask for better wxpresets right after this mail on wx-dev; if I could manage to get all my "wxpresets hacks" directly in wxpresets before wx2.8 it would be just fantastic! > In short it is possible to detect with wx-config if a certain flavour > of wxWidgets is available ( like debug-unicode-release ). sure, and wxCode configure scripts do that and also show a nice summary at the end of the run summing up all settings detected/chosen by the user. > I assumed that all that trickery is somehow part of the bakefile > generated makefiles. > And when i run configure, i get the impression that it is. ( like auto > detect and several switches ), but it seems it does not work correctly. > Francesco, how good is this already? I've changed the name of the thread because I had problems to understand exactly what are the problems you found in configure script. Skimming the mails I've noticed you and John hit the include/wx/*.h problem. That's a know problem fixed in bakefile SVN trunk. I'm also aware that it's difficult to create configure script which can be used for the trick: mkdir mybuild && cd mybuild && ../configure etc etc (it's not impossible just tricky). I'm aware of those two problems and there are relative patches in bakefile tracker but the problem is the usual one - bakefile support and patch revision is slow. Are there other problems in configure-generated script? Francesco |
From: John L. <jla...@gm...> - 2006-10-26 19:10:24
|
On 10/26/06, Francesco Montorsi <f18...@ya...> wrote: ... > Are there other problems in configure-generated script? Just to answer this one, no... I guess not. See the other emails, I tried to give them new titles for each little problem and have committed some changes that I think solve everything. I will go through the bakefile/autoconf guide on wxCode and add some little things that I've learned. Currently, I have working static, shared, in/out of wxCode tree builds working in linux using configure for wxStEdit. Let me know if you can think of better ways to implement the changes I wrote about in the other emails. John Labenski |