steeve / libtorrent-go

SWIG Go bindings for libtorrent-rasterbar
BSD 3-Clause "New" or "Revised" License
103 stars 56 forks source link

`Undefined symbols for architecture x86_64` error on OSX #5

Open mveytsman opened 9 years ago

mveytsman commented 9 years ago

I am on OSX 10.9. I compiled libtorrent-go using the docker images by running make alldist (btw it's really great of you to provide these!!)

I installed swig, boost, and libtorrent as follows: brew install --from-source swig brew install --build-bottle -v libtorrent-rasterbar --build-from-source brew install --build-bottle -v boost --build-from-source

My test program is this:

package main

import "github.com/steeve/libtorrent-go"

func main() {
    session := libtorrent.NewSession()
    _ = sessiong
}

Here's the error I get:

$ go run main.go
# command-line-arguments
Undefined symbols for architecture x86_64:
  "libtorrent::lazy_entry::dict_find(std::string const&)", referenced from:
      __wrap_lazy_entry_dict_find__SWIG_2 in 000001.o
      __wrap_lazy_entry_dict_find__SWIG_3 in 000001.o
  "libtorrent::parent_path(std::string const&)", referenced from:
      libtorrent::add_files(libtorrent::file_storage&, std::string const&, unsigned int) in 000001.o
  "libtorrent::file_storage::rename_file(int, std::string const&)", referenced from:
      __wrap_file_storage_rename_file in 000001.o
      __wrap_torrent_info_rename_file in 000001.o
  "libtorrent::file_storage::add_file(std::string const&, long long, int, long, std::string const&)", referenced from:
      __wrap_file_storage_add_file__SWIG_2 in 000001.o
      __wrap_file_storage_add_file__SWIG_3 in 000001.o
      __wrap_file_storage_add_file__SWIG_4 in 000001.o
      __wrap_file_storage_add_file__SWIG_5 in 000001.o
  "libtorrent::torrent_info::add_tracker(std::string const&, int)", referenced from:
      __wrap_torrent_info_add_tracker__SWIG_0 in 000001.o
      __wrap_torrent_info_add_tracker__SWIG_1 in 000001.o
  "libtorrent::torrent_info::add_url_seed(std::string const&, std::string const&, std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > > const&)", referenced from:
      __wrap_torrent_info_add_url_seed__SWIG_0 in 000001.o
      __wrap_torrent_info_add_url_seed__SWIG_1 in 000001.o
      __wrap_torrent_info_add_url_seed__SWIG_2 in 000001.o
  "libtorrent::torrent_info::add_http_seed(std::string const&, std::string const&, std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > > const&)", referenced from:
      __wrap_torrent_info_add_http_seed__SWIG_0 in 000001.o
      __wrap_torrent_info_add_http_seed__SWIG_1 in 000001.o
      __wrap_torrent_info_add_http_seed__SWIG_2 in 000001.o
  "libtorrent::torrent_info::add_merkle_nodes(std::map<int, libtorrent::sha1_hash, std::less<int>, std::allocator<std::pair<int const, libtorrent::sha1_hash> > > const&, int)", referenced from:
      __wrap_torrent_info_add_merkle_nodes in 000001.o
  "libtorrent::torrent_info::torrent_info(std::string const&, boost::system::error_code&, int)", referenced from:
      __wrap_new_torrent_info__SWIG_14 in 000001.o
      __wrap_new_torrent_info__SWIG_15 in 000001.o
  "libtorrent::torrent_info::torrent_info(std::string const&, int)", referenced from:
      __wrap_new_torrent_info__SWIG_4 in 000001.o
      __wrap_new_torrent_info__SWIG_5 in 000001.o
  "libtorrent::announce_entry::announce_entry(std::string const&)", referenced from:
      __wrap_new_announce_entry__SWIG_0 in 000001.o
  "libtorrent::create_torrent::add_tracker(std::string const&, int)", referenced from:
      __wrap_create_torrent_add_tracker__SWIG_0 in 000001.o
      __wrap_create_torrent_add_tracker__SWIG_1 in 000001.o
  "libtorrent::create_torrent::add_url_seed(std::string const&)", referenced from:
      __wrap_create_torrent_add_url_seed in 000001.o
  "libtorrent::create_torrent::add_http_seed(std::string const&)", referenced from:
      __wrap_create_torrent_add_http_seed in 000001.o
  "libtorrent::create_torrent::set_root_cert(std::string const&)", referenced from:
      __wrap_create_torrent_set_root_cert in 000001.o
  "libtorrent::create_torrent::add_node(std::pair<std::string, int> const&)", referenced from:
      __wrap_create_torrent_add_node in 000001.o
  "libtorrent::torrent_handle::set_ssl_certificate(std::string const&, std::string const&, std::string const&, std::string const&)", referenced from:
      __wrap_torrent_handle_set_ssl_certificate__SWIG_0 in 000001.o
      __wrap_torrent_handle_set_ssl_certificate__SWIG_1 in 000001.o
  "libtorrent::torrent_handle::set_ssl_certificate_buffer(std::string const&, std::string const&, std::string const&)", referenced from:
      __wrap_torrent_handle_set_ssl_certificate_buffer in 000001.o
  "libtorrent::time_now_string()", referenced from:
      __wrap_time_now_string in 000001.o
  "libtorrent::merkle_num_leafs(int)", referenced from:
      __wrap_merkle_num_leafs in 000001.o
  "libtorrent::merkle_num_nodes(int)", referenced from:
      __wrap_merkle_num_nodes in 000001.o
  "libtorrent::session_settings::session_settings(std::string const&)", referenced from:
      __wrap_new_session_settings__SWIG_0 in 000001.o
      __wrap_new_session_settings__SWIG_1 in 000001.o
      __wrap_min_memory_usage in 000001.o
      __wrap_high_performance_seed in 000001.o
      __wrap_session_settings in 000001.o
  "libtorrent::set_piece_hashes(libtorrent::create_torrent&, std::string const&, boost::function<void (int)>, boost::system::error_code&)", referenced from:
      __wrap_set_piece_hashes__SWIG_0 in 000001.o
      __wrap_set_piece_hashes__SWIG_1 in 000001.o
      libtorrent::set_piece_hashes(libtorrent::create_torrent&, std::string const&) in 000001.o
  "libtorrent::merkle_get_parent(int)", referenced from:
      __wrap_merkle_get_parent in 000001.o
  "libtorrent::trim_path_element(std::string&)", referenced from:
      __wrap_trim_path_element in 000001.o
  "libtorrent::merkle_get_sibling(int)", referenced from:
      __wrap_merkle_get_sibling in 000001.o
  "libtorrent::absolutetime_nodeprecate_()", referenced from:
      libtorrent::session::session(libtorrent::fingerprint const&, std::pair<int, int>, char const*, int, int) in 000001.o
      libtorrent::session::session(libtorrent::fingerprint const&, int, unsigned int) in 000001.o
  "libtorrent::default_storage_constructor(libtorrent::file_storage const&, libtorrent::file_storage const*, std::string const&, libtorrent::file_pool&, std::vector<unsigned char, std::allocator<unsigned char> > const&)", referenced from:
      __wrap_default_storage_constructor in 000001.o
      __wrap_new_add_torrent_params__SWIG_1 in 000001.o
  "libtorrent::disabled_storage_constructor(libtorrent::file_storage const&, libtorrent::file_storage const*, std::string const&, libtorrent::file_pool&, std::vector<unsigned char, std::allocator<unsigned char> > const&)", referenced from:
      __wrap_disabled_storage_constructor in 000001.o
  "libtorrent::dht::sign_mutable_item(std::pair<char const*, int>, std::pair<char const*, int>, unsigned long long, char const*, char const*, char*)", referenced from:
      libtorrent::put_item(libtorrent::entry&, boost::array<char, 64ul>&, unsigned long long&, std::string const&, char const*, char const*, libtorrent::entry&) in 000001.o
  "libtorrent::entry::find_key(std::string const&)", referenced from:
      __wrap_entry_find_key__SWIG_2 in 000001.o
  "libtorrent::entry::entry(std::string const&)", referenced from:
      __wrap_new_entry__SWIG_1 in 000001.o
  "libtorrent::entry::entry(std::map<std::string, libtorrent::entry, std::less<std::string>, std::allocator<std::pair<std::string const, libtorrent::entry> > > const&)", referenced from:
      __wrap_new_entry__SWIG_0 in 000001.o
  "libtorrent::entry::entry(std::list<libtorrent::entry, std::allocator<libtorrent::entry> > const&)", referenced from:
      __wrap_new_entry__SWIG_2 in 000001.o
  "libtorrent::detail::add_files_impl(libtorrent::file_storage&, std::string const&, std::string const&, boost::function<bool (std::string)>, unsigned int)", referenced from:
      __wrap_add_files_impl in 000001.o
      libtorrent::add_files(libtorrent::file_storage&, std::string const&, unsigned int) in 000001.o
  "libtorrent::detail::get_symlink_path(std::string const&)", referenced from:
      __wrap_get_symlink_path in 000001.o
  "libtorrent::detail::get_file_attributes(std::string const&)", referenced from:
      __wrap_get_file_attributes in 000001.o
  "libtorrent::session::pop_alerts(std::deque<libtorrent::alert*, std::allocator<libtorrent::alert*> >*)", referenced from:
      __wrap_session_pop_alerts in 000001.o
  "libtorrent::session::add_dht_node(std::pair<std::string, int> const&)", referenced from:
      __wrap_session_add_dht_node in 000001.o
  "libtorrent::session::dht_get_item(boost::array<char, 32ul>, std::string)", referenced from:
      __wrap_session_dht_get_item__SWIG_1 in 000001.o
      __wrap_session_dht_get_item__SWIG_2 in 000001.o
  "libtorrent::session::add_dht_router(std::pair<std::string, int> const&)", referenced from:
      __wrap_session_add_dht_router in 000001.o
  "libtorrent::session::set_alert_dispatch(boost::function<void (std::auto_ptr<libtorrent::alert>)> const&)", referenced from:
      __wrap_session_set_alert_dispatch in 000001.o
  "libtorrent::session::init(std::pair<int, int>, char const*, libtorrent::fingerprint const&, unsigned int)", referenced from:
      libtorrent::session::session(libtorrent::fingerprint const&, std::pair<int, int>, char const*, int, int) in 000001.o
      libtorrent::session::session(libtorrent::fingerprint const&, int, unsigned int) in 000001.o
  "libtorrent::session::listen_on(std::pair<int, int> const&, boost::system::error_code&, char const*, int)", referenced from:
      __wrap_session_listen_on__SWIG_0 in 000001.o
      __wrap_session_listen_on__SWIG_1 in 000001.o
      __wrap_session_listen_on__SWIG_2 in 000001.o
  "libtorrent::complete(std::string const&)", referenced from:
      libtorrent::add_files(libtorrent::file_storage&, std::string const&, unsigned int) in 000001.o
  "libtorrent::filename(std::string const&)", referenced from:
      libtorrent::add_files(libtorrent::file_storage&, std::string const&, unsigned int) in 000001.o
  "libtorrent::log_time()", referenced from:
      __wrap_log_time in 000001.o
  "libtorrent::parse_int(char const*, char const*, char, long long&, libtorrent::bdecode_errors::error_code_enum&)", referenced from:
      __wrap_parse_int in 000001.o
  "libtorrent::lazy_entry::dict_find_dict(std::string const&) const", referenced from:
      __wrap_lazy_entry_dict_find_dict__SWIG_1 in 000001.o
  "libtorrent::file_storage::file_path(int, std::string const&) const", referenced from:
      __wrap_file_storage_file_path__SWIG_0 in 000001.o
      __wrap_file_storage_file_path__SWIG_1 in 000001.o
  "libtorrent::torrent_handle::rename_file(int, std::string const&) const", referenced from:
      __wrap_torrent_handle_rename_file in 000001.o
  "libtorrent::torrent_handle::add_url_seed(std::string const&) const", referenced from:
      __wrap_torrent_handle_add_url_seed in 000001.o
  "libtorrent::torrent_handle::move_storage(std::string const&, int) const", referenced from:
      __wrap_torrent_handle_move_storage__SWIG_0 in 000001.o
      __wrap_torrent_handle_move_storage__SWIG_1 in 000001.o
  "libtorrent::torrent_handle::add_http_seed(std::string const&) const", referenced from:
      __wrap_torrent_handle_add_http_seed in 000001.o
  "libtorrent::torrent_handle::file_progress(std::vector<long long, std::allocator<long long> >&, int) const", referenced from:
      __wrap_torrent_handle_file_progress__SWIG_0 in 000001.o
      __wrap_torrent_handle_file_progress__SWIG_1 in 000001.o
  "libtorrent::torrent_handle::get_peer_info(std::vector<libtorrent::peer_info, std::allocator<libtorrent::peer_info> >&) const", referenced from:
      __wrap_torrent_handle_get_peer_info in 000001.o
  "libtorrent::torrent_handle::remove_url_seed(std::string const&) const", referenced from:
      __wrap_torrent_handle_remove_url_seed in 000001.o
  "libtorrent::torrent_handle::prioritize_files(std::vector<int, std::allocator<int> > const&) const", referenced from:
      __wrap_torrent_handle_prioritize_files in 000001.o
  "libtorrent::torrent_handle::remove_http_seed(std::string const&) const", referenced from:
      __wrap_torrent_handle_remove_http_seed in 000001.o
  "libtorrent::torrent_handle::replace_trackers(std::vector<libtorrent::announce_entry, std::allocator<libtorrent::announce_entry> > const&) const", referenced from:
      __wrap_torrent_handle_replace_trackers in 000001.o
  "libtorrent::torrent_handle::prioritize_pieces(std::vector<int, std::allocator<int> > const&) const", referenced from:
      __wrap_torrent_handle_prioritize_pieces in 000001.o
  "libtorrent::torrent_handle::set_tracker_login(std::string const&, std::string const&) const", referenced from:
      __wrap_torrent_handle_set_tracker_login in 000001.o
  "libtorrent::torrent_handle::get_download_queue(std::vector<libtorrent::partial_piece_info, std::allocator<libtorrent::partial_piece_info> >&) const", referenced from:
      __wrap_torrent_handle_get_download_queue in 000001.o
  "libtorrent::torrent_handle::get_full_peer_list(std::vector<libtorrent::peer_list_entry, std::allocator<libtorrent::peer_list_entry> >&) const", referenced from:
      __wrap_torrent_handle_get_full_peer_list in 000001.o
  "libtorrent::torrent_handle::piece_availability(std::vector<int, std::allocator<int> >&) const", referenced from:
      __wrap_torrent_handle_piece_availability in 000001.o
  "libtorrent::entry::find_key(std::string const&) const", referenced from:
      __wrap_entry_find_key__SWIG_3 in 000001.o
  "libtorrent::session::get_cache_info(libtorrent::sha1_hash const&, std::vector<libtorrent::cached_piece_info, std::allocator<libtorrent::cached_piece_info> >&) const", referenced from:
      __wrap_session_get_cache_info in 000001.o
  "libtorrent::session::get_torrent_status(std::vector<libtorrent::torrent_status, std::allocator<libtorrent::torrent_status> >*, boost::function<bool (libtorrent::torrent_status const&)> const&, unsigned int) const", referenced from:
      __wrap_session_get_torrent_status__SWIG_0 in 000001.o
      __wrap_session_get_torrent_status__SWIG_1 in 000001.o
  "libtorrent::session::refresh_torrent_status(std::vector<libtorrent::torrent_status, std::allocator<libtorrent::torrent_status> >*, unsigned int) const", referenced from:
      __wrap_session_refresh_torrent_status__SWIG_0 in 000001.o
      __wrap_session_refresh_torrent_status__SWIG_1 in 000001.o
  "libtorrent::session::get_feeds(std::vector<libtorrent::feed_handle, std::allocator<libtorrent::feed_handle> >&) const", referenced from:
      __wrap_session_get_feeds in 000001.o
  "std::string::compare(char const*) const", referenced from:
      __wrap_ignore_subdir in 000001.o
  "std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const", referenced from:
      libtorrent::bencode(libtorrent::entry const&) in 000001.o
  "std::string::_Rep::_M_destroy(std::allocator<char> const&)", referenced from:
      libtorrent::bencode(libtorrent::entry const&) in 000001.o
      __wrap_error_category_message in 000001.o
      __wrap_error_condition_message in 000001.o
      __wrap_error_code_message in 000001.o
      __wrap_fingerprint_to_string in 000001.o
      __wrap_new_sha1_hash__SWIG_2 in 000001.o
      __wrap_sha1_hash_assign__SWIG_0 in 000001.o
      ...
  "std::string::_Rep::_S_empty_rep_storage", referenced from:
      libtorrent::bencode(libtorrent::entry const&) in 000001.o
      __wrap_error_category_message in 000001.o
      __wrap_error_condition_message in 000001.o
      __wrap_error_code_message in 000001.o
      __wrap_fingerprint_to_string in 000001.o
      __wrap_new_sha1_hash__SWIG_2 in 000001.o
      __wrap_sha1_hash_assign__SWIG_0 in 000001.o
      ...
  "std::string::swap(std::string&)", referenced from:
      libtorrent::file_storage::swap(libtorrent::file_storage&) in 000001.o
  "std::string::append(char const*, unsigned long)", referenced from:
      libtorrent::fastresume_rejected_alert::message() const in 000001.o
      std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in 000001.o
      libtorrent::udp_error_alert::message() const in 000001.o
      libtorrent::metadata_received_alert::message() const in 000001.o
      libtorrent::metadata_failed_alert::message() const in 000001.o
      libtorrent::file_error_alert::message() const in 000001.o
      libtorrent::url_seed_alert::message() const in 000001.o
      ...
  "std::string::append(std::string const&)", referenced from:
      libtorrent::fastresume_rejected_alert::message() const in 000001.o
      std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in 000001.o
      libtorrent::udp_error_alert::message() const in 000001.o
      libtorrent::file_error_alert::message() const in 000001.o
      libtorrent::url_seed_alert::message() const in 000001.o
      libtorrent::save_resume_data_failed_alert::message() const in 000001.o
      libtorrent::torrent_delete_failed_alert::message() const in 000001.o
      ...
  "std::string::assign(char const*, unsigned long)", referenced from:
      __wrap_lazy_bdecode__SWIG_4 in 000001.o
      __wrap_new_std_pair_string_int__SWIG_1 in 000001.o
      __wrap_new_dht_put_alert__SWIG_1 in 000001.o
      __wrap_session_dht_get_item__SWIG_1 in 000001.o
  "std::string::assign(std::string const&)", referenced from:
      __wrap_error_category_message in 000001.o
      __wrap_error_condition_message in 000001.o
      __wrap_error_code_message in 000001.o
      __wrap_fingerprint_to_string in 000001.o
      __wrap_sha1_hash_to_string in 000001.o
      __wrap_entry_to_string in 000001.o
      __wrap_lazy_entry_string_value in 000001.o
      ...
  "std::string::reserve(unsigned long)", referenced from:
      std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in 000001.o
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from:
      __wrap_file_storage_add_file__SWIG_3 in 000001.o
      __wrap_file_storage_add_file__SWIG_4 in 000001.o
      __wrap_file_storage_add_file__SWIG_5 in 000001.o
      __wrap_file_storage_file_path__SWIG_1 in 000001.o
      __wrap_new_session_settings__SWIG_1 in 000001.o
      __wrap_std_vector_partial_piece_info_get in 000001.o
      __wrap_std_vector_partial_piece_info_set in 000001.o
      ...
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, unsigned long, std::allocator<char> const&)", referenced from:
      __wrap_new_sha1_hash__SWIG_2 in 000001.o
      __wrap_sha1_hash_assign__SWIG_0 in 000001.o
      __wrap_sha1_hash_to_string in 000001.o
      __wrap_new_entry__SWIG_1 in 000001.o
      __wrap_entry_find_key__SWIG_2 in 000001.o
      __wrap_entry_find_key__SWIG_3 in 000001.o
      __wrap_lazy_entry_string_value in 000001.o
      ...
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)", referenced from:
      __wrap_lazy_entry_dict_at in 000001.o
      __wrap_lazy_bdecode__SWIG_4 in 000001.o
      __wrap_file_storage_at in 000001.o
      __wrap_torrent_info_file_at in 000001.o
      __wrap_torrent_info_add_node in 000001.o
      __wrap_std_vector_announce_entry_add in 000001.o
      __wrap_new_std_pair_string_int__SWIG_1 in 000001.o
      ...
  "std::out_of_range::out_of_range(std::string const&)", referenced from:
      __wrap_std_vector_partial_piece_info_get in 000001.o
      __wrap_std_vector_partial_piece_info_set in 000001.o
      __wrap_std_vector_announce_entry_get in 000001.o
      __wrap_std_vector_announce_entry_set in 000001.o
      __wrap_std_vector_int_get in 000001.o
      __wrap_std_vector_int_set in 000001.o
      __wrap_std_vector_torrent_handle_get in 000001.o
      ...
  "std::runtime_error::runtime_error(std::string const&)", referenced from:
      libtorrent::type_error::type_error(char const*) in 000001.o
  "std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)", referenced from:
      libtorrent::bencode(libtorrent::entry const&) in 000001.o
  "std::locale::~locale()", referenced from:
      libtorrent::bencode(libtorrent::entry const&) in 000001.o
  "std::ios_base::Init::Init()", referenced from:
      __GLOBAL__I_a in 000001.o
  "std::ios_base::Init::~Init()", referenced from:
      __GLOBAL__I_a in 000001.o
  "std::ios_base::~ios_base()", referenced from:
      libtorrent::bencode(libtorrent::entry const&) in 000001.o
  "std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)", referenced from:
      int libtorrent::detail::bencode_recursive<std::ostream_iterator<char, char, std::char_traits<char> > >(std::ostream_iterator<char, char, std::char_traits<char> >&, libtorrent::entry const&) in 000001.o
      int libtorrent::detail::write_integer<std::ostream_iterator<char, char, std::char_traits<char> > >(std::ostream_iterator<char, char, std::char_traits<char> >&, long long) in 000001.o
  "std::_Rb_tree_increment(std::_Rb_tree_node_base const*)", referenced from:
      int libtorrent::detail::bencode_recursive<std::back_insert_iterator<std::vector<char, std::allocator<char> > > >(std::back_insert_iterator<std::vector<char, std::allocator<char> > >&, libtorrent::entry const&) in 000001.o
      int libtorrent::detail::bencode_recursive<std::ostream_iterator<char, char, std::char_traits<char> > >(std::ostream_iterator<char, char, std::char_traits<char> >&, libtorrent::entry const&) in 000001.o
  "std::__throw_length_error(char const*)", referenced from:
      __wrap_std_vector_int_reserve in 000001.o
      std::vector<libtorrent::partial_piece_info, std::allocator<libtorrent::partial_piece_info> >::reserve(unsigned long) in 000001.o
      std::vector<libtorrent::announce_entry, std::allocator<libtorrent::announce_entry> >::reserve(unsigned long) in 000001.o
      std::vector<libtorrent::torrent_handle, std::allocator<libtorrent::torrent_handle> >::reserve(unsigned long) in 000001.o
      std::vector<libtorrent::torrent_handle, std::allocator<libtorrent::torrent_handle> >::_M_insert_aux(__gnu_cxx::__normal_iterator<libtorrent::torrent_handle*, std::vector<libtorrent::torrent_handle, std::allocator<libtorrent::torrent_handle> > >, libtorrent::torrent_handle const&) in 000001.o
      std::vector<int, std::allocator<int> >::_M_insert_aux(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&) in 000001.o
      std::vector<libtorrent::announce_entry, std::allocator<libtorrent::announce_entry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<libtorrent::announce_entry*, std::vector<libtorrent::announce_entry, std::allocator<libtorrent::announce_entry> > >, libtorrent::announce_entry const&) in 000001.o
      ...
  "VTT for std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:
      libtorrent::bencode(libtorrent::entry const&) in 000001.o
  "vtable for std::basic_streambuf<char, std::char_traits<char> >", referenced from:
      libtorrent::bencode(libtorrent::entry const&) in 000001.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >", referenced from:
      libtorrent::bencode(libtorrent::entry const&) in 000001.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
/usr/local/Cellar/go/1.4/libexec/pkg/tool/darwin_amd64/6l: running clang failed: unsuccessful exit status 0x100

Any suggestions?

steeve commented 9 years ago

Yes, make sure $GOROOT/pkg/darwin_amd64/libtorrent-go.a is copied on your machine before building

steeve commented 9 years ago

I'm not sure when building using brew and so on, I've had issues in the past, hence docker :)

You can simply pull steeve/libtorrent-go:darwin-x64 and make alldist PLATFORMS=darwin-x64 on it