[packagekit] Problem running example from FAQ

Dorian Perkins dperkins at google.com
Thu Aug 7 11:23:29 PDT 2008

Hi again,

So I am attempting to compile the system.c example Richard linked me to in
the previous message. I am using the compile string from the website. At
first try, I got the following error:

system.c: In function 'main':
system.c:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before
'*' token
system.c:15: error: 'obj' undeclared (first use in this function)
system.c:15: error: (Each undeclared identifier is reported only once
system.c:15: error: for each function it appears in.)
system.c:60: warning: implicit declaration of function

Then I tried to find the culprit of the first  error "error: expected '=',
',', ';', 'asm' or '__attribute__' before '*' token". I removed the "const"
from the line "const PkPackageObj *obj;" and tried  to compile, giving me
the error output:

system.c: In function 'main':
system.c:18: error: 'PkPackageObj' undeclared (first use in this function)
system.c:18: error: (Each undeclared identifier is reported only once
system.c:18: error: for each function it appears in.)
system.c:18: error: 'obj' undeclared (first use in this function)
system.c:63: warning: implicit declaration of function

I then tried to track down which header PkPackageObj was being declared in.
I grep'd for the string in the libpackagekit directory from the git main
branch (0.2.3) image and noticed it was used in <pk-package-list.h> and
<pk-package-obj.h>. Also I searched for "pk_package_list_get_obj" which was
used in <pk-package-list.h>.

I added those header includes to the file, tried to compile again and got
the same errors. So I looked in /usr/include/packagekit and noticed that
'pk-package-obj.h' does not exist there, but 'pk-package-list.h' does.

pk-catalog.h  pk-client.h  pk-common.h  pk-connection.h  pk-control.h
pk-debug.h  pk-enum.h  pk-extra.h  pk-package-id.h  pk-package-ids.h
pk-package-item.h  pk-package-list.h  pk-task-list.h

I grep'd for PkPackageObj here are could not find it. I recursively grep'd
the entire  /usr/include branch for PkPackageObj and found nothing.

And this is where my ideas ended. HELP! :)


On Thu, Aug 7, 2008 at 2:34 AM, Richard Hughes <hughsient at gmail.com> wrote:

> On Wed, 2008-08-06 at 18:53 -0700, Dorian Perkins wrote:
> > Hello again,
> >
> > So I have another question now. In reference to the example at hand,
> > the FAQ mentions:
> >       * InstallPackageName("openoffice-clipart")
> >       * InstallProvideFile("/usr/share/fonts/sarai/Sarai_07.ttf")
> >       *
> InstallLocalFile("/home/dave/Desktop/lirc-0.6.6-4.rhfc1.dag.i686.rpm")
> >       * InstallMimeType("application/x-rpm")
> >       * InstallFont("lang(en_GB)")
> > "
> >
> > However, I'd like to do other tasks such as EnableRepo() and
> > GetRepoList(), etc. How can I do this? Am I approaching this the wrong
> > way?
> Well, the problem is that you are using the session "easy" interface.
> See http://www.packagekit.org/pk-faq.html#session-system for an
> explanation of why you would want to use the session interface in an
> trivial application, but the system one for more complex or for
> integrated use cases.
> To do RepoEnable you'll need to use the system service -- it's more
> complicated but much more powerful. Luckily there are some nice GObject
> bindings that make it a lot easier to work with. Have a look at an
> example file I just uploaded: http://www.packagekit.org/files/system.c
> -- all the docs for that are here: http://www.packagekit.org/gtk-doc/
> That's certainly some reading for you to do! :-)
> Richard.
> _______________________________________________
> PackageKit mailing list
> PackageKit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/packagekit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/packagekit/attachments/20080807/accc9af4/attachment-0003.htm>

More information about the PackageKit mailing list