FreeBSD Port for kdevelop [...]
Will Andrews
andrews at TECHNOLOGIST.COM
Sun Nov 7 20:50:28 GMT 1999
Hi, I've been attempting to create a port of kdevelop since 1.0b1. August 12th
is the date I first created the port, but 1.0b1 was around before that; since I
have as of yet been unable to successfully compile the program after about 150
or 200 different methods (no, I'm not exaggerating), I've decided to send this
in.
I've finally worked out some bugs. It seems that the configure script has a
large number of syntax errors, among other glaring problems. I'm surprised that
(apparently) it works for you guys. I can never seem to get it to recognize
configure arguments such as --with-qt-dir=/usr/X11R6
--with-qt-includes=/usr/X11R6/include/X11/qt --with-qt-libraries=/usr/X11R6/lib
--prefix=/usr/local et cetera. KDE stuff is in /usr/local while Qt's in
/usr/X11R6. The arguments do not seem to be getting passed through to
the parts of the script that actually does the checking.
Now, I've been able to get kdevelop to compile, with gcc 2.95.2
(compiler is g++295), Qt 1.42, KDE 1.1.2, gmake 3.77, perl 5.005_03, and flex
2.5.4. Gmake successfully finishes the compile:
[a line or two of the compiling (just to see -I's, etc.):]
g++295 -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include
-I/usr/X11R6/include/X11/qt -I/usr/X11R6/include -O2 -Wall -c
caddnewtranslationdlg.moc.cpp
/usr/X11R6/bin/moc ./cdocbrowser.h -o cdocbrowser.moc.cpp
g++295 -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include
-I/usr/X11R6/include/X11/qt -I/usr/X11R6/include -O2 -Wall -c
cdocbrowser.moc.cpp
/usr/X11R6/bin/moc ./ckdevelop.h -o ckdevelop.moc.cpp
g++295 -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include
-I/usr/X11R6/include/X11/qt -I/usr/X11R6/include -O2 -Wall -c
ckdevelop.moc.cpp
[and now, the linking:]
/bin/sh ../libtool --silent --mode=link g++295 -O2 -Wall -s -o kdevelop
-L/usr/local/lib -L/usr/X11R6/lib -rpath /usr/local/lib -rpath
/usr/X11R6/lib -rpath /usr/X11R6/lib klistview.o ckdevelop.o main.o cn
ewfiledlg.o coutputwidget.o ckdevelop_init.o ctabctl.o ckdevelop_noslot.o
ckdevelop_project.o cclassview .o ceditwidget.o ckdevsetupdlg.o
ckdevelop_classview.o cprjoptionsdlg.o ckappwizard.o crealfileview.o cl
ogfileview.o cdocbrowser.o cproject.o kswallow.o cgeneratenewfile.o
doctreeview.o cnewclassdlg.o cfilepr opdlg.o caddexistingfiledlg.o
cgrouppropertiesdlg.o cupdatekdedocdlg.o ccreatedocdatabasedlg.o ctoolclas
s.o cdoctreepropdlg.o ckdevelop_whatsthis.o cfinddoctextdlg.o kstartuplogo.o
ktipofday.o ckdevinstall.o ckdevelop_kdlginit.o caddclassmethoddlg.o
caddclassattributedlg.o cclasstooldlg.o cclasstreehandler.o ct
reehandler.o ctreeview.o cerrormessageparser.o cexecuteargdlg.o
ccvaddfolderdlg.o klangcombo.o caddnewtr anslationdlg.o grepdialog.o
ctoolsconfigdlg.o cbugreportdlg.o cclasstooltreeview.o cmakemanualdlg.o cmak
emanualdlgdata.o ckdevaccel.o doctreeview.moc.o ctoolsconfigdlg.moc.o
cdoctreepropdlg.moc.o cclasstooltr eeview.moc.o cupdatekdedocdlg.moc.o
cexecuteargdlg.moc.o ceditwidget.moc.o ctreeview.moc.o caddexistingf
iledlg.moc.o kstartuplogo.moc.o kswallow.moc.o cgrouppropertiesdlg.moc.o
cbugreportdlg.moc.o cclassview. moc.o ckdevsetupdlg.moc.o
cmakemanualdlg.moc.o coutputwidget.moc.o ccreatedocdatabasedlg.moc.o cnewclass
dlg.moc.o cfilepropdlg.moc.o klangcombo.moc.o ctabctl.moc.o
grepdialog.moc.o ckappwizard.moc.o clogfilev iew.moc.o klistview.moc.o
crealfileview.moc.o ckdevinstall.moc.o cnewfiledlg.moc.o ktipofday.moc.o caddc
lassattributedlg.moc.o cclasstooldlg.moc.o cprjoptionsdlg.moc.o
cfinddoctextdlg.moc.o ccvaddfolderdlg.mo c.o caddclassmethoddlg.moc.o
caddnewtranslationdlg.moc.o cdocbrowser.moc.o ckdevelop.moc.o ./vc/libvc.a
./print/libprint.a ./gfxview/libgfxview.a ./kdlgedit/libkdlgedit.a
./kwrite/libkwrite.a ./classparser/l ibclassparser.a
./classwizard/libclasswizard.a -lkfile -lkfm -lkspell -lkhtmlw -lkimgio -ljpeg
-ltiff -ljpeg -lz -lqt -lX11 -lm -ljscript -lkdeui -lkdecore -lqt
-lXext -lX11 -lfl
However, a large number of linking errors occur (I was forced to remove -ldl
and -ldb because there are no such libraries in FreeBSD). I will paste only a
few of these errors (because there are so many, I figured a large number of
them were redundant (i.e., were linked to the same library). I only need to
find out which libraries they belong to so I can figure out where to get them
and how to get them introduced into the build.. (I'm a relatively competent but
inexperienced C++ programmer):
klistview.o: In function `QArrayT<char> type_info function':
klistview.o(.gnu.linkonce.t.__tft7QArrayT1Zc+0x16): undefined reference to
`QGArray type_info functi on'
klistview.o(.gnu.linkonce.t.__tft7QArrayT1Zc+0x1e): undefined reference to
`QGArray type_info node'
klistview.o: In function `KListViewItem type_info function':
ckdevelop.o(.rodata+0x2f00): undefined reference to `QGList type_info node'
ckdevelop.o: In function `QListT<char> type_info function':
ckdevelop.o(.gnu.linkonce.t.__tft6QListT1Zc+0x16): undefined reference to
`QGList type_info function '
ckdevelop.o(.gnu.linkonce.t.__tft6QListT1Zc+0x1e): undefined reference to
`QGList type_info node'
main.o: In function `main':
main.o(.text+0x55e): undefined reference to `KWMModuleApplication virtual table'
main.o(.text+0x6ef): undefined reference to `KWMModuleApplication virtual table'
main.o(.rodata+0x434): undefined reference to `QGList type_info node'
ckdevelop_init.o(.gnu.linkonce.t.__tft6QListT1Z9TEditInfo+0x16): undefined
reference to `QGList type _info function'
ckdevelop_init.o(.gnu.linkonce.t.__tft6QListT1Z9TEditInfo+0x1e): undefined
reference to `QGList type _info node'
ckdevelop_noslot.o(.rodata+0xb34): undefined reference to `QGList type_info
node'
ckdevelop_project.o(.rodata+0xc34): undefined reference to `QGList type_info
node'
cclassview.o(.text+0x2a99): undefined reference to `QPushButton virtual table'
cclassview.o(.text+0x2b00): undefined reference to `QPushButton::QPaintDevice
virtual table'
cclassview.o(.text+0x2b07): undefined reference to `QPushButton virtual table'
cclassview.o(.text+0x2b25): undefined reference to `QPushButton::QPaintDevice
virtual table'
ckdevsetupdlg.o(.rodata+0x1410): undefined reference to `QGList type_info node'
ckdevsetupdlg.o: In function `QDictT<KKeyEntry> type_info function':
ckdevsetupdlg.o(.gnu.linkonce.t.__tft6QDictT1Z9KKeyEntry+0x16): undefined
reference to `QGDict type_ info function'
caddexistingfiledlg.moc.o(.rodata+0x94): undefined reference to `QDialog
type_info node'
caddexistingfiledlg.moc.o: In function `CAddExistingFileDlg type_info function':
caddexistingfiledlg.moc.o(.gnu.linkonce.t.__tf19CAddExistingFileDlg+0x16):
undefined reference to `Q
cgrouppropertiesdlg.moc.o(.rodata+0x4c): undefined reference to `QDialog
type_info node'
cgrouppropertiesdlg.moc.o: In function `CGroupPropertiesDlg type_info function':
caddclassattributedlg.moc.o(.gnu.linkonce.t._$_21CAddClassAttributeDlg+0x3c):
undefined reference to `QPushButton::QPaintDevice virtual table'
caddclassattributedlg.moc.o(.gnu.linkonce.t._$_21CAddClassAttributeDlg+0x46):
undefined reference to `QPushButton virtual table'
caddclassattributedlg.moc.o(.gnu.linkonce.t._$_21CAddClassAttributeDlg+0x64):
undefined reference to `QPushButton::QPaintDevice virtual table'
./kdlgedit/libkdlgedit.a(kdlgeditwidget.o)(.rodata+0x1194): undefined reference
to `QGList type_info node'
./kdlgedit/libkdlgedit.a(kdlgpropwidget.o)(.rodata+0x2e7c): undefined reference
to `QGList type_info node'
./kdlgedit/libkdlgedit.a(kdlgpropwidget.o): In function `AdvListViewItem
type_info function':
kdlgpropwidget.o(.gnu.linkonce.t.__tf15AdvListViewItem+0x16): undefined
reference to `QListViewItem type_info function'
kdlgpropwidget.o(.gnu.linkonce.t.__tf15AdvListViewItem+0x1e): undefined
reference to `QListViewItem type_info node'
[lots and lots of others]
Some of these appear to be in various KDE/Qt libraries. Others look like
they're part of the main kdevelop code (but I think I'm wrong on this
particular thought). I really can't put my finger on why it's not linking,
since the appropriate linking -L's are passed to g++295/libtool...:
<2 2729-0> (99-11-07 15:48:31) [will at shadow ~]% ll /usr/local/lib/libkde*
-rwxr-xr-x 1 root wheel 531 Nov 6 14:51 /usr/local/lib/libkdecore.la*
lrwxr-xr-x 1 root wheel 15 Nov 6 14:51 /usr/local/lib/libkdecore.so@ ->
libkdecore.so.2
-rwxr-xr-x 1 root wheel 465883 Nov 6 14:51 /usr/local/lib/libkdecore.so.2*
-rwxr-xr-x 1 root wheel 523 Nov 6 14:51 /usr/local/lib/libkdeui.la*
lrwxr-xr-x 1 root wheel 13 Nov 6 14:51 /usr/local/lib/libkdeui.so@ ->
libkdeui.so.2
-rwxr-xr-x 1 root wheel 863096 Nov 6 14:51 /usr/local/lib/libkdeui.so.2*
<2 2730-0> (99-11-07 15:48:37) [will at shadow ~]% ll /usr/X11R6/lib/libqt*
lrwxr-xr-x 1 root wheel 19 Aug 17 13:43 /usr/X11R6/lib/libqt.a@ ->
/usr/X11R6/libqt.so
lrwxr-xr-x 1 root wheel 25 Nov 6 03:56 /usr/X11R6/lib/libqt.so@ ->
/usr/X11R6/lib/libqt.so.2
-r--r--r-- 1 root wheel 1601703 Nov 6 03:56 /usr/X11R6/lib/libqt.so.2
lrwxr-xr-x 1 root wheel 26 Nov 7 01:42 /usr/X11R6/lib/libqt2.so@ ->
/usr/X11R6/lib/libqt2.so.2
-r--r--r-- 1 root wheel 4063762 Nov 7 01:42 /usr/X11R6/lib/libqt2.so.2
[Yes, I have Qt 2.02 installed as well, but it is not being used here.]
Frankly, I think the kdevelop configure script needs a lot of cleaning up..
it's one of the most bizarre shell scripts (GNU configure, that is... ;) I've
seen around these last few years, but kdevelop's version is more so.
I am really interested in getting this to work under FreeBSD. Anyone who can
help please reply ASAP. TIA!
--
Will Andrews <andrews at technologist.com>
GCS/E/S @d- s+:+>+:- a--->+++ C++ UB++++ P+ L- E--- W+++ !N !o ?K w---
?O M+ V-- PS+ PE++ Y+ PGP+>+++ t++ 5 X++ R+ tv+ b++>++++ DI+++ D+
G++>+++ e->++++ h! r-->+++ y?
More information about the KDevelop
mailing list