Re: package headers for user applications
On Thu, 2009-05-28 at 19:47 +0100, Neil Williams wrote:
> On Thu, 28 May 2009 10:40:17 +0200
> hoefle marco <firstname.lastname@example.org> wrote:
> > Hello,
> > to port an application to emdebian crush running on an arm (PXA270)
> > board we need the dbus package installed.
> > I found the package under grip package sources:
> > libdbus-1-3_1.2.1-5em1_arm.deb
> Don't use Grip for the source of packages in Crush. Use Debian.
> Building the package with emdebian-tools then applies the same changes
> as would exist in the Grip package - indeed, it applies a few extra
> ones too for Crush.
> > I put this package on the target and installed it using dpkg.
> (Don't build stuff on Crush.)
So you suggest to rebuild the emdebian tar ball using emsandbox instead
of installing the binary package directly on the target?
> > Our user
> > application needs the according dbus/dbus.h header file. What is the
> > suggested way to put it to /usr/arm-linux-gnu/include to be able to
> > cross compile our user app?
> On your desktop machine:
> $ dpkg -S /usr/include/dbus-1.0/dbus/dbus.h
> libdbus-1-dev: /usr/include/dbus-1.0/dbus/dbus.h
> $ apt-cross -v -a arm -i libdbus-1-dev
> [enter sudo password if prompted]
Got an error from apt-cross:
hoefle@wks02-lin:~$ dpkg -S /usr/include/dbus-1.0/dbus/dbus.h
hoefle@wks02-lin:~$ sudo apt-cross -v -a arm -i libdbus-1-dev
Could not open
file /home/hoefle/.apt-cross/testing/lists/http.us.debian.org_debian_dists_testing_main_source_Sources - open (2 No such file or directory)
This is in the lists dir:
I don't know why apt-cross wants to pick
I got our used application (a led daemon controlled by dbus messages)
working. I put the header files by hand
to /usr/arm-linux-gnu/include/dbus (from the libdbus-1-dev package
downloaded from a debian repository).
The user application consists also of a user library which I could cross
compile. I copied the libdbusapihasler.so.0.0.0
Afterward I could cross compile and link the led daemon using:
arm-linux-gnu-gcc -std=c99 -g -O2 -o ledd ledd.o -ldbusapihasler
This is I suppose a very *dirty* way.