Page 1 of 1

[SOLVED] Compilation on Slackware 12

Posted: Mon Nov 26, 2007 8:33 am
by donwanna
Okay, I'm pretty sure that I have all the deps and this doesn't look like a dependency error to me.

First, running make with an unmodified setup.py gives me this:
bert@Jasoom:~/Programs/deluge-0.5.6.96$ make
python setup.py build
Attempting to detect your system information
32bit x86 system detected
Linux operating system detected
Traceback (most recent call last):
File "setup.py", line 143, in <module>
librariestype = [boost_filesystem, boost_date_time,
NameError: name 'boost_filesystem' is not defined
make: *** [all] Error 1
bert@Jasoom:~/Programs/deluge-0.5.6.96$

That can be worked around by adding quotation marks to the "librariestype" entries but that just gets me to this point:
...libtorrent/src/natpmp.cpp:135: error: 'm_callback' was not declared in this scope
libtorrent/src/natpmp.cpp: In member function 'void libtorrent::natpmp::update_mapping(int, int)':
libtorrent/src/natpmp.cpp:163: error: 'self' was not declared in this scope
libtorrent/src/natpmp.cpp:163: error: '_1' was not declared in this scope
libtorrent/src/natpmp.cpp:163: error: '_2' was not declared in this scope
libtorrent/src/natpmp.cpp: In member function 'void libtorrent::natpmp::send_map_request(int)':
libtorrent/src/natpmp.cpp:177: error: 'write_uint8' was not declared in this scope
libtorrent/src/natpmp.cpp:179: error: 'write_uint16' was not declared in this scope
libtorrent/src/natpmp.cpp:183: error: 'write_uint32' was not declared in this scope
libtorrent/src/natpmp.cpp:195: error: no match for call to '(libtorrent::time_duration) (int)'
libtorrent/src/natpmp.cpp:196: error: 'self' was not declared in this scope
libtorrent/src/natpmp.cpp:196: error: '_1' was not declared in this scope
libtorrent/src/natpmp.cpp: In member function 'void libtorrent::natpmp::resend_request(int, const asio::error_code&)':
libtorrent/src/natpmp.cpp:211: error: no match for call to '(libtorrent::time_duration) (int)'
libtorrent/src/natpmp.cpp: In member function 'void libtorrent::natpmp::on_reply(const asio::error_code&, size_t)':
libtorrent/src/natpmp.cpp:229: error: 'self' was not declared in this scope
libtorrent/src/natpmp.cpp:229: error: '_1' was not declared in this scope
libtorrent/src/natpmp.cpp:229: error: '_2' was not declared in this scope
libtorrent/src/natpmp.cpp:240: error: 'read_uint8' was not declared in this scope
libtorrent/src/natpmp.cpp:242: error: 'read_uint16' was not declared in this scope
libtorrent/src/natpmp.cpp:243: error: 'read_uint32' was not declared in this scope
libtorrent/src/natpmp.cpp:286: error: no match for call to '(libtorrent::time_duration) (int)'
libtorrent/src/natpmp.cpp:295: error: aggregate 'std::stringstream errmsg' has incomplete type and cannot be defined
libtorrent/src/natpmp.cpp:315: error: 'm_callback' was not declared in this scope
libtorrent/src/natpmp.cpp:321: error: no match for call to '(libtorrent::time_duration) (int)'
libtorrent/src/natpmp.cpp:322: error: 'm_callback' was not declared in this scope
libtorrent/src/natpmp.cpp: In member function 'void libtorrent::natpmp::update_expiration_timer()':
libtorrent/src/natpmp.cpp:335: error: no match for call to '(libtorrent::time_duration) (int)'
libtorrent/src/natpmp.cpp:348: error: 'self' was not declared in this scope
libtorrent/src/natpmp.cpp:348: error: '_1' was not declared in this scope
libtorrent/src/natpmp.cpp: In member function 'void libtorrent::natpmp::refresh_mapping(int)':
libtorrent/src/natpmp.cpp:371: error: 'self' was not declared in this scope
libtorrent/src/natpmp.cpp:371: error: '_1' was not declared in this scope
libtorrent/src/natpmp.cpp:371: error: '_2' was not declared in this scope
./libtorrent/include/libtorrent/asio/ip/basic_endpoint.hpp: In member function 'asio::ip::address asio::ip::basic_endpoint<InternetProtocol>::address() const [with InternetProtocol = asio::ip::tcp]':
./libtorrent/include/libtorrent/socket.hpp:103: instantiated from here
./libtorrent/include/libtorrent/asio/ip/basic_endpoint.hpp:254: error: call of overloaded 'address_v4(asio::detail::u_long_type)' is ambiguous
./libtorrent/include/libtorrent/asio/ip/address_v4.hpp:63: note: candidates are: asio::ip::address_v4::address_v4(long unsigned int)
./libtorrent/include/libtorrent/asio/ip/address_v4.hpp:56: note: asio::ip::address_v4::address_v4(int)
./libtorrent/include/libtorrent/asio/ip/basic_endpoint.hpp: In member function 'asio::ip::address asio::ip::basic_endpoint<InternetProtocol>::address() const [with InternetProtocol = asio::ip::udp]':
./libtorrent/include/libtorrent/asio/ip/basic_endpoint.hpp:278: instantiated from 'bool asio::ip::operator==(const asio::ip::basic_endpoint<asio::ip::udp>&, const asio::ip::basic_endpoint<asio::ip::udp>&)'
libtorrent/src/natpmp.cpp:110: instantiated from here
./libtorrent/include/libtorrent/asio/ip/basic_endpoint.hpp:254: error: call of overloaded 'address_v4(asio::detail::u_long_type)' is ambiguous
./libtorrent/include/libtorrent/asio/ip/address_v4.hpp:63: note: candidates are: asio::ip::address_v4::address_v4(long unsigned int)
./libtorrent/include/libtorrent/asio/ip/address_v4.hpp:56: note: asio::ip::address_v4::address_v4(int)
error: command 'gcc' failed with exit status 1
make: *** [all] Error 1
bert@Jasoom:~/Programs/deluge-0.5.6.96$

And I am completely mystified now, wondering how anyone can get this to compile. Please help, I'm running an 0.5.5 package I downloaded from slacky.eu and I would love the latest version.

Thanks

Re: Compilation on Slackware 12 (why do you hate slackware?)

Posted: Tue Nov 27, 2007 8:32 pm
by yobbobandana
I was going to tell you how to fix this but it looks like it's just been fixed in SVN! Try the SVN version, or replace your setup.py with:
http://deluge-torrent.org/svn/trunk/setup.py

EDIT: that said, are you sure you have the boost-filesystem development package installed? It's called libboost-filesystem-dev in Debian/ubuntu, I have no idea about Slackware.

Re: Compilation on Slackware 12 (why do you hate slackware?)

Posted: Wed Jan 09, 2008 8:51 am
by donwanna
Finally found the problem: boost (1.34.1) was creating /usr/include/boost-1_34_1 dir without a /usr/include/boost symlink; and further adding to the confusion, boost put all its files in /usr/include/boost-1_34_1/boost. Had to run python setup.py build and quickly hit Control-C to see the error because my buffer didn't run back far enough.

Anyway, for anyone else seeing "boost not declared," the fix might be to run sudo ln -s /usr/include/boost-1_34_1/boost/ /usr/include/boost

Runs fine now.