[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Questions about the amd64-multiarch-3 proposal



* Bill Allombert 

| Extracted from amd64-multiarch-3.txt:
| > we want the development stuff to be multiply installable (why the hell
| > not?).
| 
| [Of course there is no reason, unless it is too unpractical to do so.]

Because it might cause the build system to be more brittle, but I
think we're ok in that regard.

| >        lib<foo><n>-<arch>
| >               - .so file
| >                - libfooN-x, libfooM-x, libfooN-y must all be concurrently
| >                  installable
|                   
| If you ship the .so symlink here, how will you have libfooN-x and libfooM-x
| concurently installable ? They both include the libfoo.so symlink.

Yes, in different directories:

: tfheen@golem /tmp $ dpkg -c libpaper-dev_1.1.14_i386.deb | grep lib/
drwxr-xr-x root/root         0 2004-04-18 12:12:28 ./usr/lib/
drwxr-xr-x root/root         0 2004-04-18 12:12:28 ./usr/i386-linux/lib/
-rw-r--r-- root/root      6906 2004-04-18 12:12:27 ./usr/i386-linux/lib/libpaper.a
lrwxr-xr-x root/root         0 2004-04-18 12:12:26 ./usr/i386-linux/lib/libpaper.so -> libpaper.so.1.1.2
: tfheen@golem /tmp $ 

The amd64 deb will have:

: tfheen@golem /tmp $ dpkg -c libpaper-dev_1.1.14_amd64.deb | grep lib/
drwxr-xr-x root/root         0 2004-04-18 12:12:28 ./usr/lib/
drwxr-xr-x root/root         0 2004-04-18 12:12:28 ./usr/x86_64-linux/lib/
-rw-r--r-- root/root      6906 2004-04-18 12:12:27 ./usr/x86_64-linux/lib/libpaper.a
lrwxr-xr-x root/root         0 2004-04-18 12:12:26 ./usr/x86_64-linux/lib/libpaper.so -> libpaper.so.1.1.2
: tfheen@golem /tmp $ 

| >        lib<foo><n>-dev-common
| 
| [Probably no concurrent install possible]

dev-common will be arch: all, so concurrent install is meaningless.

| Under current cpp semantic, cpp will search foo-arch.h and
| foo-all.h in /usr/include/foo was found and
| then in /usr/$(gcc -dumpmachine)/include and /usr/include 
| bu not in _both_ /usr/$(gcc -dumpmachine)/include/foo.
| 
| So if foo-arch.h is arch-dependent, it will not be found. 

You probably shouldn't split the include files, move them all to
/usr/$(gcc -dumpmachine)/include and don't worry about them being
arch-indep or not.  It's not like you have a lot of them anyhow.  (On
my development box, /usr/include is ~40MB.)

-- 
Tollef Fog Heen                                                        ,''`.
UNIX is user friendly, it's just picky about who its friends are      : :' :
                                                                      `. `' 
                                                                        `-  



Reply to: