euroelessar / qutim

Module based Instant Messenger
http://qutim.org/
Other
141 stars 32 forks source link

offtheroad plugin does not compatible with libotr 4.0 #298

Open Hubbitus opened 10 years ago

Hubbitus commented 10 years ago

/usr/bin/cmake -E cmake_progress_report /home/pasha/SOFT/git/qutim/master/qutim.6f3a98a/CMakeFiles 4 [ 87%] Built target aspeller /usr/bin/cmake -E cmake_progress_report /home/pasha/SOFT/git/qutim/master/qutim.6f3a98a/CMakeFiles [ 87%] /home/pasha/SOFT/git/qutim/master/qutim.6f3a98a/plugins/offtherecord/src/otrinternal.cpp: In constructor 'OtrInternal::OtrInternal(OtrSupport::Policy&, OtrlUserState)': /home/pasha/SOFT/git/qutim/master/qutim.6f3a98a/plugins/offtherecord/src/otrinternal.cpp:113:13: error: 'OtrlMessageAppOps' has no member named 'notify' m_uiOps.notify = (OtrInternal::cb_notify); ^ /home/pasha/SOFT/git/qutim/master/qutim.6f3a98a/plugins/offtherecord/src/otrinternal.cpp:114:13: error: 'OtrlMessageAppOps' has no member named 'display_otr_message' m_uiOps.display_otr_message = (OtrInternal::cb_display_otr_message); ^ /home/pasha/SOFT/git/qutim/master/qutim.6f3a98a/plugins/offtherecord/src/otrinternal.cpp:116:13: error: 'OtrlMessageAppOps' has no member named 'protocol_name' m_uiOps.protocol_name = (OtrInternal::cb_protocol_name); ^ /home/pasha/SOFT/git/qutim/master/qutim.6f3a98a/plugins/offtherecord/src/otrinternal.cpp:117:13: error: 'OtrlMessageAppOps' has no member named 'protocol_name_free' m_uiOps.protocol_name_free = (OtrInternal::cb_protocol_name_free); ^ /home/pasha/SOFT/git/qutim/master/qutim.6f3a98a/plugins/offtherecord/src/otrinternal.cpp:123:13: error: 'OtrlMessageAppOps' has no member named 'log_message' m_uiOps.log_message = (OtrInternal::cb_log_message);

mborodin commented 10 years ago

Libotr v0.4 has some API changes incompatible with Libotr v0.3- You can find full upgrade list here: https://otr.cypherpunks.ca/UPGRADING-libotr-4.0.0.txt Currently I'm working on porting qutim v0.3 (should also work on master with minor Qt4->Qt5 patches. However I still can't get working master build). At this point of time I've succeeded to make a conversation with OTR enabled, but plugin is still unstable and some OTR communications still occur from time to time. I will make a pull request when plugin will be stable enough for v0.3.

euroelessar commented 10 years ago

Oh, that's great!

If you will provide patch for Qt4 version I'll be able to port it to master myself. Also, what issues do you have connected with building of master branch?

mborodin commented 10 years ago

I basically have those Qt4->Qt5 patches, so I can provide them as well. The only thing is that I can't verify them at the moment because of broken build on master (I don't use Qt5 on v0.3 build). I suspect my problems on master are connected to broken build environment. I have Qt5 from Fedora 20 repos and qbs is built from fedora srpm. Everything is being compiled, but qutim fails to start with segfault. Valgrind shows problems inside Qt5Core lib while it loads libQtGui.so.4 I will try to build Qt5 from source and rebuild qutim with it. If you are interested - I can provide valgrind logs.

euroelessar commented 10 years ago

When have you checked master build last time? Looks like I've fixed this type of problem some weeks ago.

mborodin commented 10 years ago

This weekend I've tried to pull latest master - didn't help. Also I've downloaded Qt 5.2.1 binaries from official site - again no luck. The only thing is that fail is more verbose with official binaries and basically backtrace looks like this: qutim_sdk_0_3::ModuleManager::loadPlugins -> dlopen of jabber protocol -> QMetaType::registerNormalizedType Maybe we should switch this discussion to a new issue? Just not to mention original OTR plugin issue

mborodin commented 10 years ago

Apparently problem occurs if I switch build to system libjreen. Bundled jreen was not referenced in any qbs file. After I've referenced it in protocols.qbs in the same way, as vreen, I was able to start qutim. OTR plugin still could not be loaded - it can't find some symbol qt_plugin_query_metadata. I will continue my investigation

mborodin commented 10 years ago

Fixed all issues with master build, created pull request