kpackage compile
Roger Oberholtzer
roger
Mon May 17 11:39:36 PDT 2004
On Wed, 30 Oct 2002 08:55:11 -0800
Tony Alfrey <tonyalfrey at earthlink.net> wrote:
> On Wednesday 30 October 2002 08:05 am,Tony Alfrey wrote:
> > On Wednesday 30 October 2002 05:18 am,Tim Wunder wrote:
> > > On 10/29/2002 10:01 PM, someone claiming to be Tony Alfrey wrote:
> > > > OK you KDE gurus.
> > > > I can't compile kpackage for kde3.0.4
> > > > Actually I haven't been able to compile kpackage since about
> > > > kde2.2.2 so it must be some old library or old version of rpm.
> > > > But I recall some past discussion of newer versions of rpm having
> > > > some problem. So what do you all recommend (let me guess . . .
> > > > rpm on a console and bag kpackage ?? ;-) )
> > >
> > > Care to elucidate further what error you're having? A mention of
> > > what distro you're using might be helpful, too.
> >
> > Well, I'm not sure that the distro is important anymore since it's
> > been so modified, but I'm running the Caldera precursor to 3.x
> > (LTP). I have rpm 3.0.6 on the box and a 2.4.4 kernel.
> > Unfortunately I didn't write down the compiler error but I'm sure
> > that it was about missing some header file. I'll run make again
> > (without the -i) and see what message I get.
>
> OK, here's the error:
>
> make[3]: Entering directory `/opt/kde3/kdeadmin-3.0.4/kpackage'
> source='rpmInterface.cpp' object='rpmInterface.o' libtool=no \
> depfile='.deps/rpmInterface.Po' tmpdepfile='.deps/rpmInterface.TPo' \
> depmode=gcc /bin/sh ../admin/depcomp \
> g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/rpm -I/opt/kde3/include
> -I/usr/l
> ib/qt3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT
> -O2 -fn
> o-exceptions -fno-check-new -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -c
> -o rpmIn
> terface.o `test -f rpmInterface.cpp || echo './'`rpmInterface.cpp
> rpmInterface.cpp: In method `class QStringList
> RPM::collectFileList(headerToken
> *)':
> rpmInterface.cpp:658: implicit declaration of function `int
> rpmBuildFileList(...
> )'
> make[3]: *** [rpmInterface.o] Error 1
/usr/include/rpm contains a file called rpmlib.h, which contains the
function prototype. The kde source file rpmInterface.cpp MUST include this
file as:
#include <rpmlib.h>
or
#include <rpm/rpmlib.h>
As the compile command line adds /usr/include/rpm to the place to look for
include files, I would expect the first line to be the one. If you do not
see this line or it is not used, there is the problem.
Perhaps the place where the include statement is done is different from
where the function is called. The "if test mey be different, or evaluated
before values in the test are set.
IIRC, this has always been baddly formatted preprocessor code.
>
>
> Well, interestingly enough, there seems to be some problem in the
> rpminterface.cpp source that comes with kde-3.0.4. The error comes in
> the line below starting with rpmBuildFileList. Since I've got rpm
> 3.0.6, the compiler certainly ends up here, but what the problem is I
> haven't a clue.
>
> --------------------------------------------------------------------------
> // Code for RPM 3.0.4 or greater
> #if RPM_V1 >= 3 && (RPM_V1 > 3 || RPM_V2 > 0 || RPM_V3 >= 4)
>
> rpmBuildFileList(h, (const char ***) &fileList, &count2);
>
> --------------------------------------------------------------------------
--
+============================+===============================+
| Roger Oberholtzer | E-mail: roger at opq.se |
| OPQ Systems AB | WWW: http://www.opq.se/ |
| Erik Dahlbergsgatan 41-43 | Phone: Int + 46 8 314223 |
| 115 32 Stockholm | Mobile: Int + 46 733 621657 |
| Sweden | Fax: Int + 46 8 302602 |
+============================+===============================+
More information about the Linux-users
mailing list