Version: svn 939885 (using KDE 4.1.4) Compiler: Sun Studio 12 OS: Solaris Installed from: Compiled From Sources To build the KDE4 port (svn r939885) on opensolaris I had to apply the below patches. Note the transfersend one should probably look like http://pulseaudio.org/attachment/ticket/253/pulseaudio-01-ioctl.diff in order to be universal. $ cat konversation-insertchardialog.cpp.diff --- src/viewer/insertchardialog.cpp.orig 2009-03-15 00:29:38.348736109 +0100 +++ src/viewer/insertchardialog.cpp 2009-03-15 00:29:56.625783092 +0100 @@ -28,7 +28,7 @@ setCaption( i18n("Insert Character") ); setButtonGuiItem(KDialog::Ok, KGuiItem(i18n("&Insert"), "dialog-ok", i18n("Insert a character"))); - m_charTable = new KCharSelect(this,0, KCharSelect::CharacterTable|KCharSelect::FontCombo|KCharSelect::BlockCombos); + m_charTable = new KCharSelect(this, KCharSelect::CharacterTable|KCharSelect::FontCombo|KCharSelect::BlockCombos); m_charTable->setCurrentFont( QFont( font ) ); setMainWidget(m_charTable); connect( this, SIGNAL( okClicked() ), this, SLOT( slotOk() ) ); $ cat konversation-transfersend.cpp.diff --- src/dcc/transfersend.cpp.orig 2009-03-15 00:38:13.813617800 +0100 +++ src/dcc/transfersend.cpp 2009-03-15 00:39:12.244762219 +0100 @@ -164,6 +165,7 @@ int sock = socket(AF_INET, SOCK_DGRAM, 0); strncpy( ifr.ifr_name, address, IF_NAMESIZE ); ifr.ifr_addr.sa_family = AF_INET; + int ioctl(int fd, int request, ...); if ( ioctl( sock, SIOCGIFADDR, &ifr ) >= 0 ) m_ownIp = inet_ntoa( ( (struct sockaddr_in *)&ifr.ifr_addr )->sin_addr ); kDebug() << "Falling back to IPv4 address " << m_ownIp;
SVN commit 940050 by pino: compile KCharSelect also with kde 4.1 CCBUG: 187267 M +5 -0 insertchardialog.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=940050
I really doubt your konversation-transfersend.cpp.diff was ever compiling. How can such code compile? (ie mixing a declaration in a code block
Sorry for the additional message: could you please post (as attached to this bug report) the full log of the compilation you do? Ie, after you update from SVN, the result of the cmake execution and of the `make -i` command (-i is to make the compilation ignore the errors, so we can get the errors in all the files they are, instead of just stopping at the first). Thank you.
:-) I don't know, I really don't speak C++ to build konversation, I plugged it into the framework of the KDE Solaris project (http://techbase.kde.org/Projects/KDE_on_Solaris). I tried to build it standalone, but setting all the includes, libraries etc became just too complex. this is the error I was getting without the patch: pkgbuild: cd /export/home/hajma/packages/BUILD/konvi-kde4-svn939885/build-konvi-kde4-svn939885/src && /opt/SUNWspro/bin/CC -library=no%Cstd -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DQT_STRICT_ITERATORS -D__EXTENSIONS__ -DSOLARIS -D_REENTRANT -D__EXTENSIONS__ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_POSIX_PTHREAD_SEMANTICS -DSOLARIS -DSOLARIS10 -DNDEBUG -DNO_DEBUG -D_UNICODE -DUNICODE -D_RWSTD_REENTRANT -D_XOPEN_SOURCE=500 -D_XPG5 -I/opt/foss/include/stdcxx/ansi -I/opt/foss/include/stdcxx -I/opt/foss/include -D BSD_COMP -DQT_NO_DEBUG -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/build-konvi-kde4-svn939885/src -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/src -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885 -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/build-konvi-kde4-svn939885 -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/src/config -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/src/blowfish -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/src/dcc -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/src/irc -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/src/preferences -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/src/viewer -I/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/src/linkaddressbook -I/opt/kde-4.1/include -I/opt/kde-4.1/include/KDE -I/opt/foss/include/KDE -I/opt/foss/include -I/opt/foss/qt4/include/QtXmlPatterns -I/opt/foss/qt4/include/QtWebKit -I/opt/foss/qt4/include/QtHelp -I/opt/foss/qt4/include/QtAssistant -I/opt/foss/qt4/include/QtDBus -I/opt/foss/qt4/include/QtTest -I/opt/foss/qt4/include/QtUiTools -I/opt/foss/qt4/include/QtScript -I/opt/foss/qt4/include/QtSvg -I/opt/foss/qt4/include/QtXml -I/opt/foss/qt4/include/QtSql -I/opt/foss/qt4/include/QtOpenGL -I/opt/foss/qt4/include/QtNetwork -I/opt/foss/qt4/include/QtDesigner -I/opt/foss/qt4/include/Qt3Support -I/opt/foss/qt4/include/QtGui -I/opt/foss/qt4/include/QtCore -I/opt/foss/qt4/include/Qt -I/opt/foss/qt4/share/mkspecs/default -I/opt/foss/qt4/include -I/usr/X11/include -D_LARGEFILE64_SOURCE -o CMakeFiles/konvi.dir/dcc/transfersend.o -c /export/home/hajma/packages/BUILD/konvi-kde4-svn939885/src/dcc/transfersend.cpp pkgbuild: "/export/home/hajma/packages/BUILD/konvi-kde4-svn939885/src/dcc/transfersend.cpp", line 167: Error: The function "ioctl" must have a prototype. pkgbuild: 1 Error(s) detected. pkgbuild: gmake[3]: *** [src/CMakeFiles/konvi.dir/dcc/transfersend.o] Error 1 you may be right that the patch is not really working anyway. I discovered the below line in the error output that I attributed to problems with library linking: pkgbuild: bool KABC::AddressBook::save(KABC::Ticket*) CMakeFiles/konvi.dir/linkaddressbook/addressbook_base.o pkgbuild: int ioctl(int,int,...) CMakeFiles/konvi.dir/dcc/transfersend.o
Created attachment 32429 [details] make -i log (without the patches) make -i log of building svn rev.945296 this one is with unpatched source
Created attachment 32430 [details] make -i log (with patch) this one is with source patched with the konversation-transfersend.cpp.diff
Created attachment 32442 [details] Patch for transfersend.cpp Please try the attached patch and see if it solves the problem.
Created attachment 32446 [details] log thanks, it helped with the ioctl, but the build still fails (when linking?), see log
(In reply to comment #8) > Created an attachment (id=32446) [details] > log > > thanks, it helped with the ioctl, but the build still fails (when linking?), > see log Looks like it doesn't find libkabc for some reason.
SVN commit 945841 by psn: stropts.h is needed for ioctl on opensolaris CCBUG: 187267 M +1 -0 transfersend.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=945841
SVN commit 946341 by pino: use a cmake variable for the kabc library that exist in kde < 4.2 BUG: 187267 M +1 -1 CMakeLists.txt WebSVN link: http://websvn.kde.org/?view=rev&revision=946341
it works now (svn rev. 946577) I only had to add -lnsl and it built and ran perfectly
Created attachment 32509 [details] nsl detection and usage Could you please try only this patch and see whether you can compile konversation correctly?
Hi, sorry for the delay, I was busy with kde 4.3 and only managed to build kdenetwork today we've quit kde 4.1x and konversation is building just fine with 4.3rc (just one minor bug, I'll file soon with patch)