aMule Forum
English => Compilation problems => Topic started by: amltest on July 22, 2008, 11:37:25 PM
-
With root account, using some other advice in the forum:
urpmi --buildrequires amule-2.2.1-1plf2009.0.src.rpm
rpm --rebuild amule-2.2.1-1plf2009.0.src.rpm
...
Compiling amule-gui.cpp
Compiling amuleDlg.cpp
amuleDlg.cpp: In member function 'void CamuleDlg::SetMessagesTool()':
amuleDlg.cpp:1100: error: 'class wxToolBar' has no member named 'SetToolNormalBitmap'
make[3]: *** [amule-amuleDlg.o] Erreur 1
make[2]: *** [all-recursive] Erreur 1
make[1]: *** [all-recursive] Erreur 1
make: *** [all] Erreur 2
erreur: Mauvais status de sortie pour /var/tmp/rpm-tmp.69556 (%build)
Well, it's on Mandriva 2007.1 (2007 Spring) powerpack.
Search: no match in the forum...
any ideas ?
BTY, as mentioned in the README, here is more output:
[root@woof linux]# ls -l /usr/bin/wx*[/b]
lrwxrwxrwx 1 root root 27 jui 22 21:13 /usr/bin/wx-config -> /etc/alternatives/wx-config*
lrwxrwxrwx 1 root root 48 jui 22 21:13 /usr/bin/wx-config-unicode -> ../../usr/lib/wx/config/gtk2-unicode-release-2.8*
lrwxrwxrwx 1 root root 22 jui 22 21:13 /usr/bin/wxrc -> /etc/alternatives/wxrc*
-rwxr-xr-x 1 root root 74280 fév 16 2007 /usr/bin/wxrc-2.8-unicode*
lrwxrwxrwx 1 root root 3 déc 2 2007 /usr/bin/wxvlc -> vlc*
[root@woof linux]# ls -l /usr/local/bin/wx*
ls: /usr/local/bin/wx*: Aucun fichier ou répertoire de ce type
[root@woof linux]# rpm -qa | grep wx[/b]
libwxgtku2.8-devel-2.8.0-2mdv2007.1
wxPythonGTK-2.6.3.3-1mdv2007.1
wxgtk2.8-2.8.0-2mdv2007.1
wxGTK2.6-2.6.3-8mdv2007.1
libwxgtku2.6-2.6.3-8mdv2007.1
libwxPythonGTK2.6-2.6.3.3-1mdv2007.1
libwxgtkglu2.8-2.8.0-2mdv2007.1
libwxgtku2.8-2.8.0-2mdv2007.1
-
Maybe 2.8.2 is too old?
-
First things first. According to the rpm -qa list, you got only wxgtku2.6.2 (standrd iun 2007.1, ye Ipoposed a pacage her a long while ago).
wxgtk2.8.0 is not correct.
You need a wxGtk with unicode enabled, and 2.6.2 is the only one in your distro. It's not compatible with aMule 2.2.1.
You could grab wxGtk 2.8.7 and compile itt with the following option
./configure --enable-unicode ....
Or try to find an rpm of wxGtku-2.8.x compatible with Mandriva 2007.1
Give a try to these ones : http://www.oldfrog.info/Linux/RPMs/
If I remember well, I built them under 2007.1 (December 2007) or 2008.0.
-
@OldFrog
Thanks a lot, I'll try it tonight.
I guess I need wx-gtk2-unicode-devel-2.8-7.i586.rpm , right?
I'm not a newbie on Linux (since Mandrake 5) but I'm still not very familiar with rpm stuff and development process...
Since I'm compiling remotely on a headless system I hope this rpm won't break something...
Shouldn't this new package collide with the existing one ?
-
@OldFrog
Thanks a lot, I'll try it tonight.
I guess I need wx-gtk2-unicode-devel-2.8-7.i586.rpm , right?
I'm not a newbie on Linux (since Mandrake 5) but I'm still not very familiar with rpm stuff and development process...
Since I'm compiling remotely on a headless system I hope this rpm won't break something...
Shouldn't this new package collide with the existing one ?
Actually it should collide only on the common part with the 2.6.2 (used actually only by vlc for wx skins).
did a rpm -ivh xxxx --nodeps --force and had no issue, as it keeps the wxconfig files for all versions.
duplicate are with the devel package on /usr/share/presets stuff, a couple files independant of the version, so not a big deal.
-
Thanks, it helps, I've done as you suggested:
rpm -ivh --force --nodeps /mnt/heap/soft/linux/wx-gtk2-unicode-2.8-7.i586.rpm
rpm -ivh --force --nodeps /mnt/heap/soft/linux/wx-gtk2-unicode-devel-2.8-7.i586.rpm
Then I try again
rpm --rebuild amule-2.2.1-1plf2009.0.src.rpm
I was close to the build and there is this other error:
...
Compiling wxcascte.cpp
Compiling wxcaspix.cpp
Linking wxcas
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libwx_baseu-2.8.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)@GLIBCXX_3.4.9'
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libwx_baseu-2.8.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<void const*>(void const*)@GLIBCXX_3.4.9'
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libwx_baseu-2.8.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<long>(long&)@GLIBCXX_3.4.9'
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.2/../../../libwx_baseu-2.8.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<double>(double&)@GLIBCXX_3.4.9'
collect2: ld returned 1 exit status
make[5]: *** [wxcas] Erreur 1
make[4]: *** [all-recursive] Erreur 1
make[3]: *** [all-recursive] Erreur 1
make[2]: *** [all-recursive] Erreur 1
make[1]: *** [all-recursive] Erreur 1
make: *** [all] Erreur 2
erreur: Mauvais status de sortie pour /var/tmp/rpm-tmp.13393 (%build)
I'm still investigating about this, posting here in case you or someone figure out what's wrong before I get it (if I manage to...)
-
It's part of the installation script, anyway, you should run ldconfig to rebuild the lib cache.
You should maybe uninsyall wxGtk-2.8.7 then reinstall it normally, it should not have conflicts, and it should manage dependancies.
Otherwise, I see only a glibc issue. Then you should compile wxGtk by yourself.
Here's the configure option for it in a single option:
./configure --prefix=/usr/lib --with-gtk=2 --enable-largefile --enable-unicode --with-odbc
Don't forget to add a line with /usr/local/lib to /etc/ld.so.conf and run ldconfig after installation. Beware the compilation is quite long.