Not logged in. · Lost password · Register
Forum: Community Bugs RSS
Building Psi nightly
Problem with QCA 2.0 linking in Gentoo

Announcement

2005-11-16, 19:33 by halr9000
Subject: Psi Groupchat (new address)
Join us at the Psi Groupchat (MUC)! Room name: psi@conference.psi-im.org
zbraniecki #1
Member since Jun 2006 · 3 posts
Group memberships: Members
Show profile · Link to this post
Subject: Building Psi nightly
I'm trying to build Psi trunk. I pulled darcs repository, I compiled and installed QCA 2.0 and QCA 2.0 openssl plugin to /usr/local/lib (there's not configure option for QCA path). I also have QT trunk from qt-copy from KDE's trunk repository (I'm using it to build KDE 4 nightly)

When I'm compiling PSI, I get:

g++ -Wl,-rpath,/server/projects/kde4/qt4/lib -o psi .obj/bytestream.o .obj/bsocket.o .obj/httpconnect.o .obj/httppoll.o .obj/socks.o .obj/safedelete.o .obj/ndns.o .obj/srvresolver.o .obj/servsock.o .obj/trayicon.o .obj/trayicon_x11.o .obj/iconset.o .obj/anim.o .obj/idle.o .obj/idle_x11.o .obj/systemwatch.o .obj/systemwatch_unix.o .obj/zip.o .obj/unzip.o .obj/dirwatch.o .obj/dirwatch_unix.o .obj/optionstree.o .obj/varianttree.o .obj/optionstreemodel.o .obj/globalaccelman_x11.o .obj/pollingtunecontroller.o .obj/filetunecontroller.o .obj/combinedtunecontroller.o .obj/tunecontrollermanager.o .obj/psifilecontroller.o .obj/psifileplugin.o .obj/advwidget.o .obj/profiles.o .obj/rfc3454.o .obj/nfkc.o .obj/stringprep.o .obj/connector.o .obj/tlshandler.o .obj/jid.o .obj/securestream.o .obj/parser.o .obj/xmlprotocol.o .obj/protocol.o .obj/stream.o .obj/types.o .obj/client.o .obj/xmpp_tasks.o .obj/xmpp_xmlcommon.o .obj/xmpp_vcard.o .obj/s5b.o .obj/xmpp_ibb.o .obj/xmpp_jidlink.o .obj/filetransfer.o .obj/varlist.o .obj/showtextdlg.o .obj/psi_profiles.o .obj/profiledlg.o .obj/psiaccount.o .obj/psicon.o .obj/psievent.o .obj/xmlconsole.o .obj/contactview.o .obj/psiiconset.o .obj/pgpkeydlg.o .obj/pgputil.o .obj/pgptransaction.o .obj/userlist.o .obj/mainwin.o .obj/mainwin_p.o .obj/rtparse.o .obj/common.o .obj/proxy.o .obj/accountdlg.o .obj/changepwdlg.o .obj/msgmle.o .obj/statusdlg.o .obj/eventdlg.o .obj/chatdlg.o .obj/tip.o .obj/tabdlg.o .obj/adduserdlg.o .obj/groupchatdlg.o .obj/infodlg.o .obj/certutil.o .obj/eventdb.o .obj/historydlg.o .obj/servicesdlg.o .obj/psitoolbar.o .obj/passphrasedlg.o .obj/vcardfactory.o .obj/sslcertdlg.o .obj/discodlg.o .obj/capsspec.o .obj/capsregistry.o .obj/capsmanager.o .obj/alerticon.o .obj/psipopup.o .obj/psiapplication.o .obj/filetransdlg.o .obj/avatars.o .obj/actionlist.o .obj/psiactionlist.o .obj/xdata_widget.o .obj/xmpp_xdata.o .obj/statuspreset.o .obj/mucmanager.o .obj/mucjoindlg.o .obj/mucconfigdlg.o .obj/mucaffiliationsmodel.o .obj/mucaffiliationsview.o .obj/rosteritemexchangetask.o .obj/mood.o .obj/moodcatalog.o .obj/mooddlg.o .obj/geolocation.o .obj/physicallocation.o .obj/pepmanager.o .obj/pubsubsubscription.o .obj/rc.o .obj/privacylistitem.o .obj/privacylist.o .obj/privacylistmodel.o .obj/privacylistblockedmodel.o .obj/privacymanager.o .obj/privacydlg.o .obj/privacyruledlg.o .obj/ahcommand.o .obj/ahcommandserver.o .obj/ahcommanddlg.o .obj/ahcformdlg.o .obj/ahcexecutetask.o .obj/ahcservermanager.o .obj/psioptions.o .obj/nodeselectordlg.o .obj/voicecalldlg.o .obj/optionstab.o .obj/optionsdlg.o .obj/opt_application.o .obj/opt_chat.o .obj/opt_events.o .obj/opt_status.o .obj/opt_appearance.o .obj/opt_lookfeel.o .obj/opt_iconset.o .obj/opt_groupchat.o .obj/opt_sound.o .obj/opt_toolbars.o .obj/opt_advanced.o .obj/busywidget.o .obj/fancylabel.o .obj/iconselect.o .obj/iconwidget.o .obj/psitextview.o .obj/urllabel.o .obj/urlobject.o .obj/iconaction.o .obj/fancypopup.o .obj/psirichtext.o .obj/psitooltip.o .obj/psitabwidget.o .obj/main.o .obj/moc_bytestream.o .obj/moc_bsocket.o .obj/moc_httpconnect.o .obj/moc_httppoll.o .obj/moc_socks.o .obj/moc_safedelete.o .obj/moc_ndns.o .obj/moc_srvresolver.o .obj/moc_servsock.o .obj/moc_trayicon.o .obj/moc_iconset.o .obj/moc_idle.o .obj/moc_systemwatch.o .obj/moc_systemwatch_unix.o .obj/moc_dirwatch.o .obj/moc_optionstree.o .obj/moc_varianttree.o .obj/moc_optionstreemodel.o .obj/moc_globalaccelman.o .obj/moc_tunecontroller.o .obj/moc_pollingtunecontroller.o .obj/moc_advwidget.o .obj/moc_securestream.o .obj/moc_xmpp_tasks.o .obj/moc_s5b.o .obj/moc_xmpp_ibb.o .obj/moc_xmpp_jidlink.o .obj/moc_filetransfer.o .obj/moc_xmpp.o .obj/moc_im.o .obj/moc_showtextdlg.o .obj/moc_profiledlg.o .obj/moc_psiaccount.o .obj/moc_psicon.o .obj/moc_psievent.o .obj/moc_xmlconsole.o .obj/moc_contactview.o .obj/moc_pgpkeydlg.o .obj/moc_pgptransaction.o .obj/moc_mainwin.o .obj/moc_mainwin_p.o .obj/moc_proxy.o .obj/moc_accountdlg.o .obj/moc_changepwdlg.o .obj/moc_msgmle.o .obj/moc_statusdlg.o .obj/moc_eventdlg.o .obj/moc_chatdlg.o .obj/moc_tabdlg.o .obj/moc_adduserdlg.o .obj/moc_groupchatdlg.o .obj/moc_infodlg.o .obj/moc_eventdb.o .obj/moc_historydlg.o .obj/moc_tip.o .obj/moc_servicesdlg.o .obj/moc_psitoolbar.o .obj/moc_passphrasedlg.o .obj/moc_vcardfactory.o .obj/moc_sslcertdlg.o .obj/moc_tasklist.o .obj/moc_discodlg.o .obj/moc_capsregistry.o .obj/moc_capsmanager.o .obj/moc_alerticon.o .obj/moc_psipopup.o .obj/moc_psiapplication.o .obj/moc_filetransdlg.o .obj/moc_avatars.o .obj/moc_mucmanager.o .obj/moc_mucjoindlg.o .obj/moc_mucconfigdlg.o .obj/moc_mucaffiliationsview.o .obj/moc_rosteritemexchangetask.o .obj/moc_mooddlg.o .obj/moc_pepmanager.o .obj/moc_privacymanager.o .obj/moc_privacydlg.o .obj/moc_privacyruledlg.o .obj/moc_ahcommanddlg.o .obj/moc_ahcformdlg.o .obj/moc_nodeselectordlg.o .obj/moc_psioptions.o .obj/moc_voicecaller.o .obj/moc_voicecalldlg.o .obj/moc_optionsdlg.o .obj/moc_optionstab.o .obj/moc_opt_application.o .obj/moc_opt_chat.o .obj/moc_opt_events.o .obj/moc_opt_status.o .obj/moc_opt_appearance.o .obj/moc_opt_lookfeel.o .obj/moc_opt_iconset.o .obj/moc_opt_groupchat.o .obj/moc_opt_sound.o .obj/moc_opt_toolbars.o .obj/moc_opt_advanced.o .obj/moc_busywidget.o .obj/moc_fancylabel.o .obj/moc_iconselect.o .obj/moc_iconsetselect.o .obj/moc_iconsetdisplay.o .obj/moc_iconwidget.o .obj/moc_iconbutton.o .obj/moc_psitextview.o .obj/moc_iconaction.o .obj/moc_fancypopup.o .obj/moc_urllabel.o .obj/moc_urlobject.o .obj/moc_iconlabel.o .obj/moc_icontoolbutton.o .obj/moc_fancypopuplist.o .obj/moc_psitabwidget.o .obj/moc_main.o .obj/qrc_psi.o .obj/qrc_iconsets.o    -L/usr/X11R6/lib -L/server/projects/kde4/qt4/lib -lXss -L/usr/local/lib -lqca -lQt3Support_debug -L/server/projects/kde4/src/qt-copy/lib -lQtSql_debug -L/usr/X11R6/lib -lQtXml_debug -lQtGui_debug -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtNetwork_debug -lQtCore_debug -lz -lm -lpthread -ldl
.obj/httpconnect.o: In function `HttpConnect::sock_connected()':
../cutestuff/network/httpconnect.cpp:206: undefined reference to `QCA::Base64::Base64(QCA::Direction)'
../cutestuff/network/httpconnect.cpp:206: undefined reference to `QCA::TextFilter::encodeString(QString const&)'
.obj/httpconnect.o: In function `~TextFilter':
/usr/local/include/QtCrypto/qca_textfilter.h:49: undefined reference to `QCA::Filter::~Filter()'
.obj/httpconnect.o: In function `~Base64':
/usr/local/include/QtCrypto/qca_textfilter.h:219: undefined reference to `vtable for QCA::Base64'
/usr/local/include/QtCrypto/qca_textfilter.h:219: undefined reference to `QSecureArray::~QSecureArray()'
.obj/httpconnect.o: In function `~TextFilter':
/usr/local/include/QtCrypto/qca_textfilter.h:49: undefined reference to `QCA::Filter::~Filter()'
/usr/local/include/QtCrypto/qca_textfilter.h:49: undefined reference to `QCA::Filter::~Filter()'
.obj/httpconnect.o:(.rodata._ZTIN3QCA10TextFilterE[typeinfo for QCA::TextFilter]+0x10): undefined reference to `typeinfo for QCA::Filter'
.obj/httppoll.o: In function `HttpProxyPost::sock_connected()':
../cutestuff/network/httppoll.cpp:538: undefined reference to `QCA::Base64::Base64(QCA::Direction)'
../cutestuff/network/httppoll.cpp:538: undefined reference to `QCA::TextFilter::encodeString(QString const&)'
.obj/httppoll.o: In function `hpk':
(...)

Any help?
Avatar
spike (Administrator) #2
Member since Feb 2003 · 1910 posts · Location: Leuven (Belgium)
Group memberships: Administrators, Developers, Members
Show profile · Link to this post
Your QCA2 clashes with your installation of QCA1. I would say: remove your QCA1 development files, but i recently heard that in Gentoo, it's all or nothing. So, you'll have to dump QCA1 completely.
- Remko
Avatar
Rytsarsky #3
Member since Dec 2002 · 51 posts · Location: Oxford, MS
Group memberships: Members
Show profile · Link to this post
Yeah, I had this problem, and I unmerged qca qca-tls and psi [emerge -C qca qca-tls psi] (emerge world will try to reinstall qca if psi is still in your world file) and it worked.  The only other packages that depend on qca are kopete and kdenetwork, so if you use either of those, I imagine they'll stop working.
zbraniecki #4
Member since Jun 2006 · 3 posts
Group memberships: Members
Show profile · Link to this post
ouch, no chance to isolate the environment?

I'd prefer not to remove current Psi just to test nightly, especially if I'd have to recompile kdenetwork.

It would be great to have --qca-dir in ./configure script - it would solve the problem, right?
Avatar
cliff_dugal #5
User title: Mandriva Packager
Member since Jan 2004 · 220 posts · Location: Ottawa, Ontario, Canada
Group memberships: Members
Show profile · Link to this post
If you configure your QCA2 with something like --prefix=$QT4DIR, you can have both (although you may need to watch library linking order). Psi does not need to be separately configured since QCA2 writes a configuration file for qmake.
Avatar
Rytsarsky #6
Member since Dec 2002 · 51 posts · Location: Oxford, MS
Group memberships: Members
Show profile · Link to this post
I could not get it to work with both... I was trying to build the whole thing in $HOME/local.  First, both qca and qca-openssl only work if they write some stuff to your qt4 directory, I think just one file for each and they were both new files for me, so I let it happen.  Even then, I couldn't get psi to link against qca2 with any linking order without removing gentoo's qca package.  If --qca-dir would fix the problem, I vote for that.  If there is a way for qca to work without writing to the main qt4 directory(ies) (thus requiring root access), I vote for that too.
This post was edited on 2006-06-16, 16:55 by Rytsarsky.
Avatar
spike (Administrator) #7
Member since Feb 2003 · 1910 posts · Location: Leuven (Belgium)
Group memberships: Administrators, Developers, Members
Show profile · Link to this post
In reply to post #5
Quote by cliff_dugal:
If you configure your QCA2 with something like --prefix=$QT4DIR, you can have both (although you may need to watch library linking order). Psi does not need to be separately configured since QCA2 writes a configuration file for qmake.
Isolating QCA2 is not enough. QCA1 also needs to be isolated. This is a distribution problem actually, a decent distribution either separates the development files, or makes them conflict such that not both of them can be installed at the same time. Gentoo does neither apparently.
- Remko
zbraniecki #8
Member since Jun 2006 · 3 posts
Group memberships: Members
Show profile · Link to this post
How far we are from QCA 2.0 release then?
Avatar
Rytsarsky #9
Member since Dec 2002 · 51 posts · Location: Oxford, MS
Group memberships: Members
Show profile · Link to this post
Gentoo Bug discussing this issue.
Avatar
michalj (Moderator) #10
Member since Apr 2004 · 2316 posts · Location: Legionowo, Poland
Group memberships: Global Moderators, Members
Show profile · Link to this post
In reply to post #8
Quote by zbraniecki:
How far we are from QCA 2.0 release then?
This question should be rather directed to Justin and not Psi developers (as a whole).
Michał Jazłowiecki (michalj)
Psi Forum & Wiki Moderator :: Psi-Daisy Author
Avatar
cliff_dugal #11
User title: Mandriva Packager
Member since Jan 2004 · 220 posts · Location: Ottawa, Ontario, Canada
Group memberships: Members
Show profile · Link to this post
Quote by michalj on 2006-06-16, 23:48:
Quote by zbraniecki:
How far we are from QCA 2.0 release then?
This question should be rather directed to Justin and not Psi developers (as a whole).
Check out the Delta Project.
Avatar
infiniti (Administrator) #12
Member since Sep 2002 · 1521 posts · Location: California, USA
Group memberships: Administrators, Developers, Members
Show profile · Link to this post
I think there will be a QCA 2 Beta 3 sometime early next month.  At least two months after that before the final, I'd suspect.
-Justin
Avatar
cliff_dugal #13
User title: Mandriva Packager
Member since Jan 2004 · 220 posts · Location: Ottawa, Ontario, Canada
Group memberships: Members
Show profile · Link to this post
Quote by infiniti:
I think there will be a QCA 2 Beta 3 sometime early next month.  At least two months after that before the final, I'd suspect.
Cool. I'm looking forward to it. :)
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please note the verification code from the picture into the text field next to it.
Smileys: :mellow: :huh: ^_^ :o ;) :P :D :lol: B) :rolleyes: -_- <_< :) :wub: :angry: :( :unsure: :wacko: :blink: :ph34r:
Special characters:
Go to forum
This board is powered by the Unclassified NewsBoard software, 20090606-dev, © 2003-8 by Yves Goergen
Current time: 2009-07-04, 07:27:02 (UTC +02:00)