{"action":"created","issue":{"url":"https://api.github.com/repos/qbittorrent/qBittorrent/issues/2133","labels_url":"https://api.github.com/repos/qbittorrent/qBittorrent/issues/2133/labels{/name}","comments_url":"https://api.github.com/repos/qbittorrent/qBittorrent/issues/2133/comments","events_url":"https://api.github.com/repos/qbittorrent/qBittorrent/issues/2133/events","html_url":"https://github.com/qbittorrent/qBittorrent/issues/2133","id":48009681,"number":2133,"title":"Unable to compile against qt5","user":{"login":"Noctem","id":1787524,"avatar_url":"https://avatars.githubusercontent.com/u/1787524?v=3","gravatar_id":"","url":"https://api.github.com/users/Noctem","html_url":"https://github.com/Noctem","followers_url":"https://api.github.com/users/Noctem/followers","following_url":"https://api.github.com/users/Noctem/following{/other_user}","gists_url":"https://api.github.com/users/Noctem/gists{/gist_id}","starred_url":"https://api.github.com/users/Noctem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Noctem/subscriptions","organizations_url":"https://api.github.com/users/Noctem/orgs","repos_url":"https://api.github.com/users/Noctem/repos","events_url":"https://api.github.com/users/Noctem/events{/privacy}","received_events_url":"https://api.github.com/users/Noctem/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/qbittorrent/qBittorrent/labels/Mac%20OS%20X","name":"Mac OS X","color":"02e10c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":13,"created_at":"2014-11-06T20:23:36Z","updated_at":"2015-01-29T16:37:54Z","closed_at":null,"body":"When I try to compile against Qt5 on OS X 10.10, it fails when it gets to here:\r\n```\r\n/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE -DBOOST_ASIO_DYN_LINK -DWITH_GEOIP_EMBEDDED -DQT_NO_DEBUG_OUTPUT -DVERSION=\\\"v3.1.10\\\" -DVERSION_MAJOR=3 -DVERSION_MINOR=1 -DVERSION_BUGFIX=10 -DQT_NO_CAST_TO_ASCII -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -DBOOST_FILESYSTEM_VERSION=2 -DTORRENT_USE_OPENSSL -DBOOST_ASIO_HASH_MAP_BUCKETS=1021 -DBOOST_EXCEPTION_DISABLE -DBOOST_ASIO_ENABLE_CANCELIO -DTORRENT_LINKING_SHARED -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/local/Cellar/qt5/5.3.2/mkspecs/macx-clang -I. -I/usr/local/Cellar/openssl/1.0.1j/include -I/usr/local/Cellar/qt5/5.3.2/include -I/usr/local/Cellar/zlib/1.2.8/include -I/usr/local/include -I/usr/include -I. -Iqtsingleapp -Iqtlibtorrent -Iwebui -Itracker -Ipreferences -Ilineedit/src -Iproperties -Isearchengine -Irss -Itorrentcreator -Igeoip -Ipowermanagement -I/usr/local/Cellar/libtorrent-rasterbar/1.0.2_1/include -I/usr/local/Cellar/libtorrent-rasterbar/1.0.2_1/include/libtorrent -I/usr/local/Cellar/qt5/5.3.2/lib/QtWidgets.framework/Versions/5/Headers -I/usr/local/Cellar/qt5/5.3.2/lib/QtNetwork.framework/Versions/5/Headers -I/usr/local/Cellar/qt5/5.3.2/lib/QtXml.framework/Versions/5/Headers -I/usr/local/Cellar/qt5/5.3.2/lib/QtGui.framework/Versions/5/Headers -I/usr/local/Cellar/qt5/5.3.2/lib/QtCore.framework/Versions/5/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -F/usr/local/Cellar/qt5/5.3.2/lib -o moc_programupdater.o moc_programupdater.cpp\r\n/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.6 -o qbittorrent.app/Contents/MacOS/qbittorrent qtsingleapplication.o qtlocalpeer.o qbtsession.o qtorrenthandle.o torrentspeedmonitor.o alertdispatcher.o torrentstatistics.o torrentmodel.o shutdownconfirm.o httpserver.o httpconnection.o httprequestparser.o httpresponsegenerator.o btjson.o prefjson.o webapplication.o abstractrequesthandler.o requesthandler.o qtracker.o options_imp.o preferences.o lineedit.o propertieswidget.o peerlistwidget.o trackerlist.o proptabbar.o downloadedpiecesbar.o pieceavailabilitybar.o searchengine.o searchtab.o engineselectdlg.o rss_imp.o rsssettingsdlg.o feedlistwidget.o rssmanager.o rssfeed.o rssfolder.o rssarticle.o automatedrssdownloader.o rssdownloadrule.o rssdownloadrulelist.o cookiesdlg.o rssfile.o rssparser.o torrentcreatordlg.o torrentcreatorthread.o geoipmanager.o powermanagement.o main.o downloadthread.o scannedfoldersmodel.o torrentpersistentdata.o misc.o fs_utils.o smtp.o dnsupdater.o mainwindow.o ico.o transferlistwidget.o transferlistdelegate.o transferlistfilterswidget.o torrentcontentmodel.o torrentcontentmodelitem.o torrentcontentmodelfolder.o torrentcontentmodelfile.o torrentcontentfiltermodel.o sessionapplication.o torrentimportdlg.o executionlog.o previewselect.o iconprovider.o updownratiodlg.o loglistwidget.o addnewtorrentdialog.o autoexpandabledialog.o statsdialog.o messageboxraised.o statussortfilterproxymodel.o qmacapplication.o programupdater.o qrc_icons.o qrc_lang.o qrc_about.o qrc_webui.o qrc_lineeditimages.o qrc_search.o qrc_geoip.o moc_qtsingleapplication.o moc_qtlocalpeer.o moc_qbtsession.o moc_bandwidthscheduler.o moc_torrentspeedmonitor.o moc_filterparserthread.o moc_alertdispatcher.o moc_torrentstatistics.o moc_torrentmodel.o moc_shutdownconfirm.o moc_httpserver.o moc_httpconnection.o moc_webapplication.o moc_qtracker.o moc_options_imp.o moc_advancedsettings.o moc_preferences.o moc_lineedit.o moc_propertieswidget.o moc_peerlistwidget.o moc_proplistdelegate.o moc_trackerlist.o moc_downloadedpiecesbar.o moc_peerlistdelegate.o moc_peerlistsortmodel.o moc_peeraddition.o moc_trackersadditiondlg.o moc_pieceavailabilitybar.o moc_proptabbar.o moc_searchengine.o moc_searchtab.o moc_engineselectdlg.o moc_pluginsource.o moc_searchlistdelegate.o moc_supportedengines.o moc_searchsortmodel.o moc_rss_imp.o moc_rsssettingsdlg.o moc_feedlistwidget.o moc_rssmanager.o moc_rssfeed.o moc_rssfolder.o moc_rssarticle.o moc_automatedrssdownloader.o moc_cookiesdlg.o moc_rssparser.o moc_torrentcreatordlg.o moc_torrentcreatorthread.o moc_geoipmanager.o moc_powermanagement.o moc_downloadthread.o moc_filesystemwatcher.o moc_scannedfoldersmodel.o moc_qinisettings.o moc_smtp.o moc_dnsupdater.o moc_mainwindow.o moc_transferlistwidget.o moc_transferlistdelegate.o moc_transferlistfilterswidget.o moc_transferlistsortmodel.o moc_torrentcontentmodel.o moc_torrentcontentfiltermodel.o moc_deletionconfirmationdlg.o moc_statusbar.o moc_reverseresolution.o moc_speedlimitdlg.o moc_about_imp.o moc_previewselect.o moc_previewlistdelegate.o moc_downloadfromurldlg.o moc_trackerlogin.o moc_sessionapplication.o moc_torrentimportdlg.o moc_executionlog.o moc_updownratiodlg.o moc_loglistwidget.o moc_addnewtorrentdialog.o moc_autoexpandabledialog.o moc_statsdialog.o moc_messageboxraised.o moc_statussortfilterproxymodel.o moc_qmacapplication.o moc_programupdater.o   -F/usr/local/Cellar/qt5/5.3.2/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/qt5/lib -L/usr/local/lib -lssl -lcrypto -framework Carbon -framework IOKit -lz -L/usr/local/Cellar/libtorrent-rasterbar/1.0.2_1/lib -ltorrent-rasterbar -lboost_system-mt -framework QtWidgets -L/usr/local/opt/d-bus/lib -framework QtGui -framework QtCore -framework QtNetwork -framework QtXml -ldbus-1 -framework OpenGL -framework AGL \r\nUndefined symbols for architecture x86_64:\r\n  \"libtorrent::parent_path(std::string const&)\", referenced from:\r\n      void libtorrent::add_files<bool (*)(std::string const&)>(libtorrent::file_storage&, std::string const&, bool (*)(std::string const&), unsigned int) in torrentcreatorthread.o\r\n  \"libtorrent::base32decode(std::string const&)\", referenced from:\r\n      misc::magnetUriToHash(QString const&) in misc.o\r\n  \"libtorrent::torrent_info::torrent_info(std::string const&, int)\", referenced from:\r\n      QBtSession::addTorrent(QString, bool, QString, bool, bool) in qbtsession.o\r\n      QBtSession::addTorrentsFromScanFolder(QStringList&) in qbtsession.o\r\n      QBtSession::recursiveTorrentDownload(QTorrentHandle const&) in qbtsession.o\r\n      QBtSession::handleTorrentFinishedAlert(libtorrent::torrent_finished_alert*) in qbtsession.o\r\n      TorrentCreatorDlg::handleCreationSuccess(QString, QString) in torrentcreatordlg.o\r\n      fsutils::isValidTorrentFile(QString const&) in fs_utils.o\r\n      TorrentImportDlg::loadTorrent(QString const&) in torrentimportdlg.o\r\n      ...\r\n  \"libtorrent::announce_entry::announce_entry(std::string const&)\", referenced from:\r\n      QBtSession::mergeTorrents(QTorrentHandle&, QString const&) in qbtsession.o\r\n      QBtSession::mergeTorrents(QTorrentHandle&, boost::intrusive_ptr<libtorrent::torrent_info>) in qbtsession.o\r\n      RequestHandler::action_command_addTrackers() in requesthandler.o\r\n      TrackerList::moveSelectionUp() in trackerlist.o\r\n      TrackerList::moveSelectionDown() in trackerlist.o\r\n      TrackerList::askForTrackers() in trackerlist.o\r\n      TrackerList::editSelectedTracker() in trackerlist.o\r\n      ...\r\n  \"libtorrent::create_torrent::add_tracker(std::string const&, int)\", referenced from:\r\n      TorrentCreatorThread::run() in torrentcreatorthread.o\r\n  \"libtorrent::create_torrent::add_url_seed(std::string const&)\", referenced from:\r\n      TorrentCreatorThread::run() in torrentcreatorthread.o\r\n  \"libtorrent::has_parent_path(std::string const&)\", referenced from:\r\n      TorrentImportDlg::on_browseContentBtn_clicked() in torrentimportdlg.o\r\n  \"libtorrent::parse_magnet_uri(std::string const&, libtorrent::add_torrent_params&, boost::system::error_code&)\", referenced from:\r\n      QBtSession::addMagnetUri(QString, bool, bool, QString const&) in qbtsession.o\r\n  \"libtorrent::set_piece_hashes(libtorrent::create_torrent&, std::string const&, boost::function<void (int)>, boost::system::error_code&)\", referenced from:\r\n      void libtorrent::set_piece_hashes<boost::_bi::bind_t<void, void (*)(int, int, TorrentCreatorThread*), boost::_bi::list3<boost::arg<1>, boost::_bi::value<int>, boost::_bi::value<TorrentCreatorThread*> > > >(libtorrent::create_torrent&, std::string const&, boost::_bi::bind_t<void, void (*)(int, int, TorrentCreatorThread*), boost::_bi::list3<boost::arg<1>, boost::_bi::value<int>, boost::_bi::value<TorrentCreatorThread*> > >) in torrentcreatorthread.o\r\n  \"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:\r\n      QBtSession::addMagnetUri(QString, bool, bool, QString const&) in qbtsession.o\r\n      QBtSession::addTorrent(QString, bool, QString, bool, bool) in qbtsession.o\r\n  \"libtorrent::entry::entry(std::string const&)\", referenced from:\r\n      QPeer::toEntry(bool) const in qtracker.o\r\n  \"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:\r\n      QTracker::ReplyWithPeerList(QTcpSocket*, TrackerAnnounceRequest const&) in qtracker.o\r\n      QPeer::toEntry(bool) const in qtracker.o\r\n  \"libtorrent::entry::entry(std::list<libtorrent::entry, std::allocator<libtorrent::entry> > const&)\", referenced from:\r\n      QTracker::ReplyWithPeerList(QTcpSocket*, TrackerAnnounceRequest const&) in qtracker.o\r\n  \"libtorrent::entry::operator=(std::string const&)\", referenced from:\r\n      QBtSession::backupPersistentData(QString const&, boost::shared_ptr<libtorrent::entry>) in qbtsession.o\r\n      QTorrentHandle::save_torrent_file(QString const&) const in qtorrenthandle.o\r\n  \"libtorrent::entry::operator[](std::string const&)\", referenced from:\r\n      void libtorrent::detail::bdecode_recursive<char*>(char*&, char*, libtorrent::entry&, bool&, int) in qtorrenthandle.o\r\n  \"libtorrent::detail::add_files_impl(libtorrent::file_storage&, std::string const&, std::string const&, boost::function<bool (std::string)>, unsigned int)\", referenced from:\r\n      void libtorrent::add_files<bool (*)(std::string const&)>(libtorrent::file_storage&, std::string const&, bool (*)(std::string const&), unsigned int) in torrentcreatorthread.o\r\n  \"libtorrent::session::add_dht_router(std::pair<std::string, int> const&)\", referenced from:\r\n      QBtSession::enableDHT(bool) in qbtsession.o\r\n  \"libtorrent::session::set_alert_dispatch(boost::function<void (std::auto_ptr<libtorrent::alert>)> const&)\", referenced from:\r\n      QAlertDispatcher::QAlertDispatcher(libtorrent::session*, QObject*) in alertdispatcher.o\r\n      QAlertDispatcher::~QAlertDispatcher() in alertdispatcher.o\r\n  \"libtorrent::session::init(std::pair<int, int>, char const*, libtorrent::fingerprint const&, unsigned int)\", referenced from:\r\n      libtorrent::session::session(libtorrent::fingerprint const&, int, unsigned int) in qbtsession.o\r\n  \"libtorrent::session::listen_on(std::pair<int, int> const&, boost::system::error_code&, char const*, int)\", referenced from:\r\n      QBtSession::setListeningPort(int) in qbtsession.o\r\n  \"libtorrent::complete(std::string const&)\", referenced from:\r\n      void libtorrent::add_files<bool (*)(std::string const&)>(libtorrent::file_storage&, std::string const&, bool (*)(std::string const&), unsigned int) in torrentcreatorthread.o\r\n  \"libtorrent::filename(std::string const&)\", referenced from:\r\n      file_filter(std::string const&) in torrentcreatorthread.o\r\n      void libtorrent::add_files<bool (*)(std::string const&)>(libtorrent::file_storage&, std::string const&, bool (*)(std::string const&), unsigned int) in torrentcreatorthread.o\r\n  \"libtorrent::file_storage::file_path(libtorrent::internal_file_entry const&, std::string const&) const\", referenced from:\r\n      TorrentImportDlg::on_browseContentBtn_clicked() in torrentimportdlg.o\r\n  \"libtorrent::file_storage::file_path(int, std::string const&) const\", referenced from:\r\n      QTorrentHandle::filepath_at(unsigned int) const in qtorrenthandle.o\r\n      QTorrentHandle::orig_filepath_at(unsigned int) const in qtorrenthandle.o\r\n      AddNewTorrentDialog::setupTreeview() in addnewtorrentdialog.o\r\n  \"libtorrent::torrent_handle::rename_file(int, std::string const&) const\", referenced from:\r\n      QTorrentHandle::rename_file(int, QString const&) const in qtorrenthandle.o\r\n  \"libtorrent::torrent_handle::add_url_seed(std::string const&) const\", referenced from:\r\n      QTorrentHandle::add_url_seed(QString const&) const in qtorrenthandle.o\r\n  \"libtorrent::torrent_handle::move_storage(std::string const&, int) const\", referenced from:\r\n      QTorrentHandle::move_storage(QString const&) const in qtorrenthandle.o\r\n  \"libtorrent::torrent_handle::file_progress(std::vector<long long, std::allocator<long long> >&, int) const\", referenced from:\r\n      QTorrentHandle::file_progress(std::vector<long long, std::allocator<long long> >&) const in qtorrenthandle.o\r\n  \"libtorrent::torrent_handle::get_peer_info(std::vector<libtorrent::peer_info, std::allocator<libtorrent::peer_info> >&) const\", referenced from:\r\n      PeerListWidget::loadPeers(QTorrentHandle const&, bool) in peerlistwidget.o\r\n      TrackerList::loadStickyItems(QTorrentHandle const&) in trackerlist.o\r\n  \"libtorrent::torrent_handle::remove_url_seed(std::string const&) const\", referenced from:\r\n      QTorrentHandle::remove_url_seed(QString const&) const in qtorrenthandle.o\r\n  \"libtorrent::torrent_handle::prioritize_files(std::vector<int, std::allocator<int> > const&) const\", referenced from:\r\n      QTorrentHandle::prioritize_files(std::vector<int, std::allocator<int> > const&) const in qtorrenthandle.o\r\n  \"libtorrent::torrent_handle::replace_trackers(std::vector<libtorrent::announce_entry, std::allocator<libtorrent::announce_entry> > const&) const\", referenced from:\r\n      TrackerList::moveSelectionUp() in trackerlist.o\r\n      TrackerList::moveSelectionDown() in trackerlist.o\r\n      TrackerList::deleteSelectedTrackers() in trackerlist.o\r\n      TrackerList::editSelectedTracker() in trackerlist.o\r\n  \"libtorrent::torrent_handle::set_tracker_login(std::string const&, std::string const&) const\", referenced from:\r\n      QTorrentHandle::set_tracker_login(QString const&, QString const&) const in qtorrenthandle.o\r\n  \"libtorrent::torrent_handle::get_download_queue(std::vector<libtorrent::partial_piece_info, std::allocator<libtorrent::partial_piece_info> >&) const\", referenced from:\r\n      QTorrentHandle::downloading_pieces(libtorrent::bitfield&) const in qtorrenthandle.o\r\n  \"libtorrent::torrent_handle::piece_availability(std::vector<int, std::allocator<int> >&) const\", referenced from:\r\n      PropertiesWidget::loadDynamicData() in propertieswidget.o\r\nld: symbol(s) not found for architecture x86_64\r\nclang: error: linker command failed with exit code 1 (use -v to see invocation)\r\nMakefile:640: recipe for target 'qbittorrent.app/Contents/MacOS/qbittorrent' failed\r\nmake[1]: *** [qbittorrent.app/Contents/MacOS/qbittorrent] Error 1\r\nmake[1]: Leaving directory '/Users/David/GitHub/qBittorrent-qt5/src'\r\nMakefile:38: recipe for target 'sub-src-make_first' failed\r\nmake: *** [sub-src-make_first] Error 2\r\n```\r\nQt4 still works fine. Here's the Qt5 configuration:\r\n```shell\r\n./configure --with-boost=/usr/local/opt/boost --with-geoip-database-embedded --with-qt5 QT_QMAKE=/usr/local/opt/qt5/bin PKG_CONFIG_PATH=/usr/local/opt/qt5/lib/pkgconfig:/usr/local/opt/zlib/lib/pkgconfig --disable-qt-dbus\r\n```"},"comment":{"url":"https://api.github.com/repos/qbittorrent/qBittorrent/issues/comments/72057110","html_url":"https://github.com/qbittorrent/qBittorrent/issues/2133#issuecomment-72057110","issue_url":"https://api.github.com/repos/qbittorrent/qBittorrent/issues/2133","id":72057110,"user":{"login":"sledgehammer999","id":273315,"avatar_url":"https://avatars.githubusercontent.com/u/273315?v=3","gravatar_id":"","url":"https://api.github.com/users/sledgehammer999","html_url":"https://github.com/sledgehammer999","followers_url":"https://api.github.com/users/sledgehammer999/followers","following_url":"https://api.github.com/users/sledgehammer999/following{/other_user}","gists_url":"https://api.github.com/users/sledgehammer999/gists{/gist_id}","starred_url":"https://api.github.com/users/sledgehammer999/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sledgehammer999/subscriptions","organizations_url":"https://api.github.com/users/sledgehammer999/orgs","repos_url":"https://api.github.com/users/sledgehammer999/repos","events_url":"https://api.github.com/users/sledgehammer999/events{/privacy}","received_events_url":"https://api.github.com/users/sledgehammer999/received_events","type":"User","site_admin":false},"created_at":"2015-01-29T16:37:54Z","updated_at":"2015-01-29T16:37:54Z","body":"Let me ask you a few things:\r\n1. What is your configure commandline?\r\n2. Do you use homebrew or macports?\r\n3. Can you post the output of `pkg-config --cflags --libs libtorrent-rasterbar` and `pkg-config --cflags --libs Qt5Core` ?\r\n4. About libqcocoa: How do you package qbt? Do you use the tool `macdeployqt` ?\r\nCan you do a `otool -L <binary>`, replacing <binary> with the qbt binary inside the package?"}}