aMule Forum
English => Compilation problems => Topic started by: bhunji42 on December 24, 2006, 09:43:33 PM
-
Hi, I get the following error when I 'make' the latest cvs
I just installed wxGTk version 2.8.0 with unicode enabled
I'm running opensuse 10.2 the ix86 version...
./libmuleappgui.a(libmuleappgui_a-muuli_wdr.o):(.rodata._ZTV18wxBitmapButtonBase[vtable for wxBitmapButtonBase]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-muuli_wdr.o):(.rodata._ZTV12wxSliderBase[vtable for wxSliderBase]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-ColorFrameCtrl.o):(.rodata._ZTV15CColorFrameCtrl[vtable for CColorFrameCtrl]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
collect2: ld returned 1 exit status
make[3]: *** [amule] Error 1
make[3]: Leaving directory `/home/gaspode/bin/amule-cvs/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/gaspode/bin/amule-cvs/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/gaspode/bin/amule-cvs'
make: *** [all] Error 2
any idea whats happening, or should I try again from an earlier cvs?
-
Make sure you have opened the tarball in a new and clean directory. Using another tarball will not help you, in my opinion.
-
I created a new directory with nothing in it and extracted the 20061224.tar.bz into it so it contains the bz file and the amule-cvs folder and all its contents,
I still receive the same error when attempting to make amule.
-
oh I just noticed the errors start further up in the make,
/home/gaspode/bin/new/amule-cvs/src/ThreadScheduler.cpp:249: undefined reference to `operator+(wxString const&, wchar_t const*)'
./libmuleappcore.a(libmuleappcore_a-ThreadScheduler.o): In function `CThreadScheduler::AddTask(CThreadTask*, bool)':
/home/gaspode/bin/new/amule-cvs/src/ThreadScheduler.cpp:111: undefined reference to `operator+(wchar_t const*, wxString const&)'
./libmuleappgui.a(libmuleappgui_a-CatDialog.o): In function `__static_initialization_and_destruction_0':
/home/gaspode/bin/new/amule-cvs/src/./libs/common/StringFunctions.h:76: undefined reference to `wxCSConv::wxCSConv(wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-CatDialog.o): In function `CCatDialog::OnBnClickedOk(wxCommandEvent&)':
/home/gaspode/bin/new/amule-cvs/src/CatDialog.cpp:155: undefined reference to `wxDirExists(wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-CatDialog.o):(.rodata._ZTV10CCatDialog[vtable for CCatDialog]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-ChatWnd.o): In function `__static_initialization_and_destruction_0':
/home/gaspode/bin/new/amule-cvs/src/./libs/common/StringFunctions.h:76: undefined reference to `wxCSConv::wxCSConv(wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-ChatWnd.o):(.rodata._ZTV8CChatWnd[vtable for CChatWnd]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-CommentDialog.o): In function `__static_initialization_and_destruction_0':
/home/gaspode/bin/new/amule-cvs/src/./libs/common/StringFunctions.h:76: undefined reference to `wxCSConv::wxCSConv(wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-CommentDialog.o):(.rodata._ZTV14CCommentDialog[vtable for CCommentDialog]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-CommentDialogLst.o): In function `__static_initialization_and_destruction_0':
/home/gaspode/bin/new/amule-cvs/src/./libs/common/StringFunctions.h:76: undefined reference to `wxCSConv::wxCSConv(wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-CommentDialogLst.o):(.rodata._ZTV17CCommentDialogLst[vtable for CCommentDialogLst]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-DirectoryTreeCtrl.o): In function `CDirectoryTreeCtrl::DelShare(wxString const&)':
/home/gaspode/bin/new/amule-cvs/src/DirectoryTreeCtrl.cpp:395: undefined reference to `wxArrayString::Remove(wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-DirectoryTreeCtrl.o): In function `CDirectoryTreeCtrl::IsShared(wxString const&)':
/home/gaspode/bin/new/amule-cvs/src/DirectoryTreeCtrl.cpp:375: undefined reference to `wxArrayString::Index(wchar_t const*, bool, bool) const'
./libmuleappgui.a(libmuleappgui_a-DirectoryTreeCtrl.o): In function `CDirectoryTreeCtrl::HasSharedSubdirectory(wxString const&)':
/home/gaspode/bin/new/amule-cvs/src/DirectoryTreeCtrl.cpp:344: undefined reference to `wxString::StartsWith(wchar_t const*, wxString*) const'
./libmuleappgui.a(libmuleappgui_a-DirectoryTreeCtrl.o): In function `CDirectoryTreeCtrl::GetFullPath(wxTreeItemId)':
/home/gaspode/bin/new/amule-cvs/src/DirectoryTreeCtrl.cpp:215: undefined reference to `operator+(wchar_t const*, wxString const&)'
./libmuleappgui.a(libmuleappgui_a-DirectoryTreeCtrl.o): In function `CDirectoryTreeCtrl::AddChildItem(wxTreeItemId, wxString const&)':
/home/gaspode/bin/new/amule-cvs/src/DirectoryTreeCtrl.cpp:182: undefined reference to `operator+(wxString const&, wchar_t)'
./libmuleappgui.a(libmuleappgui_a-DirectoryTreeCtrl.o): In function `CDirectoryTreeCtrl::AddSubdirectories(wxTreeItemId, wxString const&)':
/home/gaspode/bin/new/amule-cvs/src/DirectoryTreeCtrl.cpp:240: undefined reference to `wxString::Find(wchar_t, bool) const'
/home/gaspode/bin/new/amule-cvs/src/DirectoryTreeCtrl.cpp:242: undefined reference to `wxString::Find(wchar_t, bool) const'
./libmuleappgui.a(libmuleappgui_a-DirectoryTreeCtrl.o): In function `wxString::append(unsigned int, wchar_t)':
/usr/local/include/wx-2.8/wx/string.h:1250: undefined reference to `wxStringBase::append(unsigned int, wchar_t)'
./libmuleappgui.a(libmuleappgui_a-DirectoryTreeCtrl.o):(.rodata._ZTV18CDirectoryTreeCtrl[vtable for CDirectoryTreeCtrl]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-EditServerListDlg.o): In function `EditServerListDlg::OnOK(wxCommandEvent&)':
/home/gaspode/bin/new/amule-cvs/src/EditServerListDlg.cpp:85: undefined reference to `operator+(wchar_t const*, wxString const&)'
/home/gaspode/bin/new/amule-cvs/src/EditServerListDlg.cpp:85: undefined reference to `operator+(wxString const&, wchar_t const*)'
/home/gaspode/bin/new/amule-cvs/src/EditServerListDlg.cpp:85: undefined reference to `wxLogSysError(wchar_t const*, ...)'
./libmuleappgui.a(libmuleappgui_a-EditServerListDlg.o): In function `EditServerListDlg':
/home/gaspode/bin/new/amule-cvs/src/EditServerListDlg.cpp:68: undefined reference to `wxFile::Exists(wchar_t const*)'
/home/gaspode/bin/new/amule-cvs/src/EditServerListDlg.cpp:68: undefined reference to `wxFile::Exists(wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-EditServerListDlg.o):(.rodata._ZTV17EditServerListDlg[vtable for EditServerListDlg]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-listctrl.o): In function `MuleExtern::wxListTextCtrlWrapper::OnKeyUp(wxKeyEvent&)':
/home/gaspode/bin/new/amule-cvs/src/extern/wxWidgets/listctrl.cpp:2074: undefined reference to `operator+(wxString const&, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-listctrl.o):(.rodata._ZTVN10MuleExtern17wxGenericListCtrlE[vtable for MuleExtern::wxGenericListCtrl]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-listctrl.o):(.rodata._ZTVN10MuleExtern16wxListMainWindowE[vtable for MuleExtern::wxListMainWindow]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-listctrl.o):(.rodata._ZTVN10MuleExtern18wxListHeaderWindowE[vtable for MuleExtern::wxListHeaderWindow]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-MuleGifCtrl.o):(.rodata._ZTV11MuleGifCtrl[vtable for MuleGifCtrl]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-MuleListCtrl.o): In function `__static_initialization_and_destruction_0':
/home/gaspode/bin/new/amule-cvs/src/./libs/common/StringFunctions.h:76: undefined reference to `wxCSConv::wxCSConv(wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-MuleListCtrl.o): In function `CMuleListCtrl::OnChar(wxKeyEvent&)':
/home/gaspode/bin/new/amule-cvs/src/MuleListCtrl.cpp:549: undefined reference to `wxString::StartsWith(wchar_t const*, wxString*) const'
/home/gaspode/bin/new/amule-cvs/src/MuleListCtrl.cpp:566: undefined reference to `wxString::StartsWith(wchar_t const*, wxString*) const'
./libmuleappgui.a(libmuleappgui_a-MuleListCtrl.o): In function `CMuleListCtrl::LoadSettings()':
/home/gaspode/bin/new/amule-cvs/src/MuleListCtrl.cpp:136: undefined reference to `operator+(wchar_t const*, wxString const&)'
/home/gaspode/bin/new/amule-cvs/src/MuleListCtrl.cpp:148: undefined reference to `wxString::BeforeFirst(wchar_t) const'
/home/gaspode/bin/new/amule-cvs/src/MuleListCtrl.cpp:149: undefined reference to `wxString::AfterFirst(wchar_t) const'
/home/gaspode/bin/new/amule-cvs/src/MuleListCtrl.cpp:173: undefined reference to `operator+(wchar_t const*, wxString const&)'
./libmuleappgui.a(libmuleappgui_a-MuleListCtrl.o): In function `CMuleListCtrl::SaveSettings()':
/home/gaspode/bin/new/amule-cvs/src/MuleListCtrl.cpp:111: undefined reference to `wxString::Format(wchar_t const*, ...)'
/home/gaspode/bin/new/amule-cvs/src/MuleListCtrl.cpp:114: undefined reference to `operator+(wchar_t const*, wxString const&)'
/home/gaspode/bin/new/amule-cvs/src/MuleListCtrl.cpp:124: undefined reference to `operator+(wchar_t const*, wxString const&)'
./libmuleappgui.a(libmuleappgui_a-MuleListCtrl.o):(.rodata._ZTV13CMuleListCtrl[vtable for CMuleListCtrl]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-MuleNotebook.o):(.rodata._ZTV13CMuleNotebook[vtable for CMuleNotebook]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-MuleTextCtrl.o):(.rodata._ZTV13CMuleTextCtrl[vtable for CMuleTextCtrl]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-FileDetailListCtrl.o):(.rodata._ZTV19CFileDetailListCtrl[vtable for CFileDetailListCtrl]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-muuli_wdr.o): In function `__static_initialization_and_destruction_0':
/home/gaspode/bin/new/amule-cvs/src/./libs/common/StringFunctions.h:76: undefined reference to `wxCSConv::wxCSConv(wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-muuli_wdr.o):(.rodata._ZTV12wxButtonBase[vtable for wxButtonBase]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-muuli_wdr.o):(.rodata._ZTV18wxBitmapButtonBase[vtable for wxBitmapButtonBase]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-muuli_wdr.o):(.rodata._ZTV12wxSliderBase[vtable for wxSliderBase]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
./libmuleappgui.a(libmuleappgui_a-ColorFrameCtrl.o):(.rodata._ZTV15CColorFrameCtrl[vtable for CColorFrameCtrl]+0x264): undefined reference to `wxWindow::ApplyToolTip(_GtkTooltips*, wchar_t const*)'
collect2: ld returned 1 exit status
make[3]: *** [amule] Error 1
make[3]: Leaving directory `/home/gaspode/bin/new/amule-cvs/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/gaspode/bin/new/amule-cvs/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/gaspode/bin/new/amule-cvs'
make: *** [all] Error 2
-
why am I getting so many undefined references?
-
This usually means that there are missing libraries to link. I blame your wxGTK installation, how did you install wx?
-
I can post my configure output if that'll help, there doesn't appear to be any errors with it though...
-
I mean: Did you install a package, did you compile it by yourself? Which package? Which compiler options?
-
I installed it from a tar.gz file
./configure -enable-unicode
make
then as root I make install ed
---
wxGTK-2.8.0.tar.gz from wxwidgets.org
---
I compiled it twice though, the first time I did it without the unicode option, amule said it needed the unicode option, so I recompiled with the --enable-unicode switch.
could that have messed it up?
-
Yes, this is very possibly the reason. See the linking problems: There's always a 'wchar_t' in the function, which represents unicode characters. You should do a 'make uninstall',a 'make distclean' and then recompile.
-
bhunji42,
Take it easy, we will figure it out.
I assume you did compile wxWidgets yourself. So, where did you install it? Which directory?
When I compile aMule, as my wxWidgets library is not on the system library path, I have to do something like this:
$ LD_LIBRARY_PATH=/usr/local/wxWidgets-2.8.0/lib/ make
This corresponds to the path I have used previously in configure:
$ ./configure --with-denoise-level=3 --enable-debug --disable-optimize --enable-verbose --enable-ccache --with-wx-config=/usr/local/wxWidgets-cvsu/bin/wx-config --enable-cas --enable-amule-gui
Without the LD_LIBRARY_PATH before the "make" command, the linker will fail.
-
okay I did the 'make uninstall' and 'make distclean' for wxGTK then re-compiled it again. It installed to whatever the default location is.
I also deleted the extracted cvs folder and re-extracted it from the tar file and was successful at compiling amule. :baby: Yay :baby:
oh at the end of the wxWidgets install, I typed 'ldconfig' as root, should I have done that 'LD_LIBRARY_PATH' command instead? Are they for the same thing?
Do I need all those swithes for the amule configure? I just did ./configure and it seems to open okay with that weird switch...
Thanks for all your help.
-
phoenix, stop confusing innocent user. :P :)
wxwidgets are in standard library path, thus you don't have to do this.
You don't need all these flags either, but they are very useful for searching bugs, enable some extra programs and use a wxgtk installation on a non-standard path of the hdd.
So what you did is ok. :)
-
Originally posted by bhunji42
oh at the end of the wxWidgets install, I typed 'ldconfig' as root, should I have done that 'LD_LIBRARY_PATH' command instead? Are they for the same thing?
They have the same utility. But by typing ldconfig, you make it permanent. It is ok if you have only one wxWidgets in your system. Like I said before, I have more than one, so, to use them when I want, I have to specify it in the LD_LIBRARY_PATH.
Originally posted by bhunji42
Do I need all those swithes for the amule configure? I just did ./configure and it seems to open okay with that weird switch...
Thanks for all your help.
Well, if you compile without those weird switches, you get no debug information. You can forget about the --with-wx-config if your wxWidgets is in the path (that seems to be the situation now). But as you are using a CVS version, that can potentially have bugs, it would be nice to compile it with debug information, so that in the (unlikely :P ) event of a crash, you have something consistent to report.
Originally posted by wuischke
phoenix, stop confusing innocent user. :P :)
lol, aMule devs are evil, after all... :P
-
Okay, I removed amule using the make uninstall and distclean options then downloaded the 20061225.tar.gz and compiled it using the following configure command
./configure --with-denoise-level=3 --enable-debug --disable-optimize --enable-verbose --enable-ccache --enable-cas
I received the following message during the config
checking for gdlib-config... no
configure:
WARNING: gd-lib >= 2.0.0, or a functional gd.h (from gd-devel) not found.
Please check that gdlib-config is in your default path, check out
LD_LIBRARY_PATH or equivalent variable.
Or this might also be that your gdlib-config has other name.
Please try again with --with-gdlib-config=/usr/bin/gdlib-config
(replace /usr/bin/gdlib-config with a valid path to your gdlib-config).
If you use compiled packages check if you have devel pack installed.
To download the latest version check http://www.boutell.com/gd
for sources.
amule has crashed once, but I didn't see anything in the log file, I'm probably looking in the wrong one...
I've relaunched amule from the command line, it hasn't crashed again yet, but I have received the following errors;
Invalid Kad tag; type=0x0a name=0x02
Error on count 0 tag 1
Error on count 2 tag 0
could these be the cause of my previous crash? is there somewhere else I can look for additional error codes?
would that gd-lib fix this?
-
libgd is used by amuleweb to create images dynamically and is therefore most probably not related to the crash.
You most probably won't find crash information in the logfile as it is written by aMule and a crashed aMule won't write in the logfile as it is crashed. ;)
You should not be worried about the kad tag error, this should not crash aMule.