aMule Forum
English => Compilation problems => Topic started by: AlphaC on February 09, 2008, 09:06:47 PM
-
hello, I'm going to try porting amuled and amuleweb to arm architecture (for a network appliance) using http://www.scratchbox.org, I would like to know from any developer if they know about any caveats and if there is any documentation for the sources, I've downloaded the sources tar, is there a way to strip out amuled and amuleweb sources from the main amule package?
thanks!
alphac
-
Rule of thumb: If wxwidgets work, then aMule should, too.
AMule runs at least on x86, x86_64, PowerPC and Sparc. I'm not aware of any particularities of ARM which wouldn't make it run on ARM, too.
-
It works on ARM, unless anything was broken after I retired.
-
so does already exist an arm version? Anybody has the sources so I can get an idea about the differences?
Isn't wxwidgets only for gui? I just need amuled and amuleweb the machine on wich they will run is headless.
-
There's no special ARM version - the sources you've already downloaded work on ARM, too. (Unless something broke, of course) You should however use the current developmental version (amule.hirnriss.net).
You need wxBase (contains among others filesystem or networking functions) if you run both on a headless machine.
Please be aware that the wxBase tarball is a bit tricky to compile IIRC, it's easier to download wxAll and compile it with the --disable-gui option.
-
It works on ARM, unless anything was broken after I retired.
Wrong. It does not work and it never did. I thought the same before buying NSLU2 (arm based NAS box). Result - broken compiler produce junk on floating point operations, which amule is full of.
So, theoretically it compiles. In practice result is not usable.
-
Uh... lfroen, stop acting dumb, please. Lot of people have used aMule with NSLU2 along the years. We even had people creating binaries specifically for it. Use the search function.
If something is broken now, it must be fixed. If the compiler is broken, updates to the compiler or cross-compilation are in order. But aMule does work perfectly on ARM CPUs.
-
I've been using amule on the NSLU2 for years. Now that Debian works flawlessly on the slug I've installed amule from the official Debian repositories and it works fine, of course.
-
that's interesting cause I'd like to compile it (and eventually port it) for nas4220 http://en.nas-4220.org/
maybe someone already did some work...
however, I'll give a try this weekend.
-
ok, before trying to reinvent the wheel again I wanted to copy debian amuled arm binaries on my nas, first I tried with a simple package "wget" + dependencies and everything worked ok. Now I've got some problems, I copied all dependencies and libraries on the nas, but when I run amuled I get this message:
/mnt/md1/apps/usr/bin/amuled: error while loading shared libraries: libstdc++.so.6: cannot handle TLS data
does arm arch support TLS??
-
Uh... lfroen, stop acting dumb, please. Lot of people have used aMule with NSLU2 along the years. We even had people creating binaries specifically for it. Use the search function.
My mistake. It looks like it actually works on NSLU, but only on full-blown debian, not on Unslug.
-
/mnt/md1/apps/usr/bin/amuled: error while loading shared libraries: libstdc++.so.6: cannot handle TLS data
does arm arch support TLS??
TLS is operating system concept, not hardware feature. IMHO - try to compile plain "hello world, c++" on your system. If it works, try again, now with WX. After both work, compile amuled.
-
My mistake. It looks like it actually works on NSLU, but only on full-blown debian, not on Unslug.
Ramiro was compiling it on Unslug before debian, iirc.
-
Nop (checked with Ramiro).
-
It was on OpenSlug. Both OpenSlug and Unslug run the processor in big endian mode, but Unslug is basically the original firmware, with a very old kernel and libc.
-
I'm trying to compile it on a mybook world edition (ARM9)
I succesfully compiled libpng, libgd, wxwidget and binutils
then I tried to compile amule --enable-amulecmd --enable-webserver --disable-monolithic --enable-amule-daemon --disable-backtrace --disable-debug --enable-optimise
but got this error
MuleDebug.cpp:36:23: execinfo.h: No such file or directory
MuleDebug.cpp: In function `wxString get_backtrace(unsigned int)':
MuleDebug.cpp:291: error: `backtrace' undeclared (first use this function)
MuleDebug.cpp:291: error: (Each undeclared identifier is reported only once for each function it appears in.)
MuleDebug.cpp:296: error: `backtrace_symbols' undeclared (first use this function)
make[4]: *** [libmulecommon_a-MuleDebug.o] Error 1
make[4]: Leaving directory `/opt/aMule-2.1.3/src/libs/common'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/opt/aMule-2.1.3/src/libs'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/aMule-2.1.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/aMule-2.1.3'
make: *** [all] Error 2
any idea how could I fix it?
-
Grab the latest SVN version of amule. This bug is already fixed.
-
TKS a lot :)
but now I got another problem
new amule versions require crypto libraries, so I'm trying to compile it but the system go in loop every time it arrive at making dll.cpp :(
is there anything that could I remove\modify in crypto package that would fix it and still let me install amule?
-
Please post the error message here, maybe we can help you to fix the problem.
-
compiling amuled
./configure --enable-amulecmd --enable-webserver --disable-monolithic --enable-amule-daemon --disable-backtrace --disable-debug --enable-optimi
I got this
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.
but since it's releated to graphics on the nas and I'll use just daemon&webui I guess it won't be a problem
but I also got this
checking for crypto++ version >= 5.1... configure: error:
Could not find cryptopp header file "cryptlib.h".
Please check if the path "/usr" is valid.
so, as suggested in the wiki, I've downloaded cryptopp552.zip
then I tryed to compile (make) it
I don't get specific error during making but simply there're a lot of files (like dll.*, fipstest.*) that loop the system (I've left the nas compiling for almost a day and it was still working on those file)
since crypto++ package seems to me modular I wonder if I could remove some unneeded files from cryptopp (not used in amuled) before compiling crypto, or if I can compile amule without crypto...
-
Did you extract it using "unzip -a cryptopp552.zip"? Which version of (GNU) make do you use?
gd lib is used by amuleweb for image creation, so it's recommendable to install it.
-
Did you extract it using "unzip -a cryptopp552.zip"?
yes
Which version of (GNU) make do you use?
just upgraded to 3.81-1 (just in case)
gd lib is used by amuleweb for image creation, so it's recommendable to install it.
I've installed it (2.0.33) but got the same error
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.
how about crypto?
-
I'm out of ideas regarding cryptopp. I've tried it on several (x86 based) operating systems and I could always get it to work or at least got a decent error message. A loop should only happen with a badly written makefile, but I couldn't find anything which could cause this.
Regarding gd: Is there some kind of gd-devel package for your distribution?
-
it's an embedded linux inside a mybook world edition (it use optware)
but I've already compiled the tarball so I wonder what's missing (or why amule don't recognize the path)
about crypto I'm trying simply remove from the compiling directory files that make the system loop and hope it will work
of course if anybody could provide me an already compiled (ARM9) ipk, it will really make my day ^_^
BTW
ls -l /usr/local/bin/wx*
lrwxrwxrwx 1 root root 49 Apr 7 21:14 /usr/local/bin/wx-config -> /usr/local/lib/wx/config/base-unicode-release-2.8
-
it definetly seems amule don't like my nas :(
since I can't find a way to install crypto++ I kept searching for an ARM compiled package, and today I found it here:http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/ (http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/)
it's an old version, but old is better than nothing ::)
so I installed it, installation went smootly, and I started amuled
-bash: /opt/bin/amuled: No such file or directory
and of course amuled is already in opt/bin ???
I wonder if I'll eventually find a way to install amule :'(
-
The only way to install amule on uncommon hardware (like yours) is to find a way to compile it yourself. There's plenty of info about setting up cross-compiling environment for ARM. Debian have all packages already precompiled (emdebian project).
FYI: on NSLU optware packages are broken.
-
since crypto++ can't be compiled for my ARM nas (mybook)
g++ -DNDEBUG -g -O2 -pipe -c validat2.cpp
g++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [validat2.o] Error 1
{standard input}: Assembler messages:
{standard input}:263363: Warning: end of file not at end of a line; newline inse rted
{standard input}:263479: Error: unknown pseudo-op: `.lbe27175'
unless there's out there an amuled version that can be compiled without crypto++ (like it used to be)
I guess I should give up with amuled :'(
-
unless there's out there an amuled version that can be compiled without crypto++ (like it used to be)
The problem is that your NAS doesn't have enough memory to compile cryptopp. You have to setup cross-compiling environment. Didn't I say it already?! Go to www.emdebian.org (http://www.emdebian.org) for istructions
-
Hi all,
I have a Buffalo linkstation live NAS (arm9 processor) and I installed freelink (debian) on it.
I upgraded to debian unstable (sid).
I was able to compile wxwidgets 2.8.7 ( --no-gui option, and --enable-unicode) and I was also able to compile amuled 2.2.1 (./configure --disable-monolithic --enable-amule-daemon --disable-upnp).
As soon as I start amuled I get a segmentation fault.
The compilation has been done natively on the NAS. I have been using amule 2.1.3 on the same NAS but I would like to get the benefits of the new version.
Any help/ideas?
Thanks!
C.
-
That's weird.
Now I get problems also with the 2.1.3, recompiled after the dist-upgrade:
Current version is: aMuled 2.1.3 AdunanzA using wxGTK2 v2.6.3 (Unicoded)
Running on: Linux 2.6.12.6-arm1 armv5tejl
[2] CamuleApp::OnFatalException() in amule.cpp:1195
[3] wxFatalSignalHandler in /usr/lib/libwx_baseu-2.6.so.0[0x401a61c8]
[4] wxMsgCatalogFile::FillHash(wxMessagesHash&, wxString const&, bool) const in /usr/lib/libwx_baseu-2.6.so.0[0x40130c94]
[5] wxMsgCatalog::Load(wchar_t const*, wchar_t const*, wchar_t const*, bool) in /usr/lib/libwx_baseu-2.6.so.0[0x40133020]
[6] wxLocale::AddCatalog(wchar_t const*, wxLanguage, wchar_t const*) in /usr/lib/libwx_baseu-2.6.so.0[0x40133208]
[7] wxLocale::AddCatalog(wchar_t const*) in /usr/lib/libwx_baseu-2.6.so.0[0x40133584]
[8] CamuleApp::Localize_mule() in amule.cpp:1204
[9] CamuleApp::OnInit() in amule.cpp:623
[10] wxDateTime::Format(wchar_t const*, wxDateTime::TimeZone const&) const in amuled.cpp:469
[11] wxAppConsole::CallOnInit() in app.h:87
[12] wxEntry(int&, wchar_t**) in /usr/lib/libwx_baseu-2.6.so.0[0x401275ac]
[13] main in amuled.cpp:132
[14] __libc_start_main in /lib/libc.so.6[0x4038506c]
-
Current version is: aMuled 2.1.3 AdunanzA using wxGTK2 v2.6.3 (Unicoded)
Running on: Linux 2.6.12.6-arm1 armv5tejl
Mind you, you're using an aMule mod. Please post a backtrace of the crash of the official 2.2.1 client in the appropriate forum section (http://forum.amule.org/index.php?board=33.0), and we might be able to help you.
-
Thanks for your reply.
Just a quick question: how should I compile amule to be able to get the backtrace? ( --enable-debug ? )
C.
-
You should use --enable-debug
-
Nevermind, I downgraded to Debian stable and recompiled everything from scratch. (wxGTK 2.8.7, g++ 3.4)
Amuled is working perfectly.
Thanks!
C.