Re: cross-gcc status
-----BEGIN PGP SIGNED MESSAGE-----
> Thanks very much for your help, Nikita!
> On Oct 14, 2004, at 9:45 PM, Nikita V. Youshchenko wrote:
>> The mentioned 'signal.h' should be in /usr/powerpc-linux/include/,
>> by libc6-dev-powerpc-cross package.
>> Is the file there?
>> Have you downloaded libc6-dev-powerpc-cross package, or built it
>> with dpkg-cross -b? Maybe you've built it with non-default path
>> configuration? (I guess dpkg-cross should name created package
>> if non-default paths are used...)
> Ah ha - I built libc6-dev-powerpc-cross myself, using dpkg-cross 1.9,
> but it put everything in /usr/local/powerpc-linux, even though
> /etc/dpkg/cross-compile contains:
> crossbase = /usr
> dpkg-cross used to put everything in /usr/powerpc-linux - however I've
> since created a private configuration file!
> I expected dpkg-cross to read both configuration files, overriding
> options in /etc/dpkg/cross-compile with options in my private
> configuration. This is not the case, & it wasn't clear that it is not
> until I groked the source.
I see several issues here.
- - bad default for crossbase (it *should* be /usr, there is no point to make
it different unless toolchain is able to handle that) - this may be fixed
- - the cause of probalem was that user config overrides completely system
conffile. Raphael, what do you think about proposed patch? it is safe? Or
probably we should postpone better config handling until dpkg-cross 2.0,
where such functionality is planned anyway?
- - dependences can't track situation when different -arch-cross packages use
different paths. Looks that any combination of -arch-cross packages with
different paths is broken if installed in the same system. I see two
possible solutions here:
*) in postinst of -arch-cross packages, ensure that paths in the current
package and in dependent packages are the same, make installation fail if
they are not; add path check code to anything that use -arch-cross
packages (e.g. to cross-gcc building scripts).
*) if paths are non-default, encode path information info package name
suffix; so -powerpc-cross will always have files under /usr/powerpc-linux,
and if someone needs a package with files elsewhere, that package will
have different (probably somewhat long) name
Second solution looks better for me.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
-----END PGP SIGNATURE-----