Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 17618 - celestia 1.2.5 compile failes
Summary: celestia 1.2.5 compile failes
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
: 13788 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-03-16 06:06 UTC by Markus
Modified: 2003-05-12 22:55 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
modified celestia-1.2.5.ebuild (celestia-1.2.5.ebuild,1.51 KB, application/octet-stream)
2003-03-18 03:13 UTC, George Shapovalov (RETIRED)
Details
Fixed celestia-1.2.5.ebuild (celestia-1.2.5.ebuild,1.91 KB, text/plain)
2003-03-18 06:22 UTC, Dan Armak (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Markus 2003-03-16 06:06:57 UTC
celestia 1.2.5 doesn't compile  
 
>celestialbrowserbase.uic.cpp:46: invalid use of undefined type `struct   
KListView' 
 
kde versions tried: 3.0.5a, 3.1 
 
 

Reproducible: Always
Steps to Reproduce:
1.emerge celestia 
2. 
3. 
Actual Results:  
g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../.. -I.. -I/usr/qt/3/include 
-I/usr/kde/3.1/include  -DQT_THREAD_SUPPORT  -D_REENTRANT  
-Wnon-virtual-dtor -Wno-long-long -Wbad-function-cast -Wundef -Wall -W 
-Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi 
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -DNDEBUG 
-DNO_DEBUG -O2 -march=pentium4 -O3 -pipe -fomit-frame-pointer 
-fno-exceptions -fno-check-new  -O2 -Wall -ffast-math -fexpensive-optimizations 
-fomit-frame-pointer    -c -o celestialbrowserbase.uic.moc.o `test -f 
'celestialbrowserbase.uic.moc.cpp' || echo './'`celestialbrowserbase.uic.moc.cpp 
celestialbrowserbase.uic.cpp: In constructor 
   `CelestialBrowserBase::CelestialBrowserBase(QWidget*, const char*, bool, 
   unsigned int)': 
celestialbrowserbase.uic.cpp:46: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
celestialbrowserbase.uic.cpp:47: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
celestialbrowserbase.uic.cpp:48: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
celestialbrowserbase.uic.cpp:49: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
celestialbrowserbase.uic.cpp:50: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
celestialbrowserbase.uic.cpp:51: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
celestialbrowserbase.uic.cpp:53: no matching function for call to `QGridLayout 
   ::addMultiCellWidget(KListView*&, int, int, int, int)' 
/usr/qt/3/include/qlayout.h:326: candidates are: void 
   QGridLayout::addMultiCellWidget(QWidget*, int, int, int, int, int = 0) 
celestialbrowserbase.uic.cpp:94: no matching function for call to ` 
   CelestialBrowserBase::connect(KListView*&, const char[56], 
   CelestialBrowserBase* const, const char[56])' 
/usr/qt/3/include/qobject.h:116: candidates are: static bool 
   QObject::connect(const QObject*, const char*, const QObject*, const char*) 
/usr/qt/3/include/qobject.h:227:                 bool QObject::connect(const 
   QObject*, const char*, const char*) const 
celestialbrowserbase.uic.cpp: In member function `virtual void 
   CelestialBrowserBase::languageChange()': 
celestialbrowserbase.uic.cpp:115: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
celestialbrowserbase.uic.cpp:116: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
celestialbrowserbase.uic.cpp:117: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
celestialbrowserbase.uic.cpp:118: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
celestialbrowserbase.uic.cpp:119: invalid use of undefined type `struct 
   KListView' 
celestialbrowserbase.uic.h:19: forward declaration of `struct KListView' 
make[5]: *** [celestialbrowserbase.uic.o] Error 1 
make[5]: *** Waiting for unfinished jobs.... 
make[5]: Leaving directory 
`/var/tmp/portage/celestia-1.2.5/work/celestia-1.2.5/src/celestia/kde' 
make[4]: *** [all-recursive] Error 1 
make[4]: Leaving directory 
`/var/tmp/portage/celestia-1.2.5/work/celestia-1.2.5/src/celestia/kde' 
make[3]: *** [all-recursive] Error 1 
make[3]: Leaving directory 
`/var/tmp/portage/celestia-1.2.5/work/celestia-1.2.5/src/celestia' 
make[2]: *** [all-recursive] Error 1 
make[2]: Leaving directory 
`/var/tmp/portage/celestia-1.2.5/work/celestia-1.2.5/src' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/var/tmp/portage/celestia-1.2.5/work/celestia-1.2.5' 
make: *** [all] Error 2 
 
!!! ERROR: app-misc/celestia-1.2.5 failed. 
!!! Function src_compile, Line 53, Exitcode 2 
!!! (no error message) 
 

Expected Results:  
celestia 1.2.5 merged 

System uname: 2.4.19 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz 
GENTOO_MIRRORS="http://gentoo.oregonstate.edu/ 
http://distro.ibiblio.org/pub/Linux/distributions/gentoo" 
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config 
/usr/kde/3/share/config /usr/X11R6/lib/X11/xkb 
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ 
/usr/share/config" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" 
PORTDIR="/usr/portage" 
DISTDIR="/usr/portage/distfiles" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR_OVERLAY="" 
USE="oss avi crypt encode gif jpeg libg++ mikmod mmx ncurses nls pdflib png spell 
truetype xml2 xmms xv zlib gdbm berkdb slang readline arts aalib tcltk java X sdl 
gpm tcpd pam libwww ssl perl python imlib oggvorbis gtk motif opengl mozilla -acpi 
-3dnow -apm -esd -svga -gnome directfb gtk2 icc icc-pgo ipv6 matrox tetex x86 
cups sse wmf mpeg quicktime qt qtmt kde slp" 
COMPILER="gcc3" 
CHOST="i686-pc-linux-gnu" 
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" 
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" 
ACCEPT_KEYWORDS="x86 ~x86" 
MAKEOPTS="-j2" 
AUTOCLEAN="yes" 
SYNC="rsync://rsync.gentoo.org/gentoo-portage" 
FEATURES="sandbox ccache"
Comment 1 Dan Armak (RETIRED) gentoo-dev 2003-03-17 08:52:30 UTC
Adding George to cc: since he's prominent in the celestia changelog, so maybe he has 
comments to add. 
 
First of all I can see that the ebuild doesn't even mention qt or kde. (I've never heard of 
celestia before now, myself.) So this is going to take a little work in adding the missing deps 
and testing stuff. 
 
As for this problem, without trying it myself yet (13MB download over dialup) it looks (at first 
sight anyway) like a simple one - there are pregenerated .cpp and/or .h files in the tarball, 
which do not match the installed version of qt. They should just be deleted in src_unpack, and 
then make will regenerate them correctly to match the installed qt. 
Comment 2 George Shapovalov (RETIRED) gentoo-dev 2003-03-18 02:40:28 UTC
Hi guys,

Yup, looks like 1.2.5 picked up kde UI, while keeping an old instructions in INSTALL (basically not mentioning it) :(.
Ok, I'll try to "fix" this, though I did not have problems while I was testing it originally. Lets just hope it goes with all the necessary .moc files, so that corresponding .cpp's and .h's will get regenerated.
I'll get to this shortly..

BTW, doesn't look like I can easily switch kde support off (to make it optional under kde flag). --disable-kde or --without-kde is just ignored and there are no messaged about identifying Qt or kde... But let me do some checks..

Ok, looks like configure *does* take --with-kde, probably meaning that kde support is off by default. Also its output made me suspect that that this is either gtk or kde situation :
>+checking whether to disable GTK.... yes

Markus: did you try to emerge celestia with --with-kde added?

I guess I'll make kdelibs optional dependency on kde USE flag and add --with-kde if "use kde"...

Dan, you can assign this to me, if you wish (well, looks like I'll do it shortly anyway ;))

George
Comment 3 George Shapovalov (RETIRED) gentoo-dev 2003-03-18 02:42:10 UTC
*** Bug 13788 has been marked as a duplicate of this bug. ***
Comment 4 George Shapovalov (RETIRED) gentoo-dev 2003-03-18 03:12:18 UTC
An update.

Ok, I modified the ebuild as described above, which made it try to install kdeUI if USE contains kde. So now I am able to reproduce the problem. However doesn't look like simple "delete all .cpp and .h" files is going to work (and it doesn't, just tried), as there are no moc files I could find. There is on e .ui file in that dir, but clearly this is not enough.

I am afraid Dan I will have to leave this bug to you, as you are the master of kde in gentoo ;), and I don't know more than I already tried in that respect :(.
I'll attach the modified ebuild (instead of committing modifications, in order not to tempt our users to try broken stuff :)).

George
Comment 5 George Shapovalov (RETIRED) gentoo-dev 2003-03-18 03:13:52 UTC
Created attachment 9552 [details]
modified celestia-1.2.5.ebuild

The modified celestia-1.2.5.ebuild
Comment 6 Dan Armak (RETIRED) gentoo-dev 2003-03-18 06:21:29 UTC
The problem was that the celestia configure script doesn't set (or even try to detect) the 
correct value for kde_widgetdir (which should be $KDEDIR/lib/kde3/plugins/designer). Instead 
it passes to uic the default value of /usr/lib/kde3/... which of course doesn't exist under 
gentoo, which doesn't work. 
 
So I just exported kde_widgetdir in the ebuild, configure only touches it if it isn't set already, so 
it works now. (We need to write upsteam about this...) 
 
In src_unpack there's a comment that says that gtk support requires gnome. However in 
DEPEND, gnome-libs is triggered by gnome?, not by gtk?. So one of the two is incorrect. We 
need to settle on either the gtk or the gnome use flag, there's no reason for two flags. IMO 
gnme is correct since it actually uses the gnome libs. 
 
The remaining problem is that the kde and gnome interfaces are indeed mutually exclusive. It 
builds a binary called 'celestia' every time. (Note that configure itself prefers gnome over kde - 
line 14628). 
However, everything but the binary is installed in different locations: with the kde interface, 
datafiles go in /usr/share/apps/celestia/, as per the kde standard. With the gnome interface 
they go in /usr/share/celestia/. 
 
I would have liked an ebuild that uses gnome if USE gnome, otherwise kde if USE kde, 
otherwise gnome by default. However the DEPEND syntax for that doesn't work yet (just 
asked carpaski on irc). 
So I've made an ebuild that uses gnome if USE gnome, otherwise use kde (the kde USe flag 
isn't used at all). I also put a notice in pkg_setup explaining it. Attaching that. What do you 
think? 
Comment 7 Dan Armak (RETIRED) gentoo-dev 2003-03-18 06:22:39 UTC
Created attachment 9556 [details]
Fixed celestia-1.2.5.ebuild
Comment 8 Markus 2003-03-18 08:32:43 UTC
>Markus: did you try to emerge celestia with --with-kde added? 
 
>I guess I'll make kdelibs optional dependency on kde USE flag and add --with-kde if 
>"use kde"... 
 
tried: 
USE="kde" 
USE="-kde" 
configure --with-kde : 
gave the same error 
 
tried 
configure --with-gkt : 
gave a differrent error!! 
 
tried 
configure  {'',--with-kde}  
make distclean (should remove autogenerated files, should'nt it?) : 
same errror 
 
Markus 
 
Comment 9 Markus 2003-03-18 08:41:24 UTC
 Dan Armak: damn cool, man! 
 
Markus 
Comment 10 George Shapovalov (RETIRED) gentoo-dev 2003-03-18 18:09:13 UTC
Hi Dan

Just tested. Looking good to me.
Thanks!

George
Comment 11 John Mylchreest (RETIRED) gentoo-dev 2003-04-08 13:57:31 UTC
i also get this problem:

>>> Unpacking source...
>>> Unpacking celestia-1.2.5.tar.gz to /var/tmp/portage/celestia-1.2.5/work
>>> Source unpacked.
configure: error: unrecognized option: --withou-kde
Try `./configure --help' for more information.
Comment 12 George Shapovalov (RETIRED) gentoo-dev 2003-04-08 16:45:18 UTC
Hi John.

Thanks for report!
Not sure how that got changed or uncought :( (tested out fine few weeks ago..).
Fixed this typo.

George
Comment 13 Bret Towe 2003-04-17 02:04:52 UTC
since 1.3.0 is out now i tried the fixed ebuild after fixing that typo
it works fine i tried both gnome and -gnome use flags
Comment 14 Caleb Tennis (RETIRED) gentoo-dev 2003-05-12 22:55:26 UTC
This bug seems to have been fixed.