upgrade glibc
Jakub Bogusz
qboosh w pld-linux.org
Czw, 15 Sty 2004, 23:10:40 CET
On Thu, Jan 15, 2004 at 10:53:04PM +0100, Mariusz Mazur wrote:
> On Thursday 15 of January 2004 18:11, Jakub Bogusz wrote:
> > > To ja się podepnę. Mogę te glibce co są w ready przenosić, czy jeszcze
> > > jakoś popsute są?
> >
> > Właśnie to o czym pisałem zostało do naprawienia.
>
> Czyli czekamy, aż jajcus sprawdzi jak wyszły w praktyce jego poprawki na rpma.
>
> > I zepsute buildery i686 i athlon.
>
> Tzn? Musiało mi umknąć jak o tym pisałeś, bo tylko kojarzę, że walczyłeś z
> alphą (i wygrałeś :).
Nie działają wątki - wywala się budowanie glib2a, php, ...
$ sudo chroot ~/chroot-athlon/ su - builder2 -c 'export LC_ALL=C; ./strace -v ./pt'
[...]
sigreturn() = ? (mask now [RTMIN])
waitpid(16609, NULL, __WCLONE) = 16609
exit_group(0) = ?
natomiast to samo wywołane przez pythona (kawałek wycięty z pld-builder.new):
$ python testch.py
execve("./pt", ["./pt"], [/* 19 vars */]) = 0
[...]
sigreturn() = ? (mask now [RTMIN])
waitpid(16671, NULL, __WCLONE) = 16671
exit_group(11) = ?
11 czyli EAGAIN.
Nie mogę porównać z builderem i586 (gdzie wątki działają), bo tam jest
noptrace.
$ cat testch.py
import os
import re
def quote(cmd):
return re.sub("([\"\\\\$`])", r"\\\1", cmd)
def command(cmd, user = None):
if user == None:
user = "builder2"
return "sudo chroot chroot-athlon su - %s -c \"export LC_ALL=C; %s\"" \
% (user, quote(cmd))
def popen(cmd, user = "builder2", mode = "r"):
f = os.popen(command(cmd, user), mode)
return f
def run(cmd, user = "builder2", logfile = None):
c = command(cmd, user)
if logfile != None:
c = "%s >> %s 2>&1" % (c, logfile)
f = os.popen(c)
for l in f.xreadlines():
pass
r = f.close()
if r == None:
return 0
else:
return r
run("./strace -v ./pt")
$ sudo chroot chroot-athlon su - builder2 -c 'cat pt.c'
mesg: (null): Operation not permitted
#include <pthread.h>
#include <stddef.h>
void *thread_routine(void *data) {
return data;
}
int main() {
pthread_t thd;
pthread_mutexattr_t mattr;
pthread_once_t once_init = PTHREAD_ONCE_INIT;
int data = 1;
pthread_mutexattr_init(&mattr);
return pthread_create(&thd, NULL, thread_routine, &data);
}
--
Jakub Bogusz http://cyber.cs.net.pl/~qboosh/
Więcej informacji o liście dyskusyjnej pld-devel-pl