Giter VIP home page Giter VIP logo

persmule / amule-dlp Goto Github PK

View Code? Open in Web Editor NEW
91.0 91.0 24.0 83.69 MB

Dynamic Leech Protection(DLP) is a part of eMule Xtreme Mod at first. This project aim to make DLP available for aMule. Bill Lee did most development before 2012, while I migrate them to GitHub.

Shell 0.81% C 7.86% C++ 80.73% Objective-C 0.30% Objective-C++ 0.65% Perl 0.60% XSLT 0.05% Java 0.49% PHP 2.53% CSS 0.04% HTML 0.16% Awk 0.04% Python 0.02% Ruby 0.33% Yacc 0.29% Batchfile 0.07% Lex 0.20% Makefile 0.50% M4 4.31% Emacs Lisp 0.01%

amule-dlp's People

Contributors

alesnav avatar ballamarcell avatar biergaizi avatar circulosmeos avatar daissi avatar gonosztopi avatar kinote avatar micrococo avatar mrjimenez avatar persmule avatar poplite avatar sc0w avatar sebastianopistore avatar tommyjerrymairo avatar vollstrecker avatar xinhuang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

amule-dlp's Issues

Api mismatch with crypto++ 6.0.0

Compiling ClientCreditsList.cpp
ClientCreditsList.cpp: In member function ‘void CClientCreditsList::InitalizeCrypting()’:
ClientCreditsList.cpp:315:10: error: ‘CryptoPP::RSASSA_PKCS1v15_SHA_Verifier {aka class CryptoPP::PK_FinalTemplate<CryptoPP::TF_VerifierImpl<CryptoPP::TF_SignatureSchemeOptions<CryptoPP::TF_SS<CryptoPP::RSA, CryptoPP::PKCS1v15, CryptoPP::SHA1, int>, CryptoPP::RSA, CryptoPP::PKCS1v15_SignatureMessageEncodingMethod, CryptoPP::SHA1> > >}’ has no member named ‘DEREncode’
   pubkey.DEREncode(asink);
          ^~~~~~~~~
make[3]: *** [Makefile:1897: amule-ClientCreditsList.o] Error 1
make[2]: *** [Makefile:3408: all-recursive] Error 1
make[1]: *** [Makefile:584: all-recursive] Error 1
make: *** [Makefile:491: all] Error 2

Get this error while compiling with newly upgraded libcrypto++ version 6.0.0

As the new version has fixed a few published vulnerability issues, I believe it's a good decision if amule-dlp can adapt to the new version library.

Cpu utilization rate continued to increase until the computer crashes

Amule dlp run cpu usage continued to increase after a few minutes, until the computer crashes, I can see here is a part of the diary.

2016-09-16 19:46:29: amuleAppCommon.cpp(335): Initialising aMule 2.4.0 compiled with wxGTK2 v3.0.2 (Debugging) (Snapshot: rev. gd41da5b)
2016-09-16 19:46:29: amuleAppCommon.cpp(382): Checking if there is an instance already running...
!2016-09-16 19:46:29: amuleAppCommon.cpp(388): There is an instance of aMule already running
2016-09-16 19:46:29: amuleAppCommon.cpp(389): (lock file: /home/blambin/.aMule/muleLock)
2016-09-16 19:46:29: amuleAppCommon.cpp(406): Raising current running instance.
[blambin@chakra-pc cpulimit]$ cpulimit -l 20 amule
2016-09-16 19:47:04: amuleAppCommon.cpp(335): Initialising aMule 2.4.0 compiled with wxGTK2 v3.0.2 (Debugging) (Snapshot: rev. gd41da5b)
2016-09-16 19:47:04: amuleAppCommon.cpp(382): Checking if there is an instance already running...
2016-09-16 19:47:04: amuleAppCommon.cpp(413): No other instances are running.
2016-09-16 19:47:04: ListenSocket.cpp(65): 监听Socket: Ok.

(amule:22980): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“adwaita”,

(amule:22980): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“adwaita”,
2016-09-16 19:47:06: DownloadQueue.cpp(113): 从 /home/blambin/.aMule/Temp 载入临时文件。
2016-09-16 19:47:06: DownloadQueue.cpp(132): 载入 PartFile 1 之 18
2016-09-16 19:47:06: DownloadQueue.cpp(132): 载入 PartFile 2 之 18
2016-09-16 19:47:06: DownloadQueue.cpp(132): 载入 PartFile 3 之 18
2016-09-16 19:47:06: DownloadQueue.cpp(132): 载入 PartFile 4 之 18
2016-09-16 19:47:06: DownloadQueue.cpp(132): 载入 PartFile 5 之 18
2016-09-16 19:47:06: DownloadQueue.cpp(132): 载入 PartFile 6 之 18
2016-09-16 19:47:06: DownloadQueue.cpp(132): 载入 PartFile 7 之 18
2016-09-16 19:47:06: DownloadQueue.cpp(132): 载入 PartFile 8 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(132): 载入 PartFile 9 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(132): 载入 PartFile 10 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(132): 载入 PartFile 11 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(132): 载入 PartFile 12 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(132): 载入 PartFile 13 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(132): 载入 PartFile 14 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(132): 载入 PartFile 15 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(132): 载入 PartFile 16 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(132): 载入 PartFile 17 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(132): 载入 PartFile 18 之 18
2016-09-16 19:47:07: DownloadQueue.cpp(163): 所有 PartFile 已经载入。
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/020.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/019.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/018.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/017.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/015.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/013.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/012.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/011.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/001.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/009.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/008.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/006.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/005.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/004.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/003.part.met加入共享
2016-09-16 19:47:07: SharedFileList.cpp(333): 将文件/home/blambin/.aMule/Temp/002.part.met加入共享

(amule:22980): GLib-CRITICAL **: Source ID 968 was not found when attempting to remove it

(amule:22980): GLib-CRITICAL : Source ID 1224 was not found when attempting to remove it
Assertion failed: ./src/gtk/dcclient.cpp:SetPen:1565: Assertion 'IsOk()' failed. invalid window dc
Backtrace follows:
[3] wxOnAssert(char const_, int, char const_, char const_, wchar_t const_) in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c2f236a1]
[4] wxWindowDCImpl::SetPen(wxPen const&) in /usr/lib/libwx_gtk2u_core-3.0.so.0[0x7fa1c3869a0b]
[5] wxMemoryDCImpl::SetPen(wxPen const&) in /usr/lib/libwx_gtk2u_core-3.0.so.0[0x7fa1c3871ca4]
[6] wxDC::SetPen(wxPen const&) in dc.h:882
[7] COScopeCtrl::ShiftGraph(unsigned int) in OScopeCtrl.cpp:384
[8] COScopeCtrl::AppendPoints(double, std::vector<float
, std::allocator<float
> > const&) in OScopeCtrl.cpp:279
[9] CKadDlg::UpdateGraph(UpdateInfo const&) in KadDlg.cpp:125
[10] CamuleDlg::OnGUITimer(wxTimerEvent&) in amuleDlg.cpp:1130
[11] wxAppConsoleBase::CallEventHandler(wxEvtHandler_, wxEventFunctor&, wxEvent&) const in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c2f1f93e]
[12] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler_, wxEvent&) in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c30b72e8]
[13] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c30b73eb]
[14] wxEvtHandler::TryHereOnly(wxEvent&) in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c30b77a8]
[15] wxEvtHandler::ProcessEventLocally(wxEvent&) in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c30b7833]
[16] wxEvtHandler::ProcessEvent(wxEvent&) in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c30b7895]
[17] wxEvtHandler::SafelyProcessEvent(wxEvent&) in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c30b75f7]
[18] wxTimerImpl::SendEvent() in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c3017071]
[19] ?? in /usr/lib/libwx_gtk2u_core-3.0.so.0[0x7fa1c38521ab]
[20] ?? in /usr/lib/libglib-2.0.so.0[0x7fa1c0ff8a27]
[21] g_main_context_dispatch in /usr/lib/libglib-2.0.so.0[0x7fa1c0ff7e78]
[22] ?? in /usr/lib/libglib-2.0.so.0[0x7fa1c0ff8248]
[23] g_main_loop_run in /usr/lib/libglib-2.0.so.0[0x7fa1c0ff8612]
[24] gtk_main in /usr/lib/libgtk-x11-2.0.so.0[0x7fa1c1d683b7]
[25] wxGUIEventLoop::DoRun() in /usr/lib/libwx_gtk2u_core-3.0.so.0[0x7fa1c3833485]
[26] wxEventLoopBase::Run() in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c2f64c53]
[27] wxAppConsoleBase::MainLoop() in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c2f23b46]
[28] wxEntry(int&, wchar_t**) in /usr/lib/libwx_baseu-3.0.so.0[0x7fa1c2fba8f0]
[29] main in amule-gui.cpp:93
[30] __libc_start_main in /usr/lib/libc.so.6[0x7fa1c229a610]
[31] _start in amule[0x441959]

./src/gtk/dcclient.cpp(1565): assert "IsOk()" failed in SetPen(): invalid window dc

my os is Linux chakra-pc 4.5.7-1-CHAKRA

挺ls

clone 下来的和下载压缩包的有区别吗?clone的实在太慢。我的错误和楼上的一样,不知道怎么解决了。

现在网上完全没有其他的资料,希望大大快点给出解决方案。

还有,你建立的软件库一团糟,根本不能用

make[3]: *** No rule to make target 'Scanner.h', needed by 'all-am'。 停止。
make[3]: *** 正在等待未完成的任务....
Makefile:3420: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
Makefile:573: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
Makefile:477: recipe for target 'all' failed
make: *** [all] Error 2

clone下来又试了试,还是这样
手残在出现这个终止之后又输入了一次make,好像通过了,之后make install,能打开了。

是不是有内存泄露的bug?

运行环境: linux mint 18 kde

硬件信息: 8G ddr3L+128G SSD+i5u+NVIDIA 750M

平时开机内存占用大约在500M-1G左右,但是打开amule之后,内存缓慢飙升到7.1G(8G)。

不知道是什么情况。

KademliaUDPListener.cpp: Assertion 'contactVersion >= 2' failed.

Assertion failed: kademlia/net/KademliaUDPListener.cpp:Process2HelloRequest:527: Assertion 'contactVersion >= 2' failed. 
Backtrace follows:
[3] wxOnAssert(char const*, int, char const*, char const*, char const*) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b05749f2a46]
[4] ?? in amuled[0xbd09d682fd2]
[5] ?? in amuled[0xbd09d6887b5]
[6] ?? in amuled[0xbd09d6671bb]
[7] ?? in amuled[0xbd09d59013d]
[8] ?? in amuled[0xbd09d60bfb6]
[9] ?? in amuled[0xbd09d58eb1c]
[10] ?? in amuled[0xbd09d6b519f]
[11] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const in /usr/lib64/libwx_baseu-3.0.so.0[0x7b05749f0d9d]
[12] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b0574ba3c19]
[13] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b0574ba3d5b]
[14] wxEvtHandler::TryHereOnly(wxEvent&) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b0574ba42f8]
[15] wxEvtHandler::ProcessEventLocally(wxEvent&) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b0574ba43c3]
[16] wxEvtHandler::ProcessEvent(wxEvent&) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b0574ba4455]
[17] wxEvtHandler::ProcessPendingEvents() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b0574ba5092]
[18] wxAppConsoleBase::ProcessPendingEvents() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b05749f34ff]
[19] wxEventLoopManual::ProcessEvents() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b0574a3bd2f]
[20] wxEventLoopManual::DoRun() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b0574a3be78]
[21] wxEventLoopBase::Run() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b0574a3ba83]
[22] wxAppConsoleBase::MainLoop() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b05749f8415]
[23] ?? in amuled[0xbd09d52c898]
[24] wxEntry(int&, wchar_t**) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b0574a93348]
[25] ?? in amuled[0xbd09d523ee1]
[26] __libc_start_main in /lib64/libc.so.6[0x7b0573d387cc]
[27] ?? in amuled[0xbd09d52bc69]

kademlia/net/KademliaUDPListener.cpp(527): assert "contactVersion >= 2" failed in Process2HelloRequest().

Presents in both amule and amuled after running for a while.

cpu 占用100%

Arch Linux直接用AUR安装的amule-dlp-git跟antileech,然后复制libantiLeech.so到~/.aMule,使用amuled.
配置参数为:
--prefix=/usr
--mandir=/usr/share/man
--enable-debug
--enable-amule-daemon
--enable-amulecmd
--enable-amule-gui
--enable-webserver
--enable-cas
--enable-wxcas
--enable-alc
--enable-alcc
--enable-geoip
--enable-upnp
--with-denoise-level=3
--enable-nls
--enable-optimize
--enable-mmap
--enable-ccache
--with-wxversion=3.0
不断刷log

Logger.cpp(326): Error: Failed to add descriptor 9 to epoll descriptor 6 (error 17: File exists)

amule crashes on clock jump (e.g. sleep/resume, timezone change, etc.)

Summary

amule-dlp built from latest git checkout (r10608, git commit hash 7b3a07ab5) crashes after system clock jump, e.g. on system sleep/ suspend and resume, or when timezone changes, or clock is changed.

Long

I have built amule-dlp from the latest git checkout (r10608, git commit hash 7b3a07ab5) on Artix GNU/Linux (Rollong Release) according to the following recipe:

git clone https://github.com/persmule/amule-dlp.git amule-dlp
cd amule-dlp

cp src/aMule.xpm amule.xpm
patch -p1 < ../0001-allow-to-build-with-autoconf-2.70-and-later.patch

./autogen.sh
./configure \
  --prefix=/usr \
  --mandir=/usr/share/man \
  --enable-monolithic \
  --enable-amule-daemon \
  --enable-amulecmd \
  --enable-amule-gui \
  --enable-webserver \
  --enable-cas \
  --enable-wxcas \
  --enable-ed2k \
  --enable-alc \
  --enable-alcc \
  --enable-xas \
  --enable-fileview \
  --disable-plasmamule \
  --enable-shared \
  --disable-static \
  --disable-kde-in-home \
  --enable-dlp \
  --enable-geoip \
  --enable-upnp \
  --with-denoise-level=1 \
  --enable-rpath \
  --enable-nls \
  --enable-debug \
  --enable-bfd \
  --enable-profile \
  --disable-optimize \
  --enable-mmap \
  --with-boost \
  --with-toolkit=gtk3 \
  --with-wxversion=3.2

The file ../0001-allow-to-build-with-autoconf-2.70-and-later.patch is attached: 0001-allow-to-build-with-autoconf-2.70-and-later.patch.txt.

GCC version is 13.2.1, version of wxwidgets-gtk3 is 3.2.3 from Artix Linux.

After installation, I rum amule.

When I put the system to sleep or hibernation for several tens of minutes or longer, and then wakeup, amule crashes. This is reproducible both by having the system suspended for some time or changing the system clock.

The crash terminal output occuring at a clock shift of 1 hour is:

--------------------------------------------------------------------------------
A fatal error has occurred and aMule has crashed.
Please assist us in fixing this problem by posting the backtrace below in our
'aMule Crashes' forum and include as much information as possible regarding the
circumstances of this crash. The forum is located here:
    http://forum.amule.org/index.php?board=67.0
If possible, please try to generate a real backtrace of this crash:
    http://wiki.amule.org/wiki/Backtraces

----------------------------=| BACKTRACE FOLLOWS: |=----------------------------
Current version is: aMule 2.3.3-dlp compiled with wxGTK2 v3.2.3 and Boost 1.83 (Debugging) (Snapshot: rev. g7b3a07ab5+)
Running on: Linux 6.5.0-pf4 x86_64

[2] ?? in /usr/lib/libwx_baseu-3.2.so.0[0x7f70717b1056]
[3] ?? in amule[0x55823e38088c]
[4] ?? in /usr/lib/libc.so.6[0x7f707105c710]
[5] ?? in amule[0x55823e355a20]
[6] ?? in amule[0x55823e36ddb2]
[7] ?? in amule[0x55823e36de0f]
[8] ?? in amule[0x55823e36de24]
[9] ?? in amule[0x55823e36de74]
[10] ?? in amule[0x55823e36df1c]
[11] ?? in amule[0x55823e36e859]
[12] ?? in amule[0x55823e37c151]
[13] ?? in amule[0x55823e37c1c6]
[14] ?? in amule[0x55823e37c20f]
[15] ?? in amule[0x55823e37c235]
[16] ?? in amule[0x55823e37c299]
[17] ?? in amule[0x55823e37c2cd]
[18] ?? in amule[0x55823e37c2e8]
[19] ?? in amule[0x55823e37c314]
[20] ?? in amule[0x55823e37c3df]
[21] ?? in amule[0x55823e37c466]
[22] ?? in amule[0x55823e37c484]
[23] ?? in amule[0x55823e37c499]
[24] ?? in amule[0x55823e37c4c0]
[25] ?? in amule[0x55823e37c503]
[26] ?? in amule[0x55823e37c529]
[27] ?? in amule[0x55823e37c543]
[28] ?? in amule[0x55823e37c5a7]
[29] ?? in amule[0x55823e37c5db]
[30] ?? in amule[0x55823e37c5f6]
[31] ?? in amule[0x55823e37c622]
[32] ?? in amule[0x55823e37cab3]
[33] ?? in amule[0x55823e37cb43]
[34] ?? in amule[0x55823e34c476]
[35] ?? in amule[0x55823e357724]
[36] ?? in amule[0x55823e34c476]
[37] ?? in amule[0x55823e354180]
[38] ?? in amule[0x55823e3563e7]
[39] ?? in amule[0x55823e35cc97]
[40] ?? in amule[0x55823e361649]
[41] wxThreadInternal::PthreadStart(wxThread*) in /usr/lib/libwx_baseu-3.2.so.0[0x7f70717ae865]
[42] ?? in /usr/lib/libc.so.6[0x7f70710aa9eb]
[43] ?? in /usr/lib/libc.so.6[0x7f707112e7cc]

--------------------------------------------------------------------------------

I attach a run of gdb amule with two backtraces: gdb-run.log. Since it is too big for the issue report I copy below only an excerpt from the crash up to the first backtrace:

[...]
Thread 21 "amule" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe57fa6c0 (LWP 4616)]
0x0000555555a2ba20 in boost::asio::detail::io_object_impl<boost::asio::detail::reactive_socket_service<boost::asio::ip::udp>, boost::asio::any_io_executor>::get_service (this=this@entry=0x2adb52b3a51a63a5) at /usr/include/boost/asio/detail/io_object_impl.hpp:125
125	    return *service_;
(gdb) bt
#0  0x0000555555a2ba20 in boost::asio::detail::io_object_impl<boost::asio::detail::reactive_socket_service<boost::asio::ip::udp>, boost::asio::any_io_executor>::get_service() (this=this@entry=0x2adb52b3a51a63a5) at /usr/include/boost/asio/detail/io_object_impl.hpp:125
#1  0x0000555555a43db2 in boost::asio::basic_datagram_socket<boost::asio::ip::udp, boost::asio::any_io_executor>::initiate_async_receive_from::operator()<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::asio::mutable_buffers_1>(boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>&&, boost::asio::mutable_buffers_1 const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>*, int) const (this=this@entry=0x7fffe57f8738, handler=..., buffers=..., sender_endpoint=0x555556102f00, flags=0)
    at /usr/include/boost/asio/basic_datagram_socket.hpp:1383
#2  0x0000555555a43e0f in boost::asio::detail::completion_handler_async_result<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, void (boost::system::error_code, unsigned long)>::initiate<boost::asio::basic_datagram_socket<boost::asio::ip::udp, boost::asio::any_io_executor>::initiate_async_receive_from, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::asio::mutable_buffers_1 const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>*, int>(boost::asio::basic_datagram_socket<boost::asio::ip::udp, boost::asio::any_io_executor>::initiate_async_receive_from&&, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>&&, boost::asio::mutable_buffers_1 const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>*&&, int&&) (initiation=..., token=...) at /usr/include/boost/asio/async_result.hpp:482
#3  0x0000555555a43e24 in boost::asio::async_initiate<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, void (boost::system::error_code, unsigned long), boost::asio::basic_datagram_socket<boost::asio::ip::udp, boost::asio::any_io_executor>::initiate_async_receive_from, boost::asio::mutable_buffers_1 const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>*, int>(boost::asio::basic_datagram_socket<boost::asio::ip::udp, boost::asio::any_io_executor>::initiate_async_receive_from&&, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>&, boost::asio::mutable_buffers_1 const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>*&&, int&&) (initiation=..., token=...)
    at /usr/include/boost/asio/async_result.hpp:896
#4  0x0000555555a43e74 in boost::asio::basic_datagram_socket<boost::asio::ip::udp, boost::asio::any_io_executor>::async_receive_from<boost::asio::mutable_buffers_1, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running> >(boost::asio::mutable_buffers_1 const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>&, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>&&) (this=this@entry=0x2adb52b3a51a63a5, buffers=..., sender_endpoint=..., token=...) at /usr/include/boost/asio/basic_datagram_socket.hpp:1178
#5  0x0000555555a43f1c in CAsioUDPSocketImpl::StartBackgroundRead() (this=this@entry=0x555556102e20)
    at /usr/src/debug/amule-dlp-debug-git/amule-dlp/src/LibSocketAsio.cpp:1157
#6  0x0000555555a44859 in CAsioUDPSocketImpl::HandleRead(boost::system::error_code const&, unsigned long)
    (this=0x555556102e20, ec=<optimized out>, received=0) at /usr/src/debug/amule-dlp-debug-git/amule-dlp/src/LibSocketAsio.cpp:1111
#7  0x0000555555a52151 in boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>::operator()(CAsioUDPSocketImpl*, boost::system::error_code const&, unsigned long) const (this=this@entry=0x7fffe57f8c00, p=<optimized out>, a1=..., a2=a2@entry=0)
    at /usr/include/boost/bind/mem_fn_template.hpp:280
#8  0x0000555555a521c6 in boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>&, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&>&, int) (this=this@entry=0x7fffe57f8c10, f=..., a=...) at /usr/include/boost/bind/bind.hpp:378
#9  0x0000555555a5220f in boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code const&, unsigned long const&>(boost::system::error_code const&, unsigned long const&) (this=0x7fffe57f8c00, a1=<optimized out>, a2=<optimized out>)
    at /usr/include/boost/bind/bind.hpp:1298
#10 0x0000555555a52235 in boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>::operator()() (this=<optimized out>) at /usr/include/boost/asio/detail/bind_handler.hpp:289
#11 0x0000555555a52299 in boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:88
#12 0x0000555555a522cd in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&)
    (function=..., context=<optimized out>) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#13 0x0000555555a522e8 in boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&, boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>*) (function=..., this_handler=<optimized out>)
    at /usr/include/boost/asio/detail/bind_handler.hpp:344
#14 0x0000555555a52314 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&, boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&)
    (function=..., context=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#15 0x0000555555a523df in boost::asio::detail::strand_service::dispatch<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::strand_service::strand_impl*&, boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&) (this=0x5555560fe380, impl=@0x7fffe57f8df0: 0x555556102db0, handler=...)
    at /usr/include/boost/asio/detail/impl/strand_service.hpp:44
#16 0x0000555555a52466 in boost::asio::io_context::strand::initiate_dispatch::operator()<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&&, boost::asio::io_context::strand*) const (this=this@entry=0x7fffe57f8bef, handler=..., self=0x7fffe57f8de8)
    at /usr/include/boost/asio/io_context_strand.hpp:356
#17 0x0000555555a52484 in boost::asio::detail::completion_handler_async_result<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, void ()>::initiate<boost::asio::io_context::strand::initiate_dispatch, boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, boost::asio::io_context::strand*>(boost::asio::io_context::strand::initiate_dispatch&&, boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&&, boost::asio::io_context::strand*&&) (initiation=..., token=...) at /usr/include/boost/asio/async_result.hpp:482
#18 0x0000555555a52499 in boost::asio::async_initiate<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, void (), boost::asio::io_context::strand::initiate_dispatch, boost::asio::io_context::strand*>(boost::asio::io_context::strand::initiate_dispatch&&, boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&, boost::asio::io_context::strand*&&) (initiation=..., token=...) at /usr/include/boost/asio/async_result.hpp:896
#19 0x0000555555a524c0 in boost::asio::io_context::strand::dispatch<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&&) (this=this@entry=0x7fffe57f8de8, handler=...) at /usr/include/boost/asio/io_context_strand.hpp:199
#20 0x0000555555a52503 in boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>::operator()<boost::system::error_code, unsigned long>(boost::system::error_code const&, unsigned long const&) (this=0x7fffe57f8de8, arg1=<optimized out>, arg2=<optimized out>) at /usr/include/boost/asio/detail/wrapped_handler.hpp:99
#21 0x0000555555a52529 in boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>::operator()()
    (this=<optimized out>) at /usr/include/boost/asio/detail/bind_handler.hpp:289
#22 0x0000555555a52543 in boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::operator()() (this=<optimized out>)
    at /usr/include/boost/asio/detail/wrapped_handler.hpp:191
#23 0x0000555555a525a7 in boost::asio::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:88
#24 0x0000555555a525db in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&)
    (function=..., context=<optimized out>) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#25 0x0000555555a525f6 in boost::asio::detail::asio_handler_invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >*) (function=..., this_handler=<optimized out>)
    at /usr/include/boost/asio/detail/wrapped_handler.hpp:304
#26 0x0000555555a52622 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&) (function=..., context=...)
    at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#27 0x0000555555a52ab3 in boost::asio::detail::handler_work<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul>, void>::complete<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&) (this=this@entry=0x7fffe57f8e3f, function=..., handler=...) at /usr/include/boost/asio/detail/handler_work.hpp:524
#28 0x0000555555a52b43 in boost::asio::detail::completion_handler<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder2<boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::asio::detail::is_continuation_if_running>, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long)
    (owner=0x555555e18bd0, base=0x5555560eb770) at /usr/include/boost/asio/detail/completion_handler.hpp:74
#29 0x0000555555a22476 in boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long)
    (this=this@entry=0x5555560eb770, owner=owner@entry=0x555555e18bd0, ec=..., bytes_transferred=bytes_transferred@entry=0)
    at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#30 0x0000555555a2d724 in boost::asio::detail::strand_service::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=0x555555e18bd0, base=0x555556102db0, ec=...) at /usr/include/boost/asio/detail/impl/strand_service.ipp:193
#31 0x0000555555a22476 in boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long)
    (this=this@entry=0x555556102db0, owner=owner@entry=0x555555e18bd0, ec=..., bytes_transferred=bytes_transferred@entry=0)
    at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#32 0x0000555555a2a180 in boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) (this=this@entry=0x555555e18bd0, lock=..., this_thread=..., ec=...)
    at /usr/include/boost/asio/detail/impl/scheduler.ipp:493
#33 0x0000555555a2c3e7 in boost::asio::detail::scheduler::run(boost::system::error_code&) (this=0x555555e18bd0, ec=...)
    at /usr/include/boost/asio/detail/impl/scheduler.ipp:210
#34 0x0000555555a32c97 in boost::asio::io_context::run() (this=this@entry=0x555555e109b0 <s_io_service>) at /usr/include/boost/asio/impl/io_context.ipp:64
#35 0x0000555555a37649 in CAsioServiceThread::Entry() (this=0x55555648b088) at /usr/src/debug/amule-dlp-debug-git/amule-dlp/src/LibSocketAsio.cpp:1258
#36 0x00007ffff6dae865 in wxThreadInternal::PthreadStart(wxThread*) () at /usr/lib/libwx_baseu-3.2.so.0
#37 0x00007ffff66aa9eb in start_thread (arg=<optimized out>) at pthread_create.c:444
#38 0x00007ffff672e7cc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) cont
[...]
[ ... aMule's crash message, and another backtrace ... ]

I observed this same behaviour already for some years with amule (non--dlp variant) and have ↗ already reported it there on 2021-10-24, without any reply up to now.

Regards!

Fix for Issue #29 is NOT Merged

The latest master branch fails to compile Fedora 29 with Crypto++ 7.0, raising the following error message

ClientCreditsList.cpp:315:10: error: ‘CryptoPP::RSASSA_PKCS1v15_SHA_Verifier {aka class CryptoPP::PK_FinalTemplate<CryptoPP::TF_VerifierImpl<CryptoPP::TF_SignatureSchemeOptions<CryptoPP::TF_SS<CryptoPP::RSA, CryptoPP::PKCS1v15, CryptoPP::SHA1, int>, CryptoPP::RSA, CryptoPP::PKCS1v15_SignatureMessageEncodingMethod, CryptoPP::SHA1> > >}’ has no member named ‘DEREncode’
   pubkey.DEREncode(asink);

This issue has already reported by @TommyJerryMairo, and fixed in the upstream repo as amule-project/amule@27c13f3. However, the old code is still in the aMule-DLP repo.

aMule-dlp 2.3.3 seems be detected "Bad Modstring Scheme"

Hi team, I'm testing my eMule these months. I just found a record when checking the log:

<time_was_hidden>: [Bad Modstring Scheme](ban)- Client <IP_address_was_hidden> 'http://www.aMule.org' (aMule v2.3.3 [aMule-dlp 2.3.3-dlp],Connecting/None/None)

Did you change the modversion in new aMule-dlp or in the past few months?
I'm not sure the above client is aMule-dlp. I don't have *nix platform at this time, so that I can't test.

Bug report.

--------------------------------------------------------------------------------
A fatal error has occurred and aMule has crashed.
Please assist us in fixing this problem by posting the backtrace below in our
aMule Crashes forum and include as much information as possible regarding the
circumstances of this crash. The forum is located here:
    http://forum.amule.org/index.php?board=67.0
If possible, please try to generate a real backtrace of this crash:
    http://wiki.amule.org/wiki/Backtraces

----------------------------=| BACKTRACE FOLLOWS: |=----------------------------
Current version is: aMule 2.4.0 compiled with wxGTK2 v3.0.2 (Debugging)
Running on: Linux 4.5.1-1-ARCH x86_64

[2] ?? in /usr/lib/libwx_baseu-3.0.so.0[0x7f6e65939c3c]
[3] ?? in /usr/lib/libpthread.so.0[0x7f6e678d1e80]
[4] pthread_cond_timedwait in /usr/lib/libpthread.so.0[0x7f6e678ce3e8]
[5] ?? in /usr/lib/libthreadutil.so.6[0x7f6e66ce260b]
[6] ?? in /usr/lib/libthreadutil.so.6[0x7f6e66ce17fc]
[7] ?? in /usr/lib/libpthread.so.0[0x7f6e678c8424]
[8] clone in /usr/lib/libc.so.6[0x7f6e64c19cbd]

--------------------------------------------------------------------------------

And this leads to a very terrible RAM leak.
screenshoot:htop

[Bug report]Buffer Overflow detected.

Aug 25 19:05:03 ArchPad amuled[21094]: Warning: Mismatch between the program and library build versions detected.
Aug 25 19:05:03 ArchPad amuled[21094]: The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1009,wx containers,compatible with 2.6),
Aug 25 19:05:03 ArchPad amuled[21094]: and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1010,wx containers,compatible with 2.6).
Aug 25 19:05:07 ArchPad amuled[21094]: *** buffer overflow detected ***: /usr/bin/amuled terminated
Aug 25 19:05:07 ArchPad amuled[21094]: ======= Backtrace: =========
Aug 25 19:05:07 ArchPad amuled[21094]: /usr/lib/libc.so.6(+0x70c4b)[0x7f8e9aa0ac4b]
Aug 25 19:05:07 ArchPad amuled[21094]: /usr/lib/libc.so.6(__fortify_fail+0x37)[0x7f8e9aa92f17]
Aug 25 19:05:07 ArchPad amuled[21094]: /usr/lib/libc.so.6(+0xf7050)[0x7f8e9aa91050]

[Bug Report] Assertion 'Assert failure' failed.

After fixing the mismatch problem, it seems still have bugs.

Assertion failed: CFile.cpp:doSeek:370: Assertion 'Assert failure' failed. ((IsOpened()))
Backtrace follows:
[3] wxOnAssert(char const*, int, char const*, char const*, wchar_t const*) in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d638d1d]
[4] std::deque<unsigned int, std::allocator<unsigned int> >::_M_reallocate_map(unsigned long, bool) in /usr/bin/amuled[0x576588]
[5] std::deque<unsigned int, std::allocator<unsigned int> >::_M_reallocate_map(unsigned long, bool) in /usr/bin/amuled[0x58a460]
[6] std::deque<unsigned int, std::allocator<unsigned int> >::_M_reallocate_map(unsigned long, bool) in /usr/bin/amuled[0x5a94b8]
[7] void std::vector<unsigned short, std::allocator<unsigned short> >::emplace_back<unsigned short>(unsigned short&&) in /usr/bin/amuled[0x548137]
[8] std::vector<unsigned int, std::allocator<unsigned int> >::operator=(std::vector<unsigned int, std::allocator<unsigned int> > const&) in /usr/bin/amuled[0x4fcc06]
[9] std::vector<unsigned int, std::allocator<unsigned int> >::operator=(std::vector<unsigned int, std::allocator<unsigned int> > const&) in /usr/bin/amuled[0x4fd62f]
[10] std::vector<unsigned int, std::allocator<unsigned int> >::operator=(std::vector<unsigned int, std::allocator<unsigned int> > const&) in /usr/bin/amuled[0x5005d0]
[11] void std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_construct<wchar_t const*>(wchar_t const*, wchar_t const*, std::forward_iterator_tag) in /usr/bin/amuled[0x4331a3]
[12] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d63274e]
[13] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d7b5b85]
[14] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d7b5c7b]
[15] wxEvtHandler::TryHereOnly(wxEvent&) in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d7b602b]
[16] wxEvtHandler::ProcessEventLocally(wxEvent&) in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d7b60b3]
[17] wxEvtHandler::ProcessEvent(wxEvent&) in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d7b6115]
[18] wxEvtHandler::ProcessPendingEvents() in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d7b6bb3]
[19] wxAppConsoleBase::ProcessPendingEvents() in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d634cbf]
[20] wxEventLoopManual::ProcessEvents() in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d673d4c]
[21] wxEventLoopManual::DoRun() in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d673db1]
[22] wxEventLoopBase::Run() in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d673bbb]
[23] wxAppConsoleBase::MainLoop() in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d639386]
[24] ?? in /usr/bin/amuled[0x42bcf8]
[25] wxEntry(int&, wchar_t**) in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d6c4ba0]
[26] ?? in /usr/bin/amuled[0x427162]
[27] __libc_start_main in /usr/lib/libc.so.6[0x7f120c9a6291]
[28] ?? in /usr/bin/amuled[0x42b3da]

CFile.cpp(370): assert "Assert failure" failed in doSeek(): ((IsOpened()))


Call stack:
[00] std::deque<unsigned int, std::allocator<unsigned int> >::_M_reallocate_map(unsigned long, bool)
[01] std::deque<unsigned int, std::allocator<unsigned int> >::_M_reallocate_map(unsigned long, bool)
[02] std::deque<unsigned int, std::allocator<unsigned int> >::_M_reallocate_map(unsigned long, bool)
[03] void std::vector<unsigned short, std::allocator<unsigned short> >::emplace_back<unsigned short>(unsigned short&&)
[04] std::vector<unsigned int, std::allocator<unsigned int> >::operator=(std::vector<unsigned int, std::allocator<unsigned int> > const&)
[05] std::vector<unsigned int, std::allocator<unsigned int> >::operator=(std::vector<unsigned int, std::allocator<unsigned int> > const&)
[06] std::vector<unsigned int, std::allocator<unsigned int> >::operator=(std::vector<unsigned int, std::allocator<unsigned int> > const&)
[07] void std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_construct<wchar_t const*>(wchar_t const*, wchar_t const*, std::forward_iterator_tag)
[08] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[09] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[10] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[11] wxEvtHandler::TryHereOnly(wxEvent&)     
[12] wxEvtHandler::ProcessEventLocally(wxEvent&)
[13] wxEvtHandler::ProcessEvent(wxEvent&)    
[14] wxEvtHandler::ProcessPendingEvents()    
[15] wxAppConsoleBase::ProcessPendingEvents()
[16] wxEventLoopManual::ProcessEvents()      
[17] wxEventLoopManual::DoRun()              
[18] wxEventLoopBase::Run()                  
[19] wxAppConsoleBase::MainLoop()            
[20] 0x42bcf8
    aMule Version: aMuleD 2.4.0 compiled with wxGTK2 v3.0.2 (Debugging) (Snapshot: rev. gd41da5b+)

Terminated after throwing an instance of 'CInvalidStateEx'
    what(): CRunTimeException::CInvalidStateException: Cannot seek on closed file.
    backtrace:
[2] void std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_construct<wchar_t const*>(wchar_t const*, wchar_t const*, std::forward_iterator_tag) in /usr/bin/amuled[0x42e22d]
[3] wxEntry(int&, wchar_t**) in /usr/lib/libwx_baseu-3.0.so.0[0x7f120d6c4bd9]
[4] ?? in /usr/bin/amuled[0x427162]
[5] __libc_start_main in /usr/lib/libc.so.6[0x7f120c9a6291]
[6] ?? in /usr/bin/amuled[0x42b3da]

 2016-09-26 09:38:57: amuleAppCommon.cpp(335): Initialising aMuleD 2.4.0 compiled with wxGTK2 v3.0.2 (Debugging) (Snapshot: rev. gd41da5b+)
 2016-09-26 09:38:57: amuleAppCommon.cpp(382): Checking if there is an instance already running...
 2016-09-26 09:38:57: amuleAppCommon.cpp(413): No other instances are running.
 2016-09-26 09:38:57: ListenSocket.cpp(65): ListenSocket: Ok.
 2016-09-26 09:38:57: DownloadQueue.cpp(113): Loading temp files from /var/lib/amule/.aMule/Temp.
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 1 of 14
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 2 of 14
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 3 of 14
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 4 of 14
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 5 of 14
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 6 of 14
!2016-09-26 09:38:57: DownloadQueue.cpp(157): ERROR: Failed to load PartFile '011.part.met'
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 7 of 14
!2016-09-26 09:38:57: DownloadQueue.cpp(157): ERROR: Failed to load PartFile '012.part.met'
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 8 of 14
!2016-09-26 09:38:57: DownloadQueue.cpp(157): ERROR: Failed to load PartFile '065.part.met'
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 9 of 14
!2016-09-26 09:38:57: DownloadQueue.cpp(157): ERROR: Failed to load PartFile '067.part.met'
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 10 of 14
!2016-09-26 09:38:57: DownloadQueue.cpp(157): ERROR: Failed to load PartFile '068.part.met'
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 11 of 14
!2016-09-26 09:38:57: DownloadQueue.cpp(157): ERROR: Failed to load PartFile '069.part.met'
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 12 of 14
!2016-09-26 09:38:57: DownloadQueue.cpp(157): ERROR: Failed to load PartFile '070.part.met'
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 13 of 14
!2016-09-26 09:38:57: DownloadQueue.cpp(157): ERROR: Failed to load PartFile '071.part.met'
 2016-09-26 09:38:57: DownloadQueue.cpp(132): Loading PartFile 14 of 14
!2016-09-26 09:38:57: DownloadQueue.cpp(157): ERROR: Failed to load PartFile '077.part.met'
 2016-09-26 09:38:57: DownloadQueue.cpp(163): All PartFiles Loaded.
 2016-09-26 09:38:57: SharedFileList.cpp(333): Adding file /var/lib/amule/.aMule/Temp/001.part.met to shares
 2016-09-26 09:38:57: SharedFileList.cpp(333): Adding file /var/lib/amule/.aMule/Temp/002.part.met to shares
 2016-09-26 09:38:57: SharedFileList.cpp(333): Adding file /var/lib/amule/.aMule/Temp/004.part.met to shares
 2016-09-26 09:38:57: SharedFileList.cpp(333): Adding file /var/lib/amule/.aMule/Temp/008.part.met to shares
 2016-09-26 09:38:57: SharedFileList.cpp(333): Adding file /var/lib/amule/.aMule/Temp/009.part.met to shares
 2016-09-26 09:38:58: amuled.cpp(649): amuled: OnInit - starting timer
 2016-09-26 10:09:20: amule.cpp(234): Now, exiting main app...
 2016-09-26 10:09:20: amule.cpp(264): aMule OnExit: Terminating core.
 2016-09-26 10:09:20: DownloadQueue.cpp(103): Saving PartFile 1 of 5
 2016-09-26 10:09:21: DownloadQueue.cpp(103): Saving PartFile 2 of 5
 2016-09-26 10:09:21: DownloadQueue.cpp(103): Saving PartFile 3 of 5
 2016-09-26 10:09:21: DownloadQueue.cpp(103): Saving PartFile 4 of 5
 2016-09-26 10:09:21: DownloadQueue.cpp(103): Saving PartFile 5 of 5
 2016-09-26 10:09:21: DownloadQueue.cpp(106): All PartFiles Saved.
 2016-09-26 10:09:21: amule.cpp(335): aMule shutdown completed.

muleLock has incorrect permissions

2016-10-08 18:17:53: Logger.cpp(350): Error: Lock file '/mnt/HD/HD_a2/Nas_Prog/aMule/.aMule/muleLock' has incorrect permissions.

Hello, I can see this error in log every time when I start the amule-dlp. The permission of muleLock is 644, I've tried to change the permission to 777 but still have this problem. The AppVersion is 2.4.0, and the program can be started successfully, does someone have any ideas about it?

编译错误

../../src/Scanner.cpp: In function ‘int yy_get_next_buffer()’:
../../src/Scanner.cpp:1250:5: error: invalid initialization of non-const reference of type ‘size_t& {aka long unsigned int&}’ from an rvalue of type ‘size_t {aka long unsigned int}’
(yy_n_chars), num_to_read );
~^~~~~~~~~~~
../../src/Scanner.l:28:13: note: initializing argument 2 of ‘void ReadLexBuff(char_, size_t&, size_t)’
static void ReadLexBuff(char_ pcBuff, size_t& riResult, size_t uMaxSize);
^~~~~~~~~~~
../../src/Scanner.cpp: In function ‘yy_buffer_state* yy_scan_bytes(const char_, int)’:
../../src/Scanner.cpp:1795:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for ( i = 0; i < yybytes_len; ++i )
~~^~~~~~~~~~~~~~
../../src/Scanner.l: At global scope:
../../src/Scanner.l:184:13: warning: ‘void ReadLexBuff(char
, int&, size_t)’ defined but not used [-Wunused-function]
{
^
../../src/Scanner.cpp:1816:24: warning: ‘void yy_fatal_error(const char_)’ defined but not used [-Wunused-function]
static void yynoreturn yy_fatal_error (yyconst char_ msg )

运行一阵后两个在不同机器上的aMule-DLP的UserHash变为相同

A机在Google Cloud上,B机在局域网内,都是Github clone下来的源码编译成。
运行一段时间后,发现两个UserHash都变为1054A144090EA2CA4CBF65F6DD756F9E
md5sum校验配置目录下的preferences.dat,结果都为e6bb7ec8deb6451feb517d26c7b7bacf

删除preferences.datcryptkey.dat后确实生成了新的UserHash,但一段时间后仍然会变成上面的值。
2017-06-01_091825
2017-06-01_091840

An assertion failed!

ASSERT INFO:

kademlia/kademlia/UDPFirewallTester.cpp(176): assert "m_fwChecksRunningUDP == 0" failed in ReCheckFirewallUDP().

BACKTRACE:

[1] wxOnAssert(char const*, int, char const*, char const*, char const*)
[2] void std::vector<unsigned int, std::allocator<unsigned int> >::_M_emplace_back_aux<unsigned int>(unsigned int&&)
[3] std::vector<unsigned int, std::allocator<unsigned int> >::operator=(std::vector<unsigned int, std::allocator<unsigned int> > const&)
[4] std::vector<unsigned int, std::allocator<unsigned int> >::operator=(std::vector<unsigned int, std::allocator<unsigned int> > const&)
[5] void std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_construct<wchar_t*>(wchar_t*, wchar_t*, std::forward_iterator_tag)
[6] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[7] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[8] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[9] wxEvtHandler::TryHereOnly(wxEvent&)
[10] wxEvtHandler::ProcessEventLocally(wxEvent&)
[11] wxEvtHandler::ProcessEvent(wxEvent&)
[12] wxEvtHandler::ProcessPendingEvents()
[13] wxAppConsoleBase::ProcessPendingEvents()
[14] wxApp::DoIdle()
[15] g_main_context_dispatch
[16] g_main_loop_run
[17] gtk_main
[18] wxGUIEventLoop::DoRun()
[19] wxEventLoopBase::Run()
[20] wxAppConsoleBase::MainLoop()
[21] wxEntry(int&, wchar_t**)
[22] __libc_start_main

aMule Randomly Gets Out of Control and Keeps Allocating Memory

Symptoms

After synced with the latest Git repo, the results were many crashes. Now, a new problem that never existed with earlier version released from last year occurs: aMule often gets out of control, the user interface stops responding, the Control+C handling timer stops working, and aMule is keep allocate memory and use a full CPU core until the entire system is crashed.

I treated it as an ordinary memory leak at first, and tried some standard produces to figure out the leaked memory, but spent a whole day without any success. Then it turned out that it is more likely to be a memory corruption or logic error rather than a trivial leak.

Clues

Although hard to debug, known clues are listed below for further investigations.

When?

  • Requires Internet connections to trigger, both eD2k and KAD needs to be connected.
  • High-ID or Low-ID doesn't matter.
  • amuled is not affected by this bug.
  • Can be reproduced most of the times (70%), but sometimes can't. It seems like that some passive network activities is required.
  • Most of the times, occurs just around 5 minutes afteramulestarted. Sometimes it can not be reproduced, sometimes needs longer than and sometimes occurs less than 1 minute.

How?

  • amule keeps leaking memory, until all installed RAM in the system is used up. I have a 16-GB system.
  • The user interface stopped responding.
  • A full CPU core is used by amule, looks like a infinite loop.
  • Control+C handler stopped working, clean shutdown is not possible, double Control+C terminated amule directly.
  • Tried with a clean ~/.amule and download directory, apparently corrupted configurations are not the problem.

Why?

  • Digging into the source code revealed that CamuleApp::OnCoreTimer has no chance to run, so Control + C doesn't work.
  • valgrind shows that the leaked memory HAS POINTERS pointed, so it is NOT a trivial memory leak caused by forgotten free(), but a infinite loop with string operation?
  • If MuleUDPSocketand other UDP logging is turned on, it seems that the amule can run without problems (but not very sure). Looks like the UDPSocket logging makes a difference. But WHAT? Does it change the behavior of malloc() or string, or it makes amule too slow to fail?

What?

  • valgrind shows some suspicious reports about CMuleUDPSocket, if the report is correct, not only NOT a false-posivite, but also related to this issue (I can not make sure), it is likely that the problem is in the UDP operations, this can explain everything we saw before.
==31812== Invalid read of size 4
==31812==    at 0x93152B8: ??? (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x931752A: g_source_remove (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x6AA63A8: ??? (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==31812==    by 0x6A9E13F: wxSocketBase::Write(void const*, unsigned int) (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==31812==    by 0x6A9FF24: wxDatagramSocket::SendTo(wxSockAddress const&, void const*, unsigned int) (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==31812==    by 0x548AE8: CLibUDPSocket::SendTo(amuleIPV4Address const&, void const*, unsigned int) (LibSocketWX.cpp:78)
==31812==    by 0x4F0860: CDatagramSocketProxy::SendTo(amuleIPV4Address const&, void const*, unsigned int) (Proxy.cpp:1451)
==31812==    by 0x39F633: CMuleUDPSocket::SendTo(unsigned char*, unsigned int, unsigned int, unsigned short) (MuleUDPSocket.cpp:316)
==31812==    by 0x39FACE: CMuleUDPSocket::SendControlData(unsigned int, unsigned int) (MuleUDPSocket.cpp:277)
==31812==    by 0x3E58ED: UploadBandwidthThrottler::Entry() (UploadBandwidthThrottler.cpp:381)
==31812==    by 0x6EA1631: wxThread::CallEntry() (in /usr/lib64/libwx_baseu-3.0.so.0.2.0)
==31812==    by 0x6EA8702: ??? (in /usr/lib64/libwx_baseu-3.0.so.0.2.0)
==31812==  Address 0x11f9fcec is 44 bytes inside a block of size 120 free'd
==31812==    at 0x4C2E36A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==31812==    by 0x9314E91: ??? (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x9318C7F: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x9318EB7: ??? (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x9319351: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x83986B6: gtk_main (in /usr/lib64/libgtk-x11-2.0.so.0.2400.30)
==31812==    by 0x63D0F1C: wxGUIEventLoop::DoRun() (in /usr/lib64/libwx_gtk2u_core-3.0.so.0.2.0)
==31812==    by 0x6D6EA82: wxEventLoopBase::Run() (in /usr/lib64/libwx_baseu-3.0.so.0.2.0)
==31812==    by 0x6D2B414: wxAppConsoleBase::MainLoop() (in /usr/lib64/libwx_baseu-3.0.so.0.2.0)
==31812==    by 0x6DC6347: wxEntry(int&, wchar_t**) (in /usr/lib64/libwx_baseu-3.0.so.0.2.0)
==31812==    by 0x29D650: main (amule-gui.cpp:93)
==31812==  Block was alloc'd at
==31812==    at 0x4C2F224: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==31812==    by 0x931F5A8: g_malloc0 (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x9315B2C: g_source_new (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x936D8FD: ??? (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x9307CB1: g_io_add_watch_full (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x63DA3D6: ??? (in /usr/lib64/libwx_gtk2u_core-3.0.so.0.2.0)
==31812==    by 0x6AA63BA: ??? (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==31812==    by 0x6A9E13F: wxSocketBase::Write(void const*, unsigned int) (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==31812==    by 0x6A9FF24: wxDatagramSocket::SendTo(wxSockAddress const&, void const*, unsigned int) (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==31812==    by 0x548AE8: CLibUDPSocket::SendTo(amuleIPV4Address const&, void const*, unsigned int) (LibSocketWX.cpp:78)
==31812==    by 0x4F0860: CDatagramSocketProxy::SendTo(amuleIPV4Address const&, void const*, unsigned int) (Proxy.cpp:1451)
==31812==    by 0x39F633: CMuleUDPSocket::SendTo(unsigned char*, unsigned int, unsigned int, unsigned short) (MuleUDPSocket.cpp:316)
  • Sending a SIGTERM to kill amule, causes a backtrace like this. This is what we saw in Issue #7 that complained that amule used 10 GiB of RAM. We can assume, this is the same bug.
==31812== Process terminating with default action of signal 15 (SIGTERM)
==31812==    at 0x7D7091D: ??? (in /lib64/libc-2.23.so)
==31812==    by 0x9318E53: ??? (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x9319351: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0xB31CB28: ??? (in /usr/lib64/libgio-2.0.so.0.4800.1)
==31812==    by 0x9348507: ??? (in /usr/lib64/libglib-2.0.so.0.4800.1)
==31812==    by 0x4E4054F: start_thread (in /lib64/libpthread-2.23.so)
==31812==    by 0x7D7A3FC: clone (in /lib64/libc-2.23.so)
  • After let amule to leak memory for a while with a debugger attached, the leak reports showed amule was stuck in the mainloop of WxWidget. Further traced to wxSocketBase, it looks like amule was going crazy with sockets, and gererated a lot of events so the mainloop was flooded and memory usage kept increasing. Please note that valid pointers still do exist at this point, so it is not just an ordinary leak caused by forgotten free().
==8904== 150,846,288 bytes in 3,142,631 blocks are still reachable in loss record 36,229 of 36,230
==8904==    at 0x4C2D5DE: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==8904==    by 0x6D2C925: ??? (in /usr/lib64/libwx_baseu-3.0.so.0.2.0)
==8904==    by 0x6DD3F58: wxListBase::Append(void*) (in /usr/lib64/libwx_baseu-3.0.so.0.2.0)
==8904==    by 0x6ED882C: wxEvtHandler::QueueEvent(wxEvent*) (in /usr/lib64/libwx_baseu-3.0.so.0.2.0)
==8904==    by 0x6A9EA37: wxSocketBase::OnRequest(wxSocketNotify) (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==8904==    by 0x6AA67C5: ??? (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==8904==    by 0x63DA446: ??? (in /usr/lib64/libwx_gtk2u_core-3.0.so.0.2.0)
==8904==    by 0x9318B09: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.1)
==8904==    by 0x9318EB7: ??? (in /usr/lib64/libglib-2.0.so.0.4800.1)
==8904==    by 0x9319351: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4800.1)
==8904==    by 0x83986B6: gtk_main (in /usr/lib64/libgtk-x11-2.0.so.0.2400.30)
==8904==    by 0x63D0F1C: wxGUIEventLoop::DoRun() (in /usr/lib64/libwx_gtk2u_core-3.0.so.0.2.0)
==8904== 
==8904== 301,692,576 bytes in 3,142,631 blocks are still reachable in loss record 36,230 of 36,230
==8904==    at 0x4C2D5DE: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==8904==    by 0x6AA3521: ??? (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==8904==    by 0x2B1E17: wxEvtHandler::AddPendingEvent(wxEvent const&) (event.h:3395)
==8904==    by 0x6A9EA37: wxSocketBase::OnRequest(wxSocketNotify) (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==8904==    by 0x6AA67C5: ??? (in /usr/lib64/libwx_baseu_net-3.0.so.0.2.0)
==8904==    by 0x63DA446: ??? (in /usr/lib64/libwx_gtk2u_core-3.0.so.0.2.0)
==8904==    by 0x9318B09: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4800.1)
==8904==    by 0x9318EB7: ??? (in /usr/lib64/libglib-2.0.so.0.4800.1)
==8904==    by 0x9319351: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4800.1)
==8904==    by 0x83986B6: gtk_main (in /usr/lib64/libgtk-x11-2.0.so.0.2400.30)
==8904==    by 0x63D0F1C: wxGUIEventLoop::DoRun() (in /usr/lib64/libwx_gtk2u_core-3.0.so.0.2.0)
==8904==    by 0x6D6EA82: wxEventLoopBase::Run() (in /usr/lib64/libwx_baseu-3.0.so.0.2.0)
==8904== 
==8904== LEAK SUMMARY:
==8904==    definitely lost: 15,072 bytes in 28 blocks
==8904==    indirectly lost: 76,740 bytes in 3,077 blocks
==8904==      possibly lost: 52,518 bytes in 543 blocks
==8904==    still reachable: 469,852,195 bytes in 6,493,912 blocks
==8904==         suppressed: 0 bytes in 0 blocks
==8904== 

Help Wanted

I'm completely get confused, any help from everything is appreciated! Thanks!
CC @persmule @TommyJerryMairo @Artoria2e5.

compilation on macOS Mojave 10.14

have compilation errors on macOS Mojave 10.14 that I haven't been able to resolve.

wxWidgets 3.0.4 was compiled:

$ ls -l /usr/local/bin/wx*
lrwxr-xr-x  1 root        wheel            53 May 26 10:37 /usr/local/bin/wx-config -> /usr/local/lib/wx/config/osx_cocoa-unicode-static-3.0
lrwxr-xr-x  1 root        wheel             8 May 26 10:37 /usr/local/bin/wxrc -> wxrc-3.0
-rwxr-xr-x@ 1 localuser  1073494981  1360400 May 26 10:34 /usr/local/bin/wxrc-3.0

The error which seems relevant from error_output. I double-checked that I have bison and flex installed (from MacPorts):

./Parser.y:4:10: fatal error: 'Scanner.h' file not found
#include "Scanner.h"
         ^~~~~~~~~~~
1 error generated.
make[3]: *** [libmuleappcore_a-Parser.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
$ find . -name "Scanner*"
./src/Scanner.l
./src/Scanner.cpp
./src/Scanner.h.in

Configure parameters for wxWidgets:

./configure --disable-shared --enable-unicode --disable-debug --disable-debug_gdb --with-macosx-version-min=1

Configure parameters for aMule:

    ./configure --enable-optimize --with-crypto-prefix=/opt/local --with-gdlib-prefix=/opt/local \
    --enable-cas --enable-webserver \
    --enable-amulecmd --enable-amule-gui --enable-wxcas --enable-alc --enable-alcc --enable-amule-daemon --enable-geoip \
    --with-geoip-lib=/opt/local/lib --with-geoip-headers=/opt/local/include --with-libpng-prefix=/opt/local --disable-debug

config.log:
https://pastebin.com/Fg4iY5v9

configure:
https://gist.github.com/pthall/c4ad8d6868a208b0decf762e223aa69b

Thanks for any help in advance.

Compilation Error

Error when I make:

...
/usr/include/wx-2.8/wx/datetime.h:1506:1: note: in expansion of macro ‘WX_DEFINE_USER_EXPORTED_ARRAY_PTR’
 WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxDateTimeHolidayAuthority *,
 ^
../../../../src/libs/common/Path.cpp: In constructor ‘CPath::CPath(const wxString&)’:
../../../../src/libs/common/Path.cpp:232:22: error: ‘class wxCharBuffer’ has no member named ‘length’
  if (fn.data() && fn.length()) {
                      ^
make[4]: *** [Path.o] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

System Info:

  • CentOS Linux release 7.3.1611 (Core)
  • Linux 3.10.0-514.2.2.el7.x86_64
  • gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)

Configuration:

  • --enable-optimize --with-denoise-level=3 --enable-upnp --enable-geoip --enable-nls --enable-amule-daemon --enable-amulecmd --enable-webserver --enable-alcc --enable-cas --enable-mmap --disable-amule-gui --disable-wxcas --with-boost

  •  Libraries aMule will use to build:
                               wxWidgets             2.8.12 (gtk2,shared)
                               boost                 1.53
                               crypto++              5.6.2 (in /usr)
                               libupnp               1.6.19
                               libintl               system
                               libGeoIP              system
                               libpng                1.5.13
                               libgd                 2.0.34
                               zlib                  1.2.7
    

I found same problem raised on aMule forum. It seems be fixed in revision 10981. I am not sure whether it is caused by same reason and do not know what to do.

amule log中的问题

你好,我在log中发现了有很多如下内容
2020-05-15 21:40:13: Logger.cpp(326): 21时40分13秒: 错误: 无法修改描述符 20 (于epoll描述符 6) (错误 2: 没有那个文件或目录)
启动一段时间后就会有很多这个内容。

make error

thinkpad@thinkpad-ThinkPad-L450:/Downloads/amule-dlp-2.3.2-dlp$ make
Making all in intl
Making all in po
Generating translations for ar
ar.po:7: warning: header field 'Language' still has the initial default value
308 translated messages, 110 fuzzy translations, 1223 untranslated messages.
Generating translations for ast
ast.po:7: warning: header field 'Language' still has the initial default value
1485 translated messages, 110 fuzzy translations, 46 untranslated messages.
Generating translations for bg
185 translated messages, 79 fuzzy translations, 1377 untranslated messages.
Generating translations for ca
ca.po:14: warning: header field 'Language' still has the initial default value
1515 translated messages, 84 fuzzy translations, 42 untranslated messages.
Generating translations for cs
cs.po:6: warning: header field 'Language' still has the initial default value
1264 translated messages, 70 fuzzy translations, 307 untranslated messages.
Generating translations for da
da.po:7: warning: header field 'Language' still has the initial default value
463 translated messages, 122 fuzzy translations, 1056 untranslated messages.
Generating translations for de
de.po:12: warning: header field 'Language' still has the initial default value
1605 translated messages, 19 fuzzy translations, 17 untranslated messages.
Generating translations for el
el.po:6: warning: header field 'Language' still has the initial default value
1399 translated messages, 136 fuzzy translations, 106 untranslated messages.
Generating translations for en_GB
en_GB.po:7: warning: header field 'Language' still has the initial default value
0 translated messages, 1641 untranslated messages.
Generating translations for es
1605 translated messages, 18 fuzzy translations, 18 untranslated messages.
Generating translations for et_EE
1584 translated messages, 34 fuzzy translations, 23 untranslated messages.
Generating translations for eu
1604 translated messages, 19 fuzzy translations, 18 untranslated messages.
Generating translations for fi
fi.po:10: warning: header field 'Language' still has the initial default value
1604 translated messages, 19 fuzzy translations, 18 untranslated messages.
Generating translations for fr
fr.po:17: warning: header field 'Language' still has the initial default value
1610 translated messages, 15 fuzzy translations, 16 untranslated messages.
Generating translations for gl
gl.po:20: warning: header field 'Language' still has the initial default value
1339 translated messages, 135 fuzzy translations, 167 untranslated messages.
Generating translations for he
he.po:8: warning: header field 'Language' still has the initial default value
860 translated messages, 144 fuzzy translations, 637 untranslated messages.
Generating translations for hr
hr.po:7: warning: header field 'Language' still has the initial default value
356 translated messages, 119 fuzzy translations, 1166 untranslated messages.
Generating translations for hu
1605 translated messages, 19 fuzzy translations, 17 untranslated messages.
Generating translations for it
it.po:22: warning: header field 'Language' still has the initial default value
1605 translated messages, 18 fuzzy translations, 18 untranslated messages.
Generating translations for it_CH
it_CH.po:14: warning: header field 'Language' still has the initial default value
1242 translated messages, 135 fuzzy translations, 264 untranslated messages.
Generating translations for ja
ja.po:6: warning: header field 'Language' still has the initial default value
1212 translated messages, 135 fuzzy translations, 294 untranslated messages.
Generating translations for ko_KR
1098 translated messages, 181 fuzzy translations, 362 untranslated messages.
Generating translations for lt
1327 translated messages, 135 fuzzy translations, 179 untranslated messages.
Generating translations for nl
1605 translated messages, 18 fuzzy translations, 18 untranslated messages.
Generating translations for nn
nn.po:10: warning: header field 'Language' still has the initial default value
1327 translated messages, 135 fuzzy translations, 179 untranslated messages.
Generating translations for pl
pl.po:12: warning: header field 'Language' still has the initial default value
1560 translated messages, 54 fuzzy translations, 27 untranslated messages.
Generating translations for pt_BR
pt_BR.po:12: warning: header field 'Language' still has the initial default value
1604 translated messages, 20 fuzzy translations, 17 untranslated messages.
Generating translations for pt_PT
1600 translated messages, 22 fuzzy translations, 19 untranslated messages.
Generating translations for ro
1614 translated messages, 10 fuzzy translations, 17 untranslated messages.
Generating translations for ru
1598 translated messages, 23 fuzzy translations, 20 untranslated messages.
Generating translations for sl
sl.po:9: warning: header field 'Language' still has the initial default value
1598 translated messages, 23 fuzzy translations, 20 untranslated messages.
Generating translations for sq
sq.po:10: warning: header field 'Language' still has the initial default value
1186 translated messages, 134 fuzzy translations, 321 untranslated messages.
Generating translations for sv
506 translated messages, 101 fuzzy translations, 1034 untranslated messages.
Generating translations for tr
1605 translated messages, 18 fuzzy translations, 18 untranslated messages.
Generating translations for uk
1465 translated messages, 121 fuzzy translations, 55 untranslated messages.
Generating translations for zh_CN
1565 translated messages, 57 fuzzy translations, 19 untranslated messages.
Generating translations for zh_TW
zh_TW.po:20: warning: header field 'Language' still has the initial default value
1605 translated messages, 18 fuzzy translations, 18 untranslated messages.
Making all in docs
Making all in man
Making all in src
Making all in libs
Making all in common
Compiling FileFunctions.cpp
FileFunctions.cpp: In function ‘bool UnpackZipFile(const wxString&, const wxChar**)’:
FileFunctions.cpp:138:7: warning: ‘template class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr entry;
^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
from FileFunctions.cpp:37:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template class auto_ptr;
^~~~~~~~
Compiling Format.cpp
In file included from /usr/include/wx-3.0/wx/version.h:16:0,
from /usr/include/wx-3.0/wx/defs.h:193,
from /usr/include/wx-3.0/wx/string.h:24,
from MuleDebug.h:29,
from Format.h:30,
from Format.cpp:25:
Format.cpp: In member function ‘void CFormat::Init(const wxString&)’:
/usr/include/wx-3.0/wx/cpp.h:102:54: warning: this statement may fall through [-Wimplicit-fallthrough=]
#define wxSTATEMENT_MACRO_END } while ( (void)0, 0 )
^
/usr/include/wx-3.0/wx/debug.h:304:9: note: in expansion of macro ‘wxSTATEMENT_MACRO_END’
wxSTATEMENT_MACRO_END
^~~~~~~~~~~~~~~~~~~~~
/usr/include/wx-3.0/wx/debug.h:306:29: note: in expansion of macro ‘wxFAIL_COND_MSG’
#define wxFAIL_MSG(msg) wxFAIL_COND_MSG("Assert failure", msg)
^~~~~~~~~~~~~~~
Format.cpp:201:6: note: in expansion of macro ‘wxFAIL_MSG’
wxFAIL_MSG(wxT("Invalid format specifier: ") + str.Mid(formatStart, pos - formatStart + 1));
^~~~~~~~~~
Format.cpp:202:5: note: here
case esFormatStart:
^~~~
Compiling MD5Sum.cpp
Compiling MuleDebug.cpp
MuleDebug.cpp: In function ‘wxString get_backtrace(unsigned int)’:
MuleDebug.cpp:315:33: warning: unused parameter ‘n’ [-Wunused-parameter]
wxString get_backtrace(unsigned n)
^
Compiling Path.cpp
Path.cpp: In function ‘wxString DoCleanup(const wxString&, bool, bool)’:
Path.cpp:130:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (isFAT32) {
^

Path.cpp:134:4: note: here
default:
^~~~~~~
Compiling strerror_r.c
Compiling StringFunctions.cpp
Compiling TextFile.cpp
Building libmulecommon.a
ar: u' modifier ignored since D' is the default (see U') Making all in ec Parsing 2 files FileName: ECTagTypes FileContent: EC tag types for use on the ec library. Reading content section... Datatype: Enum Dataname: ECTagTypes DataType: uint8 No more content sections All info parsed FileName: ECCodes FileContent: EC codes and type definition. Reading content section... Datatype: TypeDef Reading content section... Datatype: Enum Dataname: ProtocolVersion DataType: uint16 Reading content section... Datatype: Enum Dataname: ECFlags DataType: uint32 Reading content section... Datatype: Enum Dataname: ECOpCodes DataType: uint8 Reading content section... Datatype: Enum Dataname: ECTagNames DataType: uint16 Reading content section... Datatype: Enum Dataname: EC_DETAIL_LEVEL DataType: uint8 Reading content section... Datatype: Enum Dataname: EC_SEARCH_TYPE DataType: uint8 Reading content section... Datatype: Enum Dataname: EC_STATTREE_NODE_VALUE_TYPE DataType: uint8 Reading content section... Datatype: Enum Dataname: EcPrefs DataType: uint32 No more content sections All info parsed Making all in cpp Generating ECVersion.h... created. Compiling ECTag.cpp In file included from ECTag.cpp:32:0: ECSocket.h:80:7: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<CQueuedData> m_curr_rx_data; ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECTag.cpp:32: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ In file included from ECTag.cpp:32:0: ECSocket.h:81:7: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<CQueuedData> m_curr_tx_data; ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECTag.cpp:32: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ Compiling ECPacket.cpp In file included from ECPacket.cpp:26:0: ECSocket.h:80:7: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<CQueuedData> m_curr_rx_data; ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECPacket.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ In file included from ECPacket.cpp:26:0: ECSocket.h:81:7: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<CQueuedData> m_curr_tx_data; ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECPacket.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ Compiling ECSocket.cpp In file included from ECSocket.cpp:26:0: ECSocket.h:80:7: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<CQueuedData> m_curr_rx_data; ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECSocket.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ In file included from ECSocket.cpp:26:0: ECSocket.h:81:7: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<CQueuedData> m_curr_tx_data; ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECSocket.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ ECSocket.cpp: In member function ‘void CECSocket::OnInput()’: ECSocket.cpp:400:10: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<const CECPacket> packet(ReadPacket()); ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECSocket.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ ECSocket.cpp:403:11: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<const CECPacket> reply(OnPacketReceived(packet.get(), m_curr_packet_len)); ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECSocket.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ Compiling ECMuleSocket.cpp In file included from ECMuleSocket.h:30:0, from ECMuleSocket.cpp:26: ECSocket.h:80:7: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<CQueuedData> m_curr_rx_data; ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECMuleSocket.h:30, from ECMuleSocket.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ In file included from ECMuleSocket.h:30:0, from ECMuleSocket.cpp:26: ECSocket.h:81:7: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<CQueuedData> m_curr_tx_data; ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECMuleSocket.h:30, from ECMuleSocket.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ Compiling RemoteConnect.cpp In file included from ECMuleSocket.h:30:0, from RemoteConnect.h:30, from RemoteConnect.cpp:26: ECSocket.h:80:7: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<CQueuedData> m_curr_rx_data; ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECMuleSocket.h:30, from RemoteConnect.h:30, from RemoteConnect.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ In file included from ECMuleSocket.h:30:0, from RemoteConnect.h:30, from RemoteConnect.cpp:26: ECSocket.h:81:7: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<CQueuedData> m_curr_tx_data; ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECMuleSocket.h:30, from RemoteConnect.h:30, from RemoteConnect.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ RemoteConnect.cpp: In member function ‘bool CRemoteConnect::ConnectToCore(const wxString&, int, const wxString&, const wxString&, const wxString&, const wxString&)’: RemoteConnect.cpp:142:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<const CECPacket> getSalt(SendRecvPacket(&login_req)); ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECMuleSocket.h:30, from RemoteConnect.h:30, from RemoteConnect.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ RemoteConnect.cpp:149:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations] std::auto_ptr<const CECPacket> reply(SendRecvPacket(&passwdPacket)); ^~~~~~~~ In file included from /usr/include/c++/7/memory:80:0, from ECSocket.h:31, from ECMuleSocket.h:30, from RemoteConnect.h:30, from RemoteConnect.cpp:26: /usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here template<typename> class auto_ptr; ^~~~~~~~ Compiling ECSpecialTags.cpp Compiling ECUInt128.cpp Building libec.a ar: u' modifier ignored since D' is the default (see U')
Making all in utils
Making all in cas
Making all in docs
Compiling cas.c
Compiling configfile.c
Compiling functions.c
Compiling graphics.c
Compiling html.c
Compiling lines.c
Linking cas
Making all in wxCas
Making all in src
Compiling onlinesig.cpp
Compiling linuxmon.cpp
Compiling wxcas.cpp
Compiling wxcasprint.cpp
Compiling wxcasframe.cpp
Compiling wxcasprefs.cpp
Compiling wxcascte.cpp
Compiling wxcaspix.cpp
Linking wxcas
Making all in docs
Making all in aLinkCreator
Making all in src
Compiling alc.cpp
Compiling alcframe.cpp
Compiling ed2khash.cpp
Compiling alcpix.cpp
Compiling md4.cpp
Linking alc
Compiling alcc.cpp
Compiling ed2khash.cpp
Compiling md4.cpp
Linking alcc
Making all in docs
Making all in pixmaps
Making all in flags_xpm
Making all in skins
Compiling LibSocket.cpp
Building libmulesocket.a
ar: u' modifier ignored since D' is the default (see `U')
Compiling AsyncDNS.cpp
Compiling CanceledFileList.cpp
Compiling DeadSourceList.cpp
Compiling FileArea.cpp
FileArea.cpp:48:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
#if USE_MMAP
^~~~~~~~
FileArea.cpp:48:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:48:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:48:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:60:58: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
#if !defined(HAVE_SIGACTION) || !defined(SA_SIGINFO) || !USE_MMAP || defined(UCLIBC)
^~~~~~~~
FileArea.cpp:60:58: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:60:58: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:60:58: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:203:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
#if USE_MMAP
^~~~~~~~
FileArea.cpp:203:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:203:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:203:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:225:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
#if USE_MMAP
^~~~~~~~
FileArea.cpp:225:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:225:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:225:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:247:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
#if USE_MMAP
^~~~~~~~
FileArea.cpp:247:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:247:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:247:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:285:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
#if USE_MMAP
^~~~~~~~
FileArea.cpp:285:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:285:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
FileArea.cpp:285:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
Compiling FileAutoClose.cpp
Generating IPFilterScanner.cpp
Compiling IPFilterScanner.cpp
g++: error: ./IPFilterScanner.cpp: No such file or directory
g++: fatal error: no input files
compilation terminated.
Makefile:1614: recipe for target 'libmuleappcore_a-IPFilterScanner.o' failed
make[3]: *** [libmuleappcore_a-IPFilterScanner.o] Error 1
Makefile:3406: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
Makefile:582: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
Makefile:489: recipe for target 'all' failed
make: *** [all] Error 2

ubuntu 17.10
照着wiki来的 configure

thinkpad@thinkpad-ThinkPad-L450:~/Downloads/amule-dlp-2.3.2-dlp$ ./configure --enable-optimize --with-denoise-level=3 --enable-upnp --enable-geoip --enable-nls --enable-amule-daemon --enable-amulecmd --disable-webserver --enable-alcc --enable-alc --enable-cas --enable-wxcas --enable-mmap --with-boost --with-gdlib-config=/usr/local/bin/gdlib-config
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking if this is a FreeBSD 4 or earlier system... no
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for gawk... (cached) mawk
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking whether make sets $(MAKE)... (cached) yes
checking for flex... no
checking for lex... no
checking for ranlib... ranlib
checking for a sed that does not truncate output... /bin/sed
checking for bison... bison -y
checking for ranlib... (cached) ranlib
checking for strip... strip
checking for ar... ar
checking for ld... ld
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for gdlib-config... /usr/local/bin/gdlib-config
checking for gdlib version >= 2.0.0... gdlib-config: warning: this script is deprecated; please use the pkg-config file instead.
yes (version 2.2.5)
gdlib-config: warning: this script is deprecated; please use the pkg-config file instead.
gdlib-config: warning: this script is deprecated; please use the pkg-config file instead.
gdlib-config: warning: this script is deprecated; please use the pkg-config file instead.
checking gd.h usability... yes
checking gd.h presence... yes
checking for gd.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for working volatile... yes
checking for zlib >= 1.1.4... yes (version 1.2.11)
checking for File::Copy... ok
checking GeoIP.h usability... yes
checking GeoIP.h presence... yes
checking for GeoIP.h... yes
checking for GeoIP_open in -lGeoIP... yes
checking for the --with-toolkit option... will be automatically detected
checking for the --with-wxshared option... will be automatically detected
checking for the --with-wxdebug option... will be automatically detected
checking for the --with-wxversion option... will be automatically detected
checking for wx-config... /usr/bin/wx-config
checking for wxWidgets version >= 2.8.12 (--unicode=yes)... yes (version 3.0.3)
checking for wxWidgets static library... no
checking if wxWidgets was built with UNICODE enabled... yes
checking if wxWidgets was built in DEBUG mode... no
checking if wxWidgets was built in STATIC mode... no
checking which wxWidgets toolkit was selected... gtk2
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libupnp version >= 1.6.6... yes (version 1.6.22)
checking for crypto++ version >= 5.1... yes (version 5.6.4)
checking whether the C++ compiler (g++) uses strict aliasing... yes
checking that wxWidgets has support for large files... yes
checking for exception-handling... yes
checking typeinfo usability... yes
checking typeinfo presence... yes
checking for typeinfo... yes
checking for <cxxabi.h> and __cxa_demangle()... yes
checking for Boost headers version >= 1.47.0... yes
checking for Boost's header version... 1_62
checking for the toolset name used by Boost for g++... configure: WARNING: could not figure out which toolset name to use for g++

checking for Boost sources... no
checking boost/system/error_code.hpp usability... yes
checking boost/system/error_code.hpp presence... yes
checking for boost/system/error_code.hpp... yes
checking for the Boost system library... yes
checking boost/asio.hpp usability... yes
checking boost/asio.hpp presence... yes
checking for boost/asio.hpp... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking argz.h usability... yes
checking argz.h presence... yes
checking for argz.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for inttypes.h... (cached) yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking mntent.h usability... yes
checking mntent.h presence... yes
checking for mntent.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking nl_types.h usability... yes
checking nl_types.h presence... yes
checking for nl_types.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking for stdint.h... (cached) yes
checking stdio_ext.h usability... yes
checking stdio_ext.h presence... yes
checking for stdio_ext.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/mntent.h usability... no
checking sys/mntent.h presence... no
checking for sys/mntent.h... no
checking sys/mnttab.h usability... no
checking sys/mnttab.h presence... no
checking for sys/mnttab.h... no
checking sys/mount.h usability... yes
checking sys/mount.h presence... yes
checking for sys/mount.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for mode_t... yes
checking for off_t... yes
checking for size_t... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uid_t in sys/types.h... yes
checking for ptrdiff_t... yes
checking whether closedir returns void... no
checking whether gcc needs -traditional... no
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking whether lstat correctly handles trailing slash... yes
checking for library containing getmntent... none required
checking whether lstat accepts an empty string... no
checking whether lstat correctly handles trailing slash... (cached) yes
checking for working memcmp... yes
checking for sys/select.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking return type of signal handlers... void
checking whether stat accepts an empty string... no
checking for strftime... yes
checking for working strtod... yes
checking for vprintf... yes
checking for _doprnt... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for __argz_count... yes
checking for __argz_next... yes
checking for __argz_stringify... yes
checking for endpwent... yes
checking for floor... yes
checking for ftruncate... yes
checking for getcwd... yes
checking for gethostbyaddr... yes
checking for gethostbyname... yes
checking for gethostname... yes
checking for getopt_long... yes
checking for getpass... yes
checking for getrlimit... yes
checking for gettimeofday... yes
checking for inet_ntoa... yes
checking for localeconv... yes
checking for memmove... yes
checking for mempcpy... yes
checking for memset... yes
checking for mkdir... yes
checking for nl_langinfo... yes
checking for pow... yes
checking for select... yes
checking for setlocale... yes
checking for setrlimit... yes
checking for sigaction... yes
checking for socket... yes
checking for sqrt... yes
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strcspn... yes
checking for strdup... yes
checking for strerror... yes
checking for strncasecmp... yes
checking for strstr... yes
checking for strtoul... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking for munmap... yes
checking for sysconf... yes
checking for pagesize constant for sysconf... _SC_PAGESIZE
checking for fallocate... yes
checking for SYS_fallocate... yes
checking for posix_fallocate... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for strerror in -lcposix... no
checking for getpagesize... (cached) yes
checking for working mmap... (cached) yes
checking whether we are using the GNU C Library 2.1 or newer... yes
checking whether integer division by zero raises SIGFPE... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unsigned long long... yes
checking for inttypes.h... yes
checking whether the inttypes.h PRIxNN macros are broken... no
checking for ld used by GCC... ld
checking if the linker (ld) is GNU ld... yes
checking for shared library run path origin... done
checking for argz.h... (cached) yes
checking for limits.h... (cached) yes
checking for locale.h... (cached) yes
checking for nl_types.h... (cached) yes
checking for malloc.h... (cached) yes
checking for stddef.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for feof_unlocked... yes
checking for fgets_unlocked... yes
checking for getc_unlocked... yes
checking for getcwd... (cached) yes
checking for getegid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getuid... yes
checking for mempcpy... (cached) yes
checking for munmap... (cached) yes
checking for putenv... yes
checking for setenv... yes
checking for setlocale... (cached) yes
checking for stpcpy... (cached) yes
checking for strcasecmp... (cached) yes
checking for strdup... (cached) yes
checking for strtoul... (cached) yes
checking for tsearch... yes
checking for __argz_count... (cached) yes
checking for __argz_stringify... (cached) yes
checking for __argz_next... (cached) yes
checking for iconv... yes
checking for iconv declaration...
extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for nl_langinfo and CODESET... yes
checking for LC_MESSAGES... yes
checking for bison... bison
checking version of bison... 3.0.4, ok
checking whether NLS is requested... yes
checking whether included gettext is requested... no
checking for GNU gettext in libc... yes
checking for autopoint... yes (0.19.8.1)
checking for requested languages... all
checking for bfd... no
configure: WARNING:
bfd.h not found or unusable, please install binutils development
package if you are a developer or want to help testing aMule
checking for <execinfo.h> and backtrace()... no
checking for a readline compatible library... -lreadline
checking readline.h usability... no
checking readline.h presence... no
checking for readline.h... no
checking readline/readline.h usability... yes
checking readline/readline.h presence... yes
checking for readline/readline.h... yes
checking whether readline supports history... yes
checking history.h usability... no
checking history.h presence... no
checking for history.h... no
checking readline/history.h usability... yes
checking readline/history.h presence... yes
checking for readline/history.h... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... no
checking for docdir... ${datarootdir}/doc/${PACKAGE_TARNAME}
checking for SVNDATE... None required
checking denoising level... 3
checking whether ccache support should be added... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating docs/Makefile
config.status: creating docs/man/Makefile
config.status: creating intl/Makefile
config.status: creating po/Makefile.in
config.status: creating src/Makefile
config.status: creating src/pixmaps/Makefile
config.status: creating src/pixmaps/flags_xpm/Makefile
config.status: creating src/libs/Makefile
config.status: creating src/libs/ec/Makefile
config.status: creating src/libs/ec/cpp/Makefile
config.status: creating src/libs/common/Makefile
config.status: creating src/utils/Makefile
config.status: creating src/utils/aLinkCreator/Makefile
config.status: creating src/utils/aLinkCreator/docs/Makefile
config.status: creating src/utils/aLinkCreator/src/Makefile
config.status: creating src/utils/cas/Makefile
config.status: creating src/utils/cas/docs/Makefile
config.status: creating src/utils/fileview/Makefile
config.status: creating src/utils/plasmamule/Makefile
config.status: creating src/utils/wxCas/Makefile
config.status: creating src/utils/wxCas/docs/Makefile
config.status: creating src/utils/wxCas/src/Makefile
config.status: creating src/utils/xas/Makefile
config.status: creating src/utils/xas/autostart-xas
config.status: creating src/utils/xas/docs/Makefile
config.status: creating src/skins/Makefile
config.status: creating src/webserver/Makefile
config.status: creating src/webserver/src/Makefile
config.status: creating src/webserver/default/Makefile
config.status: creating unittests/Makefile
config.status: creating unittests/muleunit/Makefile
config.status: creating unittests/tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing denoiser commands

Configure script has finished system check.

Configured aMule 2.3.2 for 'x86_64-pc-linux-gnu'.

aMule enabled options:

**** aMule Core ****
Prefix where aMule should be installed? /usr/local
Should aMule be compiled with i18n support? yes
Should aMule be compiled in debug mode? yes
Should aMule be compiled with profiling? no
Should aMule be compiled with optimizations? yes
Should aMule be compiled with UPnP support? yes
Should aMule be compiled with IP2country support? yes
Should aMule monolithic application be built? yes
Should aMule daemon version be built? yes
Should aMule remote gui be built? no

**** aMule TextClient ****
Should aMule Command Line Client be built? yes

**** aMule WebServer ****
Should aMule WebServer be built? no

**** aMule ED2K Links Handler ****
Should aMule ED2K Links Handler be built? yes

**** aMuleLinkCreator ****
Should aMuleLinkCreator GUI version (alc) be built? yes
Should aMuleLinkCreator for console (alcc) be built? yes

**** aMule Statistics ****
Should C aMule Statistics (CAS) be built? yes
Should aMule GUI Statistics (wxCas) be built? yes
Should xas XChat2 plugin be installed? no
Should plasmaMule plasma-applet be built? no

**** General Libraries and Tools ****
Should ccache support be enabled? no
Libraries aMule will use to build:
wxWidgets 3.0.3 (gtk2,shared)
boost 1.62
crypto++ 5.6.4 (in /usr)
libupnp 1.6.22
libintl system
libGeoIP system
libgd 2.2.5
zlib 1.2.11

*** Warnings during configuration ***

  • bfd.h not found or unusable, please install binutils development package if
    you are a developer or want to help testing aMule
    请问如何解决这个问题.

make失败

OS: Raspbian jessie
ld -v: GNU ld (GNU Binutils for Raspbian) 2.27.90.20170124
gcc -v: 6.3.0

./configure --enable-optimize --with-denoise-level=3 --enable-upnp --enable-geoip --enable-nls --enable-amule-daemon --disable-webserver --disable-alc --disable-alcc --enable-cas --enable-amule-gui --with-boost --enable-mmap --enable-amulecmd

..前略..
Linking amule
amule-ClientCreditsList.o: In function `CryptoPP::Unflushable<CryptoPP::Filter>::Flush(bool, int, bool)':
/usr/include/cryptopp/simple.h:61: undefined reference to `CryptoPP::DEFAULT_CHANNEL[abi:cxx11]'
amule-ClientCreditsList.o: In function `CryptoPP::SourceTemplate<CryptoPP::StringStore>::Pump2(unsigned long long&, bool)':
/usr/include/cryptopp/filters.h:763: undefined reference to `CryptoPP::StringStore::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/usr/include/cryptopp/filters.h:763: undefined reference to `CryptoPP::DEFAULT_CHANNEL[abi:cxx11]'
amule-ClientCreditsList.o: In function `CryptoPP::SourceTemplate<CryptoPP::FileStore>::Pump2(unsigned long long&, bool)':
/usr/include/cryptopp/filters.h:763: undefined reference to `CryptoPP::FileStore::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/usr/include/cryptopp/filters.h:763: undefined reference to `CryptoPP::DEFAULT_CHANNEL[abi:cxx11]'
amule-ClientCreditsList.o: In function `CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpAll2(bool)':
/usr/include/cryptopp/filters.h:767: undefined reference to `CryptoPP::BufferedTransformation::TransferAllTo2(CryptoPP::BufferedTransformation&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/usr/include/cryptopp/filters.h:767: undefined reference to `CryptoPP::DEFAULT_CHANNEL[abi:cxx11]'
amule-ClientCreditsList.o: In function `CryptoPP::SourceTemplate<CryptoPP::StringStore>::PumpAll2(bool)':
/usr/include/cryptopp/filters.h:767: undefined reference to `CryptoPP::BufferedTransformation::TransferAllTo2(CryptoPP::BufferedTransformation&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/usr/include/cryptopp/filters.h:767: undefined reference to `CryptoPP::DEFAULT_CHANNEL[abi:cxx11]'
amule-ClientCreditsList.o: In function `CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpMessages2(unsigned int&, bool)':
/usr/include/cryptopp/filters.h:765: undefined reference to `CryptoPP::BufferedTransformation::TransferMessagesTo2(CryptoPP::BufferedTransformation&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/usr/include/cryptopp/filters.h:765: undefined reference to `CryptoPP::DEFAULT_CHANNEL[abi:cxx11]'
amule-ClientCreditsList.o: In function `CryptoPP::SourceTemplate<CryptoPP::StringStore>::PumpMessages2(unsigned int&, bool)':
/usr/include/cryptopp/filters.h:765: undefined reference to `CryptoPP::BufferedTransformation::TransferMessagesTo2(CryptoPP::BufferedTransformation&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/usr/include/cryptopp/filters.h:765: undefined reference to `CryptoPP::DEFAULT_CHANNEL[abi:cxx11]'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE[_ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE[_ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE[_ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE[_ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE[_ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE[_ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE[_ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE[_ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP4SinkE[_ZTVN8CryptoPP4SinkE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP4SinkE[_ZTVN8CryptoPP4SinkE]+0x9c): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP4SinkE[_ZTVN8CryptoPP4SinkE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP4SinkE[_ZTVN8CryptoPP4SinkE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP4SinkE[_ZTVN8CryptoPP4SinkE]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP4SinkE[_ZTVN8CryptoPP4SinkE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[_ZTVN8CryptoPP10BufferlessINS_4SinkEEE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[_ZTVN8CryptoPP10BufferlessINS_4SinkEEE]+0x9c): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[_ZTVN8CryptoPP10BufferlessINS_4SinkEEE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[_ZTVN8CryptoPP10BufferlessINS_4SinkEEE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[_ZTVN8CryptoPP10BufferlessINS_4SinkEEE]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[_ZTVN8CryptoPP10BufferlessINS_4SinkEEE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x90): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x94): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0x9c): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE[_ZTVN8CryptoPP10BufferlessINS_6FilterEEE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x90): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x94): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0x9c): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE[_ZTVN8CryptoPP11UnflushableINS_6FilterEEE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x90): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x94): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0x9c): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[_ZTVN8CryptoPP17SimpleProxyFilterE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE[_ZTVN8CryptoPP14InputRejectingINS_6FilterEEE]+0x90): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE[_ZTVN8CryptoPP14InputRejectingINS_6FilterEEE]+0x94): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE[_ZTVN8CryptoPP14InputRejectingINS_6FilterEEE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE[_ZTVN8CryptoPP14InputRejectingINS_6FilterEEE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE[_ZTVN8CryptoPP14InputRejectingINS_6FilterEEE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE[_ZTVN8CryptoPP14InputRejectingINS_6FilterEEE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE]+0x90): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE]+0x94): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_11StringStoreEEE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP12StringSourceE[_ZTVN8CryptoPP12StringSourceE]+0x90): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP12StringSourceE[_ZTVN8CryptoPP12StringSourceE]+0x94): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP12StringSourceE[_ZTVN8CryptoPP12StringSourceE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP12StringSourceE[_ZTVN8CryptoPP12StringSourceE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP12StringSourceE[_ZTVN8CryptoPP12StringSourceE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP12StringSourceE[_ZTVN8CryptoPP12StringSourceE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13Base64DecoderE[_ZTVN8CryptoPP13Base64DecoderE]+0x90): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13Base64DecoderE[_ZTVN8CryptoPP13Base64DecoderE]+0x94): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13Base64DecoderE[_ZTVN8CryptoPP13Base64DecoderE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13Base64DecoderE[_ZTVN8CryptoPP13Base64DecoderE]+0x9c): undefined reference to `CryptoPP::BufferedTransformation::ChannelPut2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13Base64DecoderE[_ZTVN8CryptoPP13Base64DecoderE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13Base64DecoderE[_ZTVN8CryptoPP13Base64DecoderE]+0xa8): undefined reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP13Base64DecoderE[_ZTVN8CryptoPP13Base64DecoderE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE]+0x90): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE]+0x94): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[_ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10FileSourceE[_ZTVN8CryptoPP10FileSourceE]+0x90): undefined reference to `CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10FileSourceE[_ZTVN8CryptoPP10FileSourceE]+0x94): undefined reference to `CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10FileSourceE[_ZTVN8CryptoPP10FileSourceE]+0x98): undefined reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int&)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10FileSourceE[_ZTVN8CryptoPP10FileSourceE]+0xa0): undefined reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10FileSourceE[_ZTVN8CryptoPP10FileSourceE]+0xa4): undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, int, bool)'
amule-ClientCreditsList.o:(.rodata._ZTVN8CryptoPP10FileSourceE[_ZTVN8CryptoPP10FileSourceE]+0xac): undefined reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
./libmuleappcore.a(libmuleappcore_a-RandomFunctions.o):(.rodata._ZTVN8CryptoPP20AutoSeededRandomPoolE[_ZTVN8CryptoPP20AutoSeededRandomPoolE]+0x34): undefined reference to `CryptoPP::RandomPool::GenerateIntoBufferedTransformation(CryptoPP::BufferedTransformation&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long)'
collect2: error: ld returned 1 exit status
Makefile:1143: recipe for target 'amule' failed
make[3]: *** [amule] Error 1
Makefile:3398: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
Makefile:576: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
Makefile:482: recipe for target 'all' failed
make: *** [all] Error 2

Stack Overflow of wxWindow::DoClientToScreen

Some problematic GUI code is triggering unlimited recursion of callings to wxWindow::DoClientToScreen, eventually blow the stack up with thousands of calls. It seems to be an old issue based on some previous bug reports, but on newer wxGTK, the chance of triggering it is 100%.

0x00007ffff7541b1b in wxWindow::DoClientToScreen(int*, int*) const () from /lib64/libwx_gtk3u_core-3.0.so.0 (1000 more...)
This is known as amule-project/amule#128 in the upstream repo, and has been fixed in amule-project/amule@110a056.

We need to cherry-pick the fix.

assert "m_fd != INVALID_SOCKET" failed in OnReadWaiting(): invalid socket ready for reading?

Symptom

I'm trying to update the ebuild for amule-dlp in microcai/gentoo-zh in order to keep up with the latest version, and migrate to WxWidget 3.0, nevertheless, the results were many crashes.

Steps to Reproduce:

  1. Compile a aMule-DLP with debug symbols and the debug build option.
  2. rm -rf ~/.aMule to clear any configuration
  3. Start this new amule, amule reports the server list is empty and provide an option to update servers list.
  4. Click Update to update servers lists.
  5. aMule triggers an AssertionError before the list downloading is completed.

Backtrace

Assertion failed: /mnt/compile/compile/portage/x11-libs/wxGTK-3.0.2.0-r3/work/wxPython-src-3.0.2.0/src/unix/sockunix.cpp:OnReadWaiting:143: Assertion 'm_fd != INVALID_SOCKET' failed. invalid socket ready for reading?
Backtrace follows:
[3] wxOnAssert(char const*, int, char const*, char const*, char const*) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704ec83a46]
[4] ?? in /usr/lib64/libwx_baseu_net-3.0.so.0[0x7b704f12fa9e]
[5] ?? in /usr/lib64/libwx_gtk2u_core-3.0.so.0[0x7b704f5d3478]
[6] g_main_context_dispatch in /usr/lib64/libglib-2.0.so.0[0x7b704c805b0a]
[7] ?? in /usr/lib64/libglib-2.0.so.0[0x7b704c805eb8]
[8] g_main_loop_run in /usr/lib64/libglib-2.0.so.0[0x7b704c806352]
[9] gtk_main in /usr/lib64/libgtk-x11-2.0.so.0[0x7b704d5e86b7]
[10] wxGUIEventLoop::DoRun() in /usr/lib64/libwx_gtk2u_core-3.0.so.0[0x7b704f5c9f1d]
[11] wxEventLoopBase::Run() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704eccca83]
[12] wxAppConsoleBase::MainLoop() in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704ec89415]
[13] wxEntry(int&, wchar_t**) in /usr/lib64/libwx_baseu-3.0.so.0[0x7b704ed24348]
[14] ?? in amule[0x58695746651]
[15] __libc_start_main in /lib64/libc.so.6[0x7b704dd917cc]
[16] ?? in amule[0x5869575a249]

libantiLeech.so not found

 2016-10-07 16:12:41: ClientCreditsList.cpp(158): Creditfile loaded, 0 clients are known
 2016-10-07 16:12:41: DLP.cpp(116): Checking if there is a antiLeech working...
 2016-10-07 16:12:41: DLP.cpp(126): No working antiLeech exists.
 2016-10-07 16:12:41: DLP.cpp(141): Trying to load antiLeech...
 2016-10-07 16:12:41: Logger.cpp(350): Error: /root/.aMule/libantiLeech.so: cannot open shared object file: No such file or directory
 2016-10-07 16:12:41: Logger.cpp(350): Error: /usr/local/amule/share/amule/libantiLeech.so: cannot open shared object file: No such file or directory
 2016-10-07 16:12:41: Logger.cpp(350): Error: antiLeech.so: cannot open shared object file: No such file or directory
!2016-10-07 16:12:41: DLP.cpp(145): No antiLeech available!

Hi, help wanted, many thanks.
I've installed the amule-dlp on VPS by following the steps in Wiki strictly, the path /usr/local/amule was specified as the installation directory. Then I copied the files under the installation directory to my NAS, and I succeeded to run amuled, but unfortunately I found there are some errors in the logfile, it seems the libantiLeech.so does not exist on my NAS, which means the DLP plugin is not working.
Those errors made me quite confused, did I do something wrong while installing the amule-dlp? Or, did I miss something while copying the files to my NAS(maybe there is a file called "libantiLeech.so" somewhere outside of the installation directory)? I noticed you have another repository called amule-dlp.antiLeech, does it have relation to this issue?
你好,我在我的VPS上安装了amule-dlp,指定了 /usr/local/amule 为安装目录,然后我把其下文件复制到了我的NAS上并成功运行amuled,但是我在logfile中发现了一些错误,似乎程序缺少了libantiLeech.so文件,也就意味着DLP插件无法生效。
是不是我安装过程中做错了什么?还是我复制时遗漏了一些文件(可能编译安装过程会在安装目录外的某个地方生成一个"libantiLeech.so"文件)?我注意到你还有一个amule-dlp.antiLeech仓库,它是否跟这个问题有关(是否还需要另外编译安装amule-dlp.antiLeech)?

build error

system:alpine-edge
libs:CRYPTOPP_8_2_0,wxWidgets-3.0.5

./configure --disable-amule-gui --disable-wxcas --disable-alc --disable-plasmamule --disable-kde-in-home --enable-amule-daemon --enable-amulecmd --enable-webserver --enable-cas --enable-alcc --enable-fileview --enable-mmap --enable-optimize --disable-upnp --with-boost --disable-debug --enable-static

Error out:

IPFilter.cpp: In member function 'int CIPFilterTask::LoadFromFile(const wxString&)':
IPFilter.cpp:304:3: error: 'yyip_Bad' was not declared in this scope
  304 |   yyip_Bad = 0;
      |   ^~~~~~~~
IPFilter.cpp:307:4: error: 'yyip_Line' was not declared in this scope
  307 |    yyip_Line = 1;
      |    ^~~~~~~~~
IPFilter.cpp:308:4: error: 'yyiprestart' was not declared in this scope; did you mean 'yyrestart'?
  308 |    yyiprestart(readFile.fp());
      |    ^~~~~~~~~~~
      |    yyrestart
IPFilter.cpp:316:11: error: 'yyiplex' was not declared in this scope; did you mean 'yylex'?
  316 |    while (yyiplex(IPStart, IPEnd, IPAccessLevel, IPDescription)) {
      |           ^~~~~~~
      |           yylex
In file included from IPFilter.h:29,
                 from IPFilter.cpp:29:
IPFilter.cpp: At global scope:
IPFilter.cpp:88:26: warning: cast between incompatible pointer to member types from 'void (wxEvtHandler::*)(CIPFilterEvent&)' to 'wxEventFunction' {aka 'void (wxEvtHandler::*)(wxEvent&)'} [-Wcast-function-type]
   88 |  (wxObjectEventFunction) (wxEventFunction) \
/usr/local/include/wx-3.0/wx/event.h:91:73: note: in definition of macro 'wxDECLARE_EVENT_TABLE_ENTRY'
   91 |     wxEventTableEntry(type, winid, idLast, wxNewEventTableFunctor(type, fn), obj)
      |                                                                         ^~
IPFilter.cpp:87:2: note: in expansion of macro 'DECLARE_EVENT_TABLE_ENTRY'
   87 |  DECLARE_EVENT_TABLE_ENTRY(MULE_EVT_IPFILTER_LOADED, -1, -1, \
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
IPFilter.cpp:345:2: note: in expansion of macro 'EVT_MULE_IPFILTER_LOADED'
  345 |  EVT_MULE_IPFILTER_LOADED(CIPFilter::OnIPFilterEvent)
      |  ^~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:2766: amule-IPFilter.o] Error 1
make[3]: Leaving directory '/root/amule-dlp/src'
make[2]: *** [Makefile:5250: all-recursive] Error 1
make[2]: Leaving directory '/root/amule-dlp/src'
make[1]: *** [Makefile:632: all-recursive] Error 1
make[1]: Leaving directory '/root/amule-dlp'
make: *** [Makefile:526: all] Error 2

Bug report.

Cannot use UPnP with amuled and amulegui:

Screenshoot of amuled and amulegui

But, when it comes to amule, the UPnP seems available:

Screenshoot of amule

What a amazing problem!

Download of a file stalls after short time, but when I switch "A4AF"-files it continues (and then stalls again); behaviour can be iterated.

I have a strange issue both with amule-dlp and also with amule (official non--dlp variant) that many downloads start off with good download, then suddenly stop.

When I select another file that isn't currently downloading because the uploader was asked by my client for another file (this behaviour called "A4AF"), more precicesly the file I mentioned above that stopped downloading, and then "Swap every A4AF to this [other] file now", then the new file get's downloaded for a short time (a few tens of seconfs or minutes) and then stalls, too.

I repeadedly can play this game to get downloads going, but it needs manual intervention.

Automatically, eventually some download will continue, but it takes very long, and I am not sure if it only continues after the sources are gone for a short time and reappear.

I have no idea what can be the reason for this or how to track this down and if this is some sort of issue/ bug or intended behaviour of ed2k.

Regards!

No amule.xpm

I use command :

./autogen.sh
./configure --prefix=/usr
make

But it seems that no amule.xpm in the source file

make[2]: *** No rule to make target 'amule.xpm', needed by 'all-am'.  Stop.

But, in other's repo there are amule.xpm indeed.

So, is it a mistake or a something truly different?

Compile error with upstream fixed but not yet patched here.

There is a compile error encountered when building this program. I have searched the upstream issues and found a closed issue with the same compiler output. The upstream issue has been closed with the problem fixed. Please patch the corresponding change here.

UPnPBase.cpp: In constructor ‘CUPnPControlPoint::CUPnPControlPoint(short unsigned int)’:
UPnPBase.cpp:831:8: error: ‘UpnpInit’ was not declared in this scope; did you mean ‘UpnpInit2’?
  831 |  ret = UpnpInit(ipAddress, udpPort);
      |        ^~~~~~~~
      |        UpnpInit2
make[3]: *** [Makefile:1920: libmuleappcore_a-UPnPBase.o] Error 1
make[2]: *** [Makefile:3639: all-recursive] Error 1
make[1]: *** [Makefile:583: all-recursive] Error 1
make: *** [Makefile:490: all] Error 2

编译错误

我想在Arch Linux的AUR中提交amule-dlp-git的包。从 https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/amule 弄到了发行版提供的,改了改地址,configure用的是

--prefix=/usr
--mandir=/usr/share/man
--enable-cas
--enable-wxcas
--enable-amule-daemon
--enable-amulecmd
--enable-amule-gui
--enable-alc
--enable-alcc
--enable-webserver
--disable-debug
--enable-optimize
--enable-ccache
--enable-geoip
--enable-upnp
--with-wxversion=2.8

但是编译时出错

Compiling DownloadQueue.cpp
In file included from DownloadQueue.h:30:0,
                 from DownloadQueue.cpp:26:
ObservableQueue.h: In instantiation of 'void CObservableQueue<ValueType>::ObserverAdded(CObservableQueue<ValueType>::ObserverType*) [with ValueType = CPartFile*; CObservableQueue<ValueType>::ObserverType = CObserver<CQueueEvent<CPartFile*> >]':
DownloadQueue.cpp:1537:32:   required from here
ObservableQueue.h:334:55: error: 'NotifyObservers' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  NotifyObservers( EventType( EventType::STARTING ), o );
                                                       ^
ObservableQueue.h:334:55: note: declarations in dependent base 'CObservable<CQueueEvent<CPartFile*> >' are not found by unqualified lookup
ObservableQueue.h:334:55: note: use 'this->NotifyObservers' instead
ObservableQueue.h: In instantiation of 'void CObservableQueue<ValueType>::ObserverRemoved(CObservableQueue<ValueType>::ObserverType*) [with ValueType = CPartFile*; CObservableQueue<ValueType>::ObserverType = CObserver<CQueueEvent<CPartFile*> >]':
DownloadQueue.cpp:1674:1:   required from here
ObservableQueue.h:341:55: error: 'NotifyObservers' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  NotifyObservers( EventType( EventType::STOPPING ), o );
                                                       ^
ObservableQueue.h:341:55: note: declarations in dependent base 'CObservable<CQueueEvent<CPartFile*> >' are not found by unqualified lookup
ObservableQueue.h:341:55: note: use 'this->NotifyObservers' instead
Makefile:1876: recipe for target 'amule-DownloadQueue.o' failed
make[3]: *** [amule-DownloadQueue.o] Error 1
make[3]: *** Waiting for unfinished jobs....
Makefile:3388: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
Makefile:567: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
Makefile:471: recipe for target 'all' failed
make: *** [all] Error 2

想问问该怎么解决,谢谢!

Failure while make process.

Configure options: ./configure --prefix=/usr/local/bin --enable-optimize --enable-amule-daemon --enable-webserver --enable-geoip --disable-debug
System is Debian 10, wxWidgets 2.8.12 packages are installed.

Path.cpp:233:22: error: ‘class wxCharBuffer’ has no member named ‘length’
  if (fn.data() && fn.length()) {
                      ^~~~~~
make[4]: *** [Makefile:547: Path.o] Error 1
make[4]: Leaving directory '/home/pi/devel/amule-dlp/src/libs/common'
make[3]: *** [Makefile:472: all-recursive] Error 1
make[3]: Leaving directory '/home/pi/devel/amule-dlp/src/libs'
make[2]: *** [Makefile:5250: all-recursive] Error 1
make[2]: Leaving directory '/home/pi/devel/amule-dlp/src'
make[1]: *** [Makefile:632: all-recursive] Error 1
make[1]: Leaving directory '/home/pi/devel/amule-dlp'
make: *** [Makefile:526: all] Error 2

This thread looks like related with this issue : http://forum.amule.org/index.php?topic=21514.0

How can I use the DLP plugin in my amule which has already been installed ?

According to the Wiki information, it's required to install the amule while compiling the DLP plugin, therefore I consider this program as an amule with a buit-in DLP plugin. However I already have an amule program installed in my NAS(Debian mod), so my question is whether it is possible to compile and install the DLP plugin separately, or could I embed DLP plugin into the amule program I have installed after installing amule-dlp as the Wiki says?

从Wiki说明上来看安装这个DLP插件必需同时安装amule,也就是说这是一个整合DLP插件版的amule,而我的NAS(Debian修改版)上已经安装了amule,那么是否有可能单独编译安装DLP插件,或编译安装后嵌入到已有的amule中去呢(比如用安装说明中的方法编译安装好这个DLP版amule,然后把其中某几个文件复制到原先已有的amule中,从而使原有amule支持DLP)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.