Upgrading through packages: an experience.
talon at lpthe.jussieu.fr
Sat Jul 12 15:27:38 UTC 2008
On Sat, Jul 12, 2008 at 04:35:29PM +0200, Kris Kennaway wrote:
> Michel Talon wrote:
> >Since KDE recently appeared in the Latest prebuilt packages
> Well, it's always been there, except when it could not be built.
Well it was not here ten days ago, i think, when it was discussed in this
mailing list. I checked, this days and several days afterwards. Then
i saw since perhaps 2 or 3 days.
> >Now the problems. They come from the fact that the Latest packages are
> >not always coherent between themselves or with the libraries in
> No, they are. In fact this is a key design feature, and the same reason
> why sometimes certain packages do not appear on the FTP site (if they
> did appear they would be necessarily *out* of sync). Similarly they are
> always built against recent versions of -STABLE, by design.
So there has been some changes between 7.0-RELEASE and STABLE since
i have just got some minutes ago:
niobe% wget http://myfreebsd.homeunix.net/csup.core
/libexec/ld-elf.so.1: /lib/libc.so.7: version FBSD_1.1 required by wget
I did not remember that versioned symbols were in FreeBSD-7. Of course
after a rebuild, wget works. I had another similar problem somewhere,
but all others were related to fcntl() locking (*) problems.
> Glad to hear your experience was generally positive though.
Yes, very positive. In particular a point i forgot to stress, the
coverage of the prebuilt packages is excellent now, as can be testified
by the fact that only 19 ports had to be compiled while 877 packages
were present. This is thanks to you and your work on the cluster.
One aim of my message was to show that, at present, the coverage is so
good that one can envision a Debian-like experience on FreeBSD when
doing binary upgrades, even going through considerable evolutions.
(*) This is a ktrace of the problem:
niobe# ktrace -di kdm-bin
4214 kdm-bin CALL open(0x283052c4,O_RDWR,<unused>0xe)
4214 kdm-bin NAMI "/var/run/kdm.pid"
4214 kdm-bin RET open 3
4214 kdm-bin CALL getdtablesize
4214 kdm-bin RET getdtablesize 11095/0x2b57
4214 kdm-bin CALL fcntl(0x3,F_GETFL,0)
4214 kdm-bin RET fcntl 2
4214 kdm-bin CALL fstat(0x3,0xbfbfddb0)
4214 kdm-bin RET fstat 0
4214 kdm-bin CALL read(0x3,0x28314000,0x1000)
4214 kdm-bin GIO fd 3 read 0 bytes
4214 kdm-bin RET read 0
4214 kdm-bin CALL lseek(0x3,0,SEEK_SET,0)
4214 kdm-bin RET lseek 0
4214 kdm-bin CALL fcntl(0x3,<invalid=12>,0xbfbfe730)
4214 kdm-bin RET fcntl -1 errno 22 Invalid argument
Note the <invalid=12>. This is followed by:
4214 kdm-bin CALL sendto(0x4,0xbfbfd46e,0x4e,0,0,0)
4214 kdm-bin GIO fd 4 wrote 78 bytes
"<27>Jul 12 17:18:29 kdm-bin: Can't create/lock pid file
And here the kdm.pid is created, it is the locking which fails.
Clearly things have changed for the fcntl() action type between
FreeBSD-7.0-RELEASE and the machine on which kdm-bin has been compiled.
More information about the freebsd-ports