hello,
first, pls excuse me for my english
finaly, i got a compiled amule and that`s not all, it also can start, connect and wokring almost fine

...
i`ll start with the troubles of the compilation
1) dirent.h
the solaris dirent.h is not the same ... hm, ok let's say it's differnt from what amule expect

the d_type is not member of struct dirent
we have not DT_DIR and DT_REG also...
but these one is not dificult to fight:) we just use the fallover case in CFile.cpp
(i have attached the diff`s)
2) getmntent
in most cases getmntent return pointer to struct i which are writen the mount infos...
but in solaris it`s different...
the affected files are amule.cpp and amule-gui.cpp
amule.cpp had more wokr:)
we have to include sys/mnttab.h (instead of mnent.h)
have to comment execinfo.h (else make fail, but not seriosly)
and have to make just little change in the part of getting mount stauts and info...
of course we have to use the right names of the new structure (mnttab instead of mntent) (it`s also attached, like diffs)
amule-gui.cpp is just about includes... it`s not interesting...
the most interesting part, was when it still crashes on startup...
so when it got running (and not crashing), i have used the wxgtk and wxbase from your site (they seem patched against the use of internal gtk functions), and i have to be sure, that i am using libX11.so.4 and not libX11.so.6 (which a have compiled), and i use the crypto from your site (not the embedded one).
so it`s running and connectiong end so so..., BUT if i not run it localy..
i`ll explain, if i run from the local terminla it crashes again...
but if i run it from remote session (DISPLAY=xxx.xxx.xxx.xxx.:0.0 amule) it runs, connect and so on....
the environment variables from both shells (local and remote) are the same...
a just have time right now to debug why...
p.s. i have allready a emule client, and it`s runnig and downloading some files, after their downlodaing, i'll try to debug and make it run even from local:)