I think I have found the problem.  The sunwcsl package wants to create
a symlink for /usr/lib/64 to /usr/lib/amd64 but the new "shadow-built"
packages with combined 32/64 libs (ex libiconv, libncurses) has
created a real directory for /usr/lib/64 already.  So debootstrap
fails while unpacking sunwcsl with:

tar: ./usr/lib/64: Cannot create symlink to `amd64': File exists
tar: Error exit delayed from previous errors

In the sunwcsl package you can see that it wants /usr/lib/amd64 to be
a real directory and /usr/lib/64 to be a symlink:

r...@upton3:/tmp# dpkg -c
/tank/ncp2/dists/hardy-unstable/main/binary-solaris-i386/base/sunwcsl_5.11.104-5_solaris-i386.deb
|grep "/usr/lib/64"
lrwxrwxrwx root/root         0 2009-02-04 14:45:45 ./usr/lib/64 -> amd64

r...@upton3:/tmp# dpkg -c
/tank/ncp2/dists/hardy-unstable/main/binary-solaris-i386/base/sunwcsl_5.11.104-5_solaris-i386.deb
|grep "/usr/lib/amd64/$"
drwxr-xr-x root/bin          0 2009-02-04 14:45:25 ./usr/lib/amd64/

And on a system without updates to include the new shadow-built 32/64
packages, you can see that indeed all "64" directories are symlinks to
real "amd64" directories under /usr/lib:

r...@upton3:/tmp# find /usr/lib -name 64 -exec ls -ald {} \;
lrwxrwxrwx 1 root root 5 Dec 29 22:15 /usr/lib/link_audit/64 -> amd64
lrwxrwxrwx 1 root root 5 Dec 29 22:15 /usr/lib/64 -> amd64
drwxr-xr-x 2 root bin 3 Dec 29 22:16 /usr/lib/dtrace/64
lrwxrwxrwx 1 root root 5 Dec 29 22:15 /usr/lib/security/64 -> amd64
lrwxrwxrwx 1 root root 5 Dec 29 22:15 /usr/lib/secure/64 -> amd64
lrwxrwxrwx 1 root root 5 Dec 29 22:15 /usr/lib/lwp/64 -> amd64

r...@upton3:/tmp# find /usr/lib -name amd64 -exec ls -ald {} \;
drwxr-xr-x 4 root bin 390 Jan 28 11:54 /usr/lib/amd64
drwxr-xr-x 2 root bin 6 Dec 29 22:17 /usr/lib/sasl/amd64
drwxr-xr-x 2 root bin 4 Dec 29 22:17 /usr/lib/krb5/amd64
drwxr-xr-x 2 root sys 3 Dec 29 22:19 /usr/lib/adb/amd64
drwxr-xr-x 2 root bin 5 Dec 29 22:17 /usr/lib/link_audit/amd64
drwxr-xr-x 2 root bin 5 Dec 29 22:17 /usr/lib/ld/amd64
drwxr-xr-x 2 root bin 58 Jan 28 11:54 /usr/lib/security/amd64
drwxr-xr-x 2 root bin 2 Dec 16 12:13 /usr/lib/secure/amd64
drwxr-xr-x 2 root sys 3 Jan 28 11:54 /usr/lib/fs/smbfs/amd64
drwxr-xr-x 2 root sys 3 Jan 28 11:54 /usr/lib/fs/smb/amd64
drwxr-xr-x 2 root sys 3 Dec 29 22:17 /usr/lib/fs/nfs/amd64
drwxr-xr-x 2 root bin 26 Dec 29 22:19 /usr/lib/fm/amd64
drwxr-xr-x 2 root bin 11 Dec 29 22:19 /usr/lib/fm/fmd/schemes/amd64
drwxr-xr-x 2 root bin 4 Dec 29 22:16 /usr/lib/lwp/amd64
drwxr-xr-x 2 root sys 3 Dec 29 22:17 /usr/lib/ipf/amd64
drwxr-xr-x 2 root bin 3 Dec 29 22:17 /usr/lib/locale/iso_8859_1/amd64
drwxr-xr-x 3 root root 3 Jun  4  2008 /usr/lib/perl/5.8.8/amd64
drwxr-xr-x 2 root bin 16 Dec 29 22:16 /usr/lib/cfgadm/amd64
drwxr-xr-x 2 root sys 48 Jan 28 11:54 /usr/lib/mdb/kvm/amd64
drwxr-xr-x 2 root bin 14 Jan 28 11:54 /usr/lib/mdb/proc/amd64
drwxr-xr-x 2 root sys 3 Dec 29 22:16 /usr/lib/mdb/raw/amd64
drwxr-xr-x 2 root bin 3 Dec 29 22:16 /usr/lib/raidcfg/amd64
drwxr-xr-x 2 root bin 2 Dec 18 00:35 /usr/lib/fp/libp/amd64
drwxr-xr-x 2 root bin 6 Dec 29 22:17 /usr/lib/smedia/amd64
drwxr-xr-x 2 root bin 5 Dec 29 22:16 /usr/lib/dns/amd64
drwxr-xr-x 2 root bin 5 Dec 29 22:17 /usr/lib/iconv/amd64
drwxr-xr-x 2 root bin 6 Dec 29 22:17 /usr/lib/scsi/plugins/ses/vendor/amd64
drwxr-xr-x 2 root bin 4 Dec 29 22:16 /usr/lib/scsi/plugins/ses/framework/amd64
drwxr-xr-x 2 root bin 3 Dec 29 22:16 /usr/lib/scsi/plugins/scsi/engines/amd64
drwxr-xr-x 2 root bin 8 Dec 29 22:19 /usr/lib/scsi/amd64

Looking through the packages with "+64" in the name and seeing what
happens with "/usr/lib/64" shows that this directory is made as a real
directory, not a symlink.

r...@upton3:/tmp# (for file in `find /tank/ncp2/ -name "*+64*.deb"` ;
do dpkg -c $file ; done)|grep "/usr/lib/64"
drwxr-xr-x root/root         0 2009-02-04 13:43:42 ./usr/lib/64/
-rw-r--r-- root/root   2952160 2009-02-04 13:43:03 ./usr/lib/64/libncursesw_g.a
-rw-r--r-- root/root    355252 2009-02-04 13:43:04 ./usr/lib/64/libmenuw_g.a
-rw-r--r-- root/root    684714 2009-02-04 13:43:05 ./usr/lib/64/libformw_g.a
-rw-r--r-- root/root    137752 2009-02-04 13:43:03 ./usr/lib/64/libpanelw_g.a
drwxr-xr-x root/root         0 2009-02-04 13:44:56 ./usr/lib/64/
-rw-r--r-- root/root     65814 2009-02-04 13:44:55 ./usr/lib/64/libmenuw.a
-rw-r--r-- root/root    169154 2009-02-04 13:44:55 ./usr/lib/64/libncurses++w.a
-rw-r--r-- root/root    754774 2009-02-04 13:44:56 ./usr/lib/64/libncursesw.a
-rw-r--r-- root/root    126908 2009-02-04 13:44:56 ./usr/lib/64/libformw.a
-rw-r--r-- root/root     25794 2009-02-04 13:44:56 ./usr/lib/64/libpanelw.a
lrwxrwxrwx root/root         0 2009-02-04 13:43:41
./usr/lib/64/libpanelw.so -> libpanelw.so.5
lrwxrwxrwx root/root         0 2009-02-04 13:43:41
./usr/lib/64/libmenuw.so -> libmenuw.so.5
lrwxrwxrwx root/root         0 2009-02-04 13:43:41
./usr/lib/64/libformw.so -> libformw.so.5
lrwxrwxrwx root/root         0 2009-02-04 13:44:47
./usr/lib/64/libncursesw.so -> /lib/64/libncursesw.so.5
drwxr-xr-x root/root         0 2009-02-04 13:43:40 ./usr/lib/64/
-rw-r--r-- root/root   2587638 2009-02-04 13:42:57 ./usr/lib/64/libncurses_g.a
-rw-r--r-- root/root    654460 2009-02-04 13:42:59 ./usr/lib/64/libform_g.a
-rw-r--r-- root/root    344900 2009-02-04 13:42:59 ./usr/lib/64/libmenu_g.a
-rw-r--r-- root/root    133032 2009-02-04 13:42:58 ./usr/lib/64/libpanel_g.a
drwxr-xr-x root/root         0 2009-02-04 13:44:55 ./usr/lib/64/
-rw-r--r-- root/root    673982 2009-02-04 13:44:55 ./usr/lib/64/libncurses.a
-rw-r--r-- root/root    169154 2009-02-04 13:44:55 ./usr/lib/64/libncurses++.a
lrwxrwxrwx root/root         0 2009-02-04 13:43:23
./usr/lib/64/libmenu.so -> libmenu.so.5
lrwxrwxrwx root/root         0 2009-02-04 13:43:23
./usr/lib/64/libform.so -> libform.so.5
lrwxrwxrwx root/root         0 2009-02-04 13:43:23
./usr/lib/64/libpanel.so -> libpanel.so.5
lrwxrwxrwx root/root         0 2009-02-04 13:44:47
./usr/lib/64/libncurses.so -> /lib/64/libncurses.so.5
drwxr-xr-x root/root         0 2009-02-04 13:43:22 ./usr/lib/64/
lrwxrwxrwx root/root         0 2009-02-04 13:43:22
./usr/lib/64/libpanel.so.5 -> libpanel.so.5.5
lrwxrwxrwx root/root         0 2009-02-04 13:43:22
./usr/lib/64/libmenu.so.5 -> libmenu.so.5.5
lrwxrwxrwx root/root         0 2009-02-04 13:43:22
./usr/lib/64/libform.so.5 -> libform.so.5.5
drwxr-xr-x root/root         0 2009-02-04 13:43:41 ./usr/lib/64/
lrwxrwxrwx root/root         0 2009-02-04 13:43:41
./usr/lib/64/libpanelw.so.5 -> libpanelw.so.5.5
lrwxrwxrwx root/root         0 2009-02-04 13:43:41
./usr/lib/64/libformw.so.5 -> libformw.so.5.5
lrwxrwxrwx root/root         0 2009-02-04 13:43:41
./usr/lib/64/libmenuw.so.5 -> libmenuw.so.5.5
drwxr-xr-x root/root         0 2009-02-02 19:31:48 ./usr/lib/64/
-rw-r--r-- root/root      6952 2009-02-02 19:31:48
./usr/lib/64/libcharset.so.1.0.0
-rw-r--r-- root/root      6680 2009-02-02 19:31:48 ./usr/lib/64/libcharset.a
-rw-r--r-- root/root   1015704 2009-02-02 19:31:48
./usr/lib/64/preloadable_libiconv.so
lrwxrwxrwx root/root         0 2009-02-02 19:31:48
./usr/lib/64/libiconv.so.2 -> /lib/64/libiconv.so.2.4.0
lrwxrwxrwx root/root         0 2009-02-02 19:31:48
./usr/lib/64/libcharset.so -> libcharset.so.1.0.0
lrwxrwxrwx root/root         0 2009-02-02 19:31:48
./usr/lib/64/libiconv.so.2.4.0 -> /lib/64/libiconv.so.2.4.0
lrwxrwxrwx root/root         0 2009-02-02 19:31:48
./usr/lib/64/libiconv.so -> /lib/64/libiconv.so.2.4.0
lrwxrwxrwx root/root         0 2009-02-02 19:31:48
./usr/lib/64/libcharset.so.1 -> libcharset.so.1.0.0

And searching those packages for "/usr/lib/amd64" yields nothing:

r...@upton3:/tmp# (for file in `find /tank/ncp2/ -name "*+64*.deb"` ;
do dpkg -c $file ; done)|grep "/usr/lib/amd64"
r...@upton3:/tmp#

So I propose that the shadow build packages should be using "amd64"
instead of "64" since the former always seems to be a directory and
the latter a symlink.

Sorry for so much detail, but couldn't figure out a better way to get
it across in email.

Jason

On Fri, Feb 6, 2009 at 9:09 AM, Jason Upton <wavejumpe...@gmail.com> wrote:
> FYI- This also affects zone installs (presumably since both are using
> debootstrap).  Same error:
>
> bash# zoneadm -z zonetestcontrib install
> ...
> ...
> I: Extracting sunwcsl...
> Zone 'zonetestcontrib' is not fully installed. debootstrap returned
> error code [2].
>
> Jason
>
> On Fri, Feb 6, 2009 at 5:57 AM, Anil Gulecha <anil.ve...@gmail.com> wrote:
>> Hi,
>>
>> Debootstrap during nbld-bootstrap fails. This has been seen in 2
>> instances in the past 2 days. It could be related to the the recent
>> sunw packages, as the last package to be extracted before the failure
>> is sunwcsl.
>>
>> ...
>> ...
>> I: Extracting sunwcsl...
>> Error: couldn't complete bootstrap
>> Lock /tank/ncp2/dists/debarchiver.lock removed
>>
>> Ideas on why this is happening?
>>
>> Anil
>> _______________________________________________
>> gnusol-devel mailing list
>> gnusol-devel@lists.sonic.net
>> http://lists.sonic.net/mailman/listinfo/gnusol-devel
>>
>
_______________________________________________
gnusol-devel mailing list
gnusol-devel@lists.sonic.net
http://lists.sonic.net/mailman/listinfo/gnusol-devel

Reply via email to