Dear all,

I am a happy user, using scratchbox2 (1.99.0.27) to cross compile
applications. My target is an arm platform running Debian squeeze and my
host is a amd64 Ubuntu9.04.
After some configuration time it works really nicely. But I have a couple of
usages questions.

How to get pkgconfig work "automatically"?
How to use "make install" or "checkinstall" within the scratchbox2
environment?


My directory setup is as follows:
1) /home/myname/arm-2009q3/
2) /home/myname/armrootfs
3) /home/myname/sourcecode
4) /usr/cross-pkg/xxxxxxx/ (the xxxxxxx is something like "armel-linux-eabi"
but I forgot what it exactly is......)

The codesoucery toolchain resides in directory (1)

I have the root file system of my target in directory (2).
I can do this in two ways: I mount with nfs the actually root file system of
my target as readonly or I untar under (2) a copy of the root file system in
that directory.
With nfs I really use the right file system but I cannot write to it. And if
I untar the file then is the owner not correct (myname and not root). Both
work during the compiling phase, but give a problem when I like to install
something. What would be the best/most common approach?

In directory (3) I do my development work.
I install the needed development libraries with apt-cross in directory (4)
which makes them accessible for everybody working on the machine.

I used sb2-init inside of my armrootfs(2) directory and I added in the
sb2.config file of my target the relevant directories of (4) with means of
-L and -I options for the compiler.
This works very well; I can compile anything I like within the sb2 shell and
it works on the target (when I install the right not-dev libraries as well
on the target.)

But when the "make" file tries to use pkgconfig is it not working directly.
pkgconfig is looking in my target rootfs (2) and not in the additional
library directories(4). I have to use "export
PKG_CONFIG_PATH=/usr/cross-pkg/xxxxx/usr/lib/pkconfig" and then it is
working again.
Is it possible to add "TARGET_PKG_CONFIG_PATH" to the sb2.config file in
such way that this environment variable is automatically set when I go into
the sb2 shell?

The next step that is going wrong is when I use "make install" or
"checkinstall" within the sb2 shell then the intention is that the relevant
files get installed into the armrootfs(2) directory and with the second
command I should also get a debian package that I can install on my target.
But this is not working: it looks like if "make install" tries to install
the files onto the root of my host and not the target. I can solve this of
course by using --PREFIX=/home/myname/armroofs during the ./configure phase,
but in that case is it not really easily possible to install the debian
package on my target.
(By the way when I had mounted my real target root filesystem with nfs as
read only is this anyhow not working.)
How do other users install the just compiled files onto their target?
Is there a way to make "make install" or preferably "checkinstall" work?
Or is it just a matter of copying the files by hand to the right directories
on the target?

I hope someone can explain to me what the most common approach is.

Many thanks in advance!

Kind regards,

Han
_______________________________________________
Scratchbox-users mailing list
Scratchbox-users@lists.scratchbox.org
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users

Reply via email to