AW: AW: AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote I'm beginning to think there's a fundamental problem with your system. Here's the comparable part of truss output on a working Solaris 10 system: ... Remember, you did not compile with gcc. Unless someone can suggest an alternative explanation, I'll have to assume this is not a problem with coreutils. I got one last input for this case: CC ginstall-install.o install.c, line 191: warning: initializer does not fit or is out of range: -61952 Code: 187 /* Return true for mode with non-permission bits. */ 188 static bool 189 extra_mode (mode_t input) 190 { 191 const mode_t mask = ~S_IRWXUGO ~S_IFMT; 192 return input mask; 193 } This line is expanded to this code by the preprocessor: const mode_t mask = ~ ( 00700 | 00070 | 7 ) ~ 0xF000 ; mode_t is unsigned long on my system. I added this test print: fprintf(stderr, extra_mode(%ld) - %ld\n, input, input mask); which leads to $ ./ginstall -Cv -m$mode3 a b extra_mode(1517) - 1024 extra_mode(1517) - 1024 extra_mode(33184) - 0 extra_mode(34285) - 1024 Can this be the reason? Have a nice day, Berny
Re: AW: AW: AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote I'm beginning to think there's a fundamental problem with your system. Here's the comparable part of truss output on a working Solaris 10 system: ... Remember, you did not compile with gcc. Unless someone can suggest an alternative explanation, I'll have to assume this is not a problem with coreutils. I got one last input for this case: CC ginstall-install.o install.c, line 191: warning: initializer does not fit or is out of range: -61952 Code: 187 /* Return true for mode with non-permission bits. */ 188 static bool 189 extra_mode (mode_t input) 190 { 191 const mode_t mask = ~S_IRWXUGO ~S_IFMT; 192 return input mask; 193 } This line is expanded to this code by the preprocessor: const mode_t mask = ~ ( 00700 | 00070 | 7 ) ~ 0xF000 ; mode_t is unsigned long on my system. I added this test print: fprintf(stderr, extra_mode(%ld) - %ld\n, input, input mask); which leads to $ ./ginstall -Cv -m$mode3 a b extra_mode(1517) - 1024 extra_mode(1517) - 1024 extra_mode(33184) - 0 extra_mode(34285) - 1024 Can this be the reason? Thanks. Those details have helped me see the light. I suspect this patch works around your compiler's inadequate bool support: diff --git a/src/install.c b/src/install.c index 73b3981..19efb1d 100644 --- a/src/install.c +++ b/src/install.c @@ -189,7 +189,7 @@ static bool extra_mode (mode_t input) { const mode_t mask = ~S_IRWXUGO ~S_IFMT; - return input mask; + return !! (input mask); } /* Return true if copy of file SRC_NAME to file DEST_NAME is necessary. */
AW: AW: AW: AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote: I suspect this patch works around your compiler's inadequate bool support: diff --git a/src/install.c b/src/install.c index 73b3981..19efb1d 100644 --- a/src/install.c +++ b/src/install.c @@ -189,7 +189,7 @@ static bool extra_mode (mode_t input) { const mode_t mask = ~S_IRWXUGO ~S_IFMT; - return input mask; + return !! (input mask); } /* Return true if copy of file SRC_NAME to file DEST_NAME is necessary. */ perfect (output still incl. my fprintf): $ ./ginstall -Cv -m$mode3 a b extra_mode(1517) - 1024 ./ginstall: the --compare (-C) option is ignored when you specify a mode with non-permission bits extra_mode(1517) - 1024 removed `b' `a' - `b' and `make TESTS='install/install-C' check`: PASS: install/install-C = 1 test passed = Thank you.
AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote: Please run this command from your build directory cd src { touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b } and tell us what it prints. somehow, my shell (/bin/ksh) doesn't like the { ... } syntax here: $ cd src { touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b } it waits for the command to be continued ... I can't see why Replacing the { ... } by ( ... ), it prints this: $ cd src ( ./touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b ) removed `b' `a' - `b' Bye, Berny
AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote: sudo env PATH=$PATH NON_ROOT_USERNAME=$USER make -C tests \ TESTS=cp/preserve-gid VERBOSE=yes I think you meant sudo env PATH=$PATH NON_ROOT_USERNAME=$USER make -C tests check \ TESTS=cp/preserve-gid VERBOSE=yes BTW: I'm not sure but shouldn't the tests make more use of the binaries just built instead of relying e.g. on a working stat utility in PATH...? Here's the log: === GNU coreutils 7.4.127-d2510: tests/test-suite.log === 1 of 1 test failed. .. contents:: :depth: 2 FAIL: cp/preserve-gid (exit: 1) === + cp --version cp (GNU coreutils) 7.4.127-d2510 Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Torbjorn Granlund, David MacKenzie, and Jim Meyering. ++ perl -le 'foreach my $i (1000..16*1024-1) { getpwuid $i or (print $i), exit }' + nameless_uid=1000 ++ perl -le 'foreach my $i (1000..16*1024) { getgrgid $i or (print $i), exit }' + nameless_gid1=1000 ++ perl -le 'foreach my $i (1000+1..16*1024) { getgrgid $i or (print $i), exit }' + nameless_gid2=1001 + test -z 1000 + test -z 1000 + test -z 1001 + chown +1000:+0 . + create a0 0 0 + echo a0 + chown +0:+0 a0 + create b0 1000 1000 + echo b0 + chown +1000:+1000 b0 + create b1 1000 1001 + echo b1 + chown +1000:+1001 b1 + create c0 0 1000 + echo c0 + chown +0:+1000 c0 + create c1 0 1001 + echo c1 + chown +0:+1001 c1 + t0 a0 0 0 cp + f=a0 + shift + u=0 + shift + g=0 + shift + rm -f b + cp a0 b ++ stat -c '%u %g' b + s='0 0' + test 'x0 0' '!=' 'x0 0' + t0 b0 0 0 cp + f=b0 + shift + u=0 + shift + g=0 + shift + rm -f b + cp b0 b ++ stat -c '%u %g' b + s='0 0' + test 'x0 0' '!=' 'x0 0' + t0 b1 0 0 cp + f=b1 + shift + u=0 + shift + g=0 + shift + rm -f b + cp b1 b ++ stat -c '%u %g' b + s='0 0' + test 'x0 0' '!=' 'x0 0' + t0 c0 0 0 cp + f=c0 + shift + u=0 + shift + g=0 + shift + rm -f b + cp c0 b ++ stat -c '%u %g' b + s='0 0' + test 'x0 0' '!=' 'x0 0' + t0 c1 0 0 cp + f=c1 + shift + u=0 + shift + g=0 + shift + rm -f b + cp c1 b ++ stat -c '%u %g' b + s='0 0' + test 'x0 0' '!=' 'x0 0' + t0 a0 0 0 cp -p + f=a0 + shift + u=0 + shift + g=0 + shift + rm -f b + cp -p a0 b ++ stat -c '%u %g' b + s='0 0' + test 'x0 0' '!=' 'x0 0' + t0 b0 1000 1000 cp -p + f=b0 + shift + u=1000 + shift + g=1000 + shift + rm -f b + cp -p b0 b ++ stat -c '%u %g' b + s='1000 1000' + test 'x1000 1000' '!=' 'x1000 1000' + t0 b1 1000 1001 cp -p + f=b1 + shift + u=1000 + shift + g=1001 + shift + rm -f b + cp -p b1 b ++ stat -c '%u %g' b + s='1000 1001' + test 'x1000 1001' '!=' 'x1000 1001' + t0 c0 0 1000 cp -p + f=c0 + shift + u=0 + shift + g=1000 + shift + rm -f b + cp -p c0 b ++ stat -c '%u %g' b + s='0 1000' + test 'x0 1000' '!=' 'x0 1000' + t0 c1 0 1001 cp -p + f=c1 + shift + u=0 + shift + g=1001 + shift + rm -f b + cp -p c1 b ++ stat -c '%u %g' b + s='0 1001' + test 'x0 1001' '!=' 'x0 1001' + t1 a0 1000 1000 cp + f=a0 + shift + u=1000 + shift + g=1000 + shift + t0 a0 1000 1000 setuidgid -g 1000,1001 1000 cp + f=a0 + shift + u=1000 + shift + g=1000 + shift + rm -f b + setuidgid -g 1000,1001 1000 cp a0 b ++ stat -c '%u %g' b + s='1000 1000' + test 'x1000 1000' '!=' 'x1000 1000' + t1 b0 1000 1000 cp + f=b0 + shift + u=1000 + shift + g=1000 + shift + t0 b0 1000 1000 setuidgid -g 1000,1001 1000 cp + f=b0 + shift + u=1000 + shift + g=1000 + shift + rm -f b + setuidgid -g 1000,1001 1000 cp b0 b ++ stat -c '%u %g' b + s='1000 1000' + test 'x1000 1000' '!=' 'x1000 1000' + t1 b1 1000 1000 cp + f=b1 + shift + u=1000 + shift + g=1000 + shift + t0 b1 1000 1000 setuidgid -g 1000,1001 1000 cp + f=b1 + shift + u=1000 + shift + g=1000 + shift + rm -f b + setuidgid -g 1000,1001 1000 cp b1 b ++ stat -c '%u %g' b + s='1000 1000' + test 'x1000 1000' '!=' 'x1000 1000' + t1 c0 1000 1000 cp + f=c0 + shift + u=1000 + shift + g=1000 + shift + t0 c0 1000 1000 setuidgid -g 1000,1001 1000 cp + f=c0 + shift + u=1000 + shift + g=1000 + shift + rm -f b + setuidgid -g 1000,1001 1000 cp c0 b ++ stat -c '%u %g' b + s='1000 1000' + test 'x1000 1000' '!=' 'x1000 1000' + t1 c1 1000 1000 cp + f=c1 + shift + u=1000 + shift + g=1000 + shift + t0 c1 1000 1000 setuidgid -g 1000,1001 1000 cp + f=c1 + shift + u=1000 + shift + g=1000 + shift + rm -f b + setuidgid -g 1000,1001 1000 cp c1 b ++ stat -c '%u %g' b + s='1000 1000' + test 'x1000 1000' '!=' 'x1000 1000' + t1 a0 1000 1000 cp -p + f=a0 + shift + u=1000 + shift + g=1000 + shift + t0 a0 1000 1000 setuidgid -g 1000,1001 1000 cp -p + f=a0 + shift + u=1000 + shift + g=1000 + shift + rm -f b + setuidgid -g 1000,1001 1000 cp -p a0 b ++ stat -c '%u %g' b + s='1000 1000' + test 'x1000 1000' '!=' 'x1000 1000' + t1 b0 1000 1000 cp -p + f=b0 + shift + u=1000 + shift + g=1000 + shift + t0 b0 1000 1000
Re: AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote: Please run this command from your build directory cd src { touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b } and tell us what it prints. somehow, my shell (/bin/ksh) doesn't like the { ... } syntax here: $ cd src { touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b } it waits for the command to be continued ... I can't see why you need a trailing ; inside the {}
Re: AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
On Wed, 19 Aug 2009, Voelker, Bernhard wrote: somehow, my shell (/bin/ksh) doesn't like the { ... } syntax here: $ cd src { touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b } it waits for the command to be continued ... I can't see why That's not quite valid (POSIX) sh, which requires a ; following every command. Replacing the { ... } by ( ... ), it prints this: $ cd src ( ./touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b ) removed `b' `a' - `b' This does the same thing but uses a subshell, which makes no difference in this example. Cheers, Phil
Re: AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote: Please run this command from your build directory cd src { touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b } and tell us what it prints. somehow, my shell (/bin/ksh) doesn't like the { ... } syntax here: $ cd src { touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b } it waits for the command to be continued ... I can't see why Replacing the { ... } by ( ... ), it prints this: $ cd src ( ./touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b ) removed `b' `a' - `b' Thanks. That's good, in that it produces the expected output. But it doesn't help me see why that test is failing for you. Long-term, best for you would be to install GNU diffutils. If you can do that now, that'd be best, because then when a test fails, it'll show us the actual diffs rather than having to resort to using cmp and simply saying the files differed. If you cannot install diffutils right now, please insert this line at the end of test-lib.sh: compare() { diff -c $@; } and rerun that failing install-C test. That should make it output useful diff output when the test fails.
AW: AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote: Long-term, best for you would be to install GNU diffutils. done: === GNU coreutils 7.4.127-d2510: tests/test-suite.log === 1 of 1 test failed. .. contents:: :depth: 2 FAIL: install/install-C (exit: 1) = + ginstall --version install (GNU coreutils) 7.4.127-d2510 Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by David MacKenzie. + . ./test-lib.sh ++ unset function_test ++ eval 'function_test() { return 11; }; function_test' +++ function_test +++ return 11 ++ test 11 '!=' 11 +++ pwd ++ test_dir_=/vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/tests +++ this_test_ +++ echo ././install/install-C +++ sed 's,.*/,,' ++ this_test=install-C +++ /vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/src/mktemp -d --tmp=/vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/tests cu-install-C.XX ++ t_=/vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/tests/cu-install-C.zJ5 O9yijiw ++ trap remove_tmp_ 0 ++ trap 'Exit $?' 1 2 13 15 ++ cd /vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/tests/cu-install-C.zJ5O9y ijiw ++ diff --version ++ grep GNU + skip_if_setgid_ + setgid_tmpdir=setgid-3612 + umask 77 + mkdir setgid-3612 ++ stat --printf %A setgid-3612 + perms=drwx-- + rmdir setgid-3612 + case $perms in + mode1=0644 + mode2=0755 + mode3=2755 + fail=0 + echo test + echo '`a'\'' - `b'\''' + echo 'removed `b'\'' `a'\'' - `b'\''' + ginstall -Cv -m0644 a b + compare out out_installed_first + diff -u out out_installed_first + ginstall -Cv -m0644 a b + compare out out_empty + diff -u out out_empty + ginstall -v --compare -m0644 a b + compare out out_empty + diff -u out out_empty + ginstall -v -m0644 a b + compare out out_installed_second + diff -u out out_installed_second + ginstall -Cv -m2755 a b + compare out out_installed_second + diff -u out out_installed_second + ginstall -Cv -m2755 a b + compare out out_installed_second + diff -u out out_installed_second --- out 2009-08-19 12:43:25.668663000 +0200 +++ out_installed_second2009-08-19 12:43:25.61945 +0200 @@ -0,0 +1,2 @@ +removed `b' +`a' - `b' + fail=1 + ln -s a c + ln -s b d + ginstall -Cv -m0644 c d + echo 'removed `d'\'' `c'\'' - `d'\''' + compare out out_installed_second_cd + diff -u out out_installed_second_cd + echo test1 + ginstall -Cv -m0644 a b + compare out out_installed_second + diff -u out out_installed_second + ginstall -Cv -m0644 a b + compare out out_empty + diff -u out out_empty + echo test2 + ginstall -Cv -m0644 a b + compare out out_installed_second + diff -u out out_installed_second + ginstall -Cv -m0644 a b + compare out out_empty + diff -u out out_empty + ginstall -Cv -m0755 a b + compare out out_installed_second + diff -u out out_installed_second + ginstall -Cv -m0755 a b + compare out out_empty + diff -u out out_empty + ginstall -C --preserve-timestamps a b ginstall: options --compare (-C) and --preserve-timestamps are mutually exclusive Try `ginstall --help' for more information. + ginstall -C --strip --strip-program=echo a b ginstall: options --compare (-C) and --strip are mutually exclusive Try `ginstall --help' for more information. + Exit 1 + set +e + exit 1 + exit 1 + remove_tmp_ + __st=1 + cleanup_ + : + cd /vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/tests + chmod -R u+rwx /vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/tests/cu-install-C.zJ5O9y ijiw + rm -rf /vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/tests/cu-install-C.zJ5O9y ijiw + exit 1
Re: AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote: Please run this command from your build directory cd src { touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b } and tell us what it prints. somehow, my shell (/bin/ksh) doesn't like the { ... } syntax here: $ cd src { touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b } it waits for the command to be continued ... I can't see why Replacing the { ... } by ( ... ), it prints this: $ cd src ( ./touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b ) removed `b' `a' - `b' Thanks. Almost there. Your test output when using GNU diff gave a clue. The *second* time that command is run, it appears to print nothing. Do this in src/: ./touch a b; mode3=2755 ./ginstall -Cv -m$mode3 a b ./ginstall -Cv -m$mode3 a b If the second invocation of ginstall doesn't print anything, that indicates a problem and is why the test is failing. In that case, if you can step through it in gdb, that'd be nice. Otherwise, run it under truss: truss -o log ./ginstall -Cv -m$mode3 a b and send the resulting log file.
AW: AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote: The *second* time that command is run, it appears to print nothing. Do this in src/: ./touch a b; mode3=2755 ./ginstall -Cv -m$mode3 a b ./ginstall -Cv -m$mode3 a b Bingo! If the second invocation of ginstall doesn't print anything, that indicates a problem and is why the test is failing. In that case, if you can step through it in gdb, that'd be nice. no gdb here, sorry ;-( Otherwise, run it under truss: truss -o log ./ginstall -Cv -m$mode3 a b and send the resulting log file. here u are - hope that helps on this long search (thanx for your patience BTW): execve(ginstall, 0xFFBFFB84, 0xFFBFFB9C) argc = 5 resolvepath(/usr/lib/ld.so.1, /lib/ld.so.1, 1023) = 12 getcwd(/vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/src, 1014) = 0 resolvepath(/vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/src/ginstall , /vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/src/ginstall, 1023) = 59 stat(/vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/src/ginstall, 0xFFBFF960) = 0 open(/var/ld/ld.config, O_RDONLY) Err#2 ENOENT stat(/lib/libgen.so.1, 0xFFBFF418)= 0 resolvepath(/lib/libgen.so.1, /lib/libgen.so.1, 1023) = 16 open(/lib/libgen.so.1, O_RDONLY) = 3 mmap(0x0001, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFF3A mmap(0x0001, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF38 mmap(0xFF38, 22089, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFF38 mmap(0xFF396000, 2303, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 24576) = 0xFF396000 munmap(0xFF386000, 65536) = 0 memcntl(0xFF38, 5656, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 close(3)= 0 stat(/lib/libsec.so.1, 0xFFBFF418)= 0 resolvepath(/lib/libsec.so.1, /lib/libsec.so.1, 1023) = 16 open(/lib/libsec.so.1, O_RDONLY) = 3 mmap(0xFF3A, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A mmap(0x0001, 147456, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF35 mmap(0xFF35, 56009, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFF35 mmap(0xFF36E000, 13477, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 57344) = 0xFF36E000 mmap(0xFF372000, 5744, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF372000 munmap(0xFF35E000, 65536) = 0 memcntl(0xFF35, 14220, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 close(3)= 0 stat(/lib/libc.so.1, 0xFFBFF418) = 0 resolvepath(/lib/libc.so.1, /lib/libc.so.1, 1023) = 14 open(/lib/libc.so.1, O_RDONLY)= 3 mmap(0xFF3A, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A mmap(0x0001, 1015808, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF20 mmap(0xFF20, 905381, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFF20 mmap(0xFF2EE000, 32401, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 909312) = 0xFF2EE000 mmap(0xFF2F6000, 6368, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF2F6000 munmap(0xFF2DE000, 65536) = 0 mmap(0x, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF34 memcntl(0xFF20, 144020, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 close(3)= 0 stat(/lib/libavl.so.1, 0xFFBFF418)= 0 resolvepath(/lib/libavl.so.1, /lib/libavl.so.1, 1023) = 16 open(/lib/libavl.so.1, O_RDONLY) = 3 mmap(0xFF3A, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A mmap(0x0001, 81920, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF32 mmap(0xFF32, 3260, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFF32 mmap(0xFF332000, 296, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 8192) = 0xFF332000 munmap(0xFF322000, 65536) = 0 memcntl(0xFF32, 1096, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 close(3)= 0 mmap(0x0001, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF31 munmap(0xFF3A, 32768) = 0 getcontext(0xFFBFF650) getrlimit(RLIMIT_STACK, 0xFFBFF630) = 0 getpid()= 26801 [26800] setustack(0xFF312A88) brk(0x000655B0) = 0 brk(0x000675B0) = 0 stat(/platform/SUNW,SPARC-Enterprise/lib/libc_psr.so.1, 0xFFBFEF78) = 0 resolvepath(/platform/SUNW,SPARC-Enterprise/lib/libc_psr.so.1, /platform/sun4u-opl/lib/libc_psr.so.1, 1023) = 37 open(/platform/SUNW,SPARC-Enterprise/lib/libc_psr.so.1, O_RDONLY) = 3 mmap(0x0001, 32768,
Re: AW: AW: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote: The *second* time that command is run, it appears to print nothing. Do this in src/: ./touch a b; mode3=2755 ./ginstall -Cv -m$mode3 a b ./ginstall -Cv -m$mode3 a b Bingo! If the second invocation of ginstall doesn't print anything, that indicates a problem and is why the test is failing. In that case, if you can step through it in gdb, that'd be nice. no gdb here, sorry ;-( Otherwise, run it under truss: truss -o log ./ginstall -Cv -m$mode3 a b and send the resulting log file. here u are - hope that helps on this long search (thanx for your patience BTW): ... getppriv(PRIV_EFFECTIVE, {000400038800}) = 0 umask(0)= 027 stat64(b, 0xFFBFF8F8) = 0 lstat64(a, 0xFFBFF7A0)= 0 lstat64(b, 0xFFBFF708)= 0 getuid()= 26425 [26425] getgid()= 17307 [17307] open64(a, O_RDONLY) = 3 open64(b, O_RDONLY) = 4 read(3, 0x00063088, 4096) = 0 close(3)= 0 close(4)= 0 chmod(b, 02755) = 0 llseek(0, 0, SEEK_CUR) = 7984 close(0)= 0 close(1)= 0 close(2)= 0 _exit(0) I'm beginning to think there's a fundamental problem with your system. Here's the comparable part of truss output on a working Solaris 10 system: getppriv(PRIV_EFFECTIVE, {000400038800}) = 0 umask(0)= 022 stat64(b, 0xFFBFFB08) = 0 brk(0x0003AE60) = 0 brk(0x0003CE60) = 0 fcntl(1, F_GETFL) = 8194 fstat64(2, 0xFFBFEB38) = 0 write(2, . / g i n s t a l l, 10)= 10 write(2, : , 2) = 2 write(2, t h e - - c o m p a r.., 85) = 85 write(2, \n, 1) = 1 stat64(a, 0xFFBFF720) = 0 lstat64(b, 0xFFBFF688)= 0 unlink(b) = 0 ioctl(1, TCGETA, 0xFFBFE614)= 0 fstat64(1, 0xFFBFE530) = 0 write(1, r e m o v e d ` b '\n, 12)= 12 write(1, ` a ' -` b '\n, 11) = 11 open64(a, O_RDONLY) = 3 fstat64(3, 0xFFBFF550) = 0 open64(b, O_WRONLY|O_CREAT|O_EXCL, 0644) = 4 fstat64(4, 0xFFBFF5E8) = 0 sysconfig(_CONFIG_PAGESIZE) = 8192 brk(0x0003CE60) = 0 brk(0x00046E60) = 0 read(3, 0x0003E000, 32768) = 0 brk(0x00046E60) = 0 brk(0x00048E60) = 0 fstat64(4, 0xFFBFF200) = 0 fpathconf(4, 20)= 0 facl(4, SETACL, 4, 0x00046F28) Err#89 ENOSYS fchmod(4, 0600) = 0 close(4)= 0 close(3)= 0 chmod(b, 02755) = 0 llseek(0, 0, SEEK_CUR) = 365471 close(0)= 0 close(1)= 0 close(2)= 0 _exit(0) The simple fact that your run somehow fails to output the diagnostic from install.c: ./ginstall: the --compare (-C) option is ignored when you specify a mode with non-permission bits says something is very wrong. Remember, you did not compile with gcc. Unless someone can suggest an alternative explanation, I'll have to assume this is not a problem with coreutils.
RE: new snapshot available: coreutils-7.4.125-eca6
make failed for me: - non-root - Solaris 10: $ uname -a SunOS avanti 5.10 Generic_127111-08 sun4u sparc SUNW,SPARC-Enterprise - Compiler: $ cc -V cc: Forte Developer 7 C 5.4 2002/03/09 - ./configure --prefix=/user/ecs2 --disable-nls - Make output snippet: CC sort.o sort.c, line 1705: syntax error before or at: [ sort.c, line 1709: invalid type combination sort.c, line 1709: warning: initialization type mismatch sort.c, line 1709: non-constant initializer: op NAME sort.c, line 1838: cannot recover from previous errors cc: acomp failed for sort.c *** Error code 2 The following command caused the error: echo CC sort.o; \ source='sort.c' object='sort.o' libtool=no \ DEPDIR=.deps depmode=none /bin/bash ../build-aux/depcomp \ cc -I. -I../lib -I../lib -g -c sort.c make: Fatal error: Command failed for target `sort.o' Code place (src/sort.c): 1704 static const char orders [UCHAR_LIM] = { 1705 ['K']=1, ['M']=2, ['G']=3, ['T']=4, ['P']=5, ['E']=6, ['Z']=7, ['Y']=8, 1706 ['k']=1, 1707 }; I don't know if Solaris plus the Sun compiler collection is supposed to be supported by the coreutils team, but I didn't have problems with older versions (e.g. 6.10). I'd be happy if I could continue using GNU coreutils on that platform ;-) Need more info? Have a nice day, Berny
Re: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: make failed for me: - non-root - Solaris 10: $ uname -a SunOS avanti 5.10 Generic_127111-08 sun4u sparc SUNW,SPARC-Enterprise - Compiler: $ cc -V cc: Forte Developer 7 C 5.4 2002/03/09 - ./configure --prefix=/user/ecs2 --disable-nls - Make output snippet: CC sort.o sort.c, line 1705: syntax error before or at: [ sort.c, line 1709: invalid type combination sort.c, line 1709: warning: initialization type mismatch sort.c, line 1709: non-constant initializer: op NAME sort.c, line 1838: cannot recover from previous errors cc: acomp failed for sort.c *** Error code 2 The following command caused the error: echo CC sort.o; \ source='sort.c' object='sort.o' libtool=no \ DEPDIR=.deps depmode=none /bin/bash ../build-aux/depcomp \ cc -I. -I../lib -I../lib -g -c sort.c make: Fatal error: Command failed for target `sort.o' Code place (src/sort.c): 1704 static const char orders [UCHAR_LIM] = { 1705 ['K']=1, ['M']=2, ['G']=3, ['T']=4, ['P']=5, ['E']=6, ['Z']=7, ['Y']=8, 1706 ['k']=1, 1707 }; Thanks for the report. coreutils began the switch to C99 years ago, and that sort of initialization is a new addition. We did debate whether to use the new-to-coreutils construct. However, if that's the only bit of code that causes build failure for this compiler, I may accommodate it with the attached patch: From ea57d4648226fc3d713a10448fc4fc012ccacdf5 Mon Sep 17 00:00:00 2001 From: Jim Meyering meyer...@redhat.com Date: Tue, 18 Aug 2009 11:01:00 +0200 Subject: [PATCH] sort: use more portable initialization syntax * src/sort.c (find_unit_order): Spell out 256-element static initializer, rather than relying on C99 syntax. Required for Forte Developer 7 C 5.4 2002/03/09 on Solaris 10. Reported by Bernhard Voelker. --- src/sort.c | 27 +++ 1 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/sort.c b/src/sort.c index 62ddd49..832be5a 100644 --- a/src/sort.c +++ b/src/sort.c @@ -1701,10 +1701,29 @@ check_mixed_SI_IEC (char prefix, struct keyfield *key) static int find_unit_order (const char *number, struct keyfield *key) { - static const char orders [UCHAR_LIM] = { -['K']=1, ['M']=2, ['G']=3, ['T']=4, ['P']=5, ['E']=6, ['Z']=7, ['Y']=8, -['k']=1, - }; + static const char orders [UCHAR_LIM] = +{ +#if SOME_DAY_WE_WILL_REQUIRE_C99 + ['K']=1, ['M']=2, ['G']=3, ['T']=4, ['P']=5, ['E']=6, ['Z']=7, ['Y']=8, + ['k']=1, +#else + /* Generate the following table with this command: + perl -e 'my %a=(k=1, K=1, M=2, G=3, T=4, P=5, E=6, Z=7, Y=8); + foreach my $i (0..255) {my $c=chr($i); $a{$c} ||= 0;print $a{$c}, }'\ + |fmt */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 3, + 0, 0, 0, 1, 0, 2, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 8, 7, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +#endif +}; const unsigned char *p = number; -- 1.6.4.378.g88f2f
AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote: coreutils began the switch to C99 years ago, and that sort of initialization is a new addition. We did debate whether to use the new-to-coreutils construct. However, if that's the only bit of code that causes build failure for this compiler, I may accommodate it with the attached patch: thanx for the quick response. Side note: according to the help output, this compiler supports C99 syntax: -xc99[=a] Enable ISO C99 features, a={%all,%none} but using that option doesn't make any difference. Changing the code using your patch makes `make` work. Unfortunately, `make check` also fails: CC stdbuf.o stdbuf.c, line 214: warning: non-constant initializer: op NAME stdbuf.c, line 214: left operand must be modifiable lvalue: op = stdbuf.c, line 261: cannot recover from previous errors cc: acomp failed for stdbuf.c I guess it hit on the const declarations. The source stdbuf.c compiles if I change this: diff stdbuf.c-ORIG stdbuf.c 213c213 char const *const search_path[] = { --- char* search_path[] = { After that, the linker complains about this: CCLD libstdbuf.so cc: Warning: illegal option -fPIC cc: Warning: -s conflicts with -g. -s turned off ild: calling ld to finish link -- cannot handle argument -h ld: fatal: option -h and building a dynamic executable are incompatible ld: fatal: Flags processing errors *** Error code 1 The following command caused the error: echo CCLD libstdbuf.so;cc -fPIC -g -shared -Wl,-z,ignore \ -o libstdbuf.so libstdbuf_so- libstdbuf.o make: Fatal error: Command failed for target `libstdbuf.so' I'll try to make it work and report it to you. Have a nice day, Berny
Re: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote: coreutils began the switch to C99 years ago, and that sort of initialization is a new addition. We did debate whether to use the new-to-coreutils construct. However, if that's the only bit of code that causes build failure for this compiler, I may accommodate it with the attached patch: thanx for the quick response. Side note: according to the help output, this compiler supports C99 syntax: -xc99[=a] Enable ISO C99 features, a={%all,%none} but using that option doesn't make any difference. Changing the code using your patch makes `make` work. Unfortunately, `make check` also fails: CC stdbuf.o stdbuf.c, line 214: warning: non-constant initializer: op NAME stdbuf.c, line 214: left operand must be modifiable lvalue: op = stdbuf.c, line 261: cannot recover from previous errors cc: acomp failed for stdbuf.c I guess it hit on the const declarations. The source stdbuf.c compiles if I change this: Actually it's a deeper problem. On your system, stdbuf-related code should not be compiled at all. The fact that it's being compiled is due to the check-AUTHORS rule, (run via make check). Here's a patch to make it so make check no longer runs that check: From 4ae5becee3cd9ae0c2630e9c7fda8c2612c414cf Mon Sep 17 00:00:00 2001 From: Jim Meyering meyer...@redhat.com Date: Tue, 18 Aug 2009 12:12:21 +0200 Subject: [PATCH] build: perform check-AUTHORS via syntax-check, not via make check * src/Makefile.am (check): Don't depend on check-AUTHORS. That check fails on systems for which a program like stdbuf is not built. Instead, move this check to make syntax-check. * cfg.mk (sc_check-AUTHORS): New rule. Reported by Berhnard Voelker. --- cfg.mk |4 src/Makefile.am |2 +- 2 files changed, 5 insertions(+), 1 deletions(-) diff --git a/cfg.mk b/cfg.mk index 34123d5..7a26f4f 100644 --- a/cfg.mk +++ b/cfg.mk @@ -176,6 +176,10 @@ ALL_RECURSIVE_TARGETS += sc_tight_scope sc_tight_scope: @$(MAKE) -C src $@ +ALL_RECURSIVE_TARGETS += sc_check-AUTHORS +sc_check-AUTHORS: + @$(MAKE) -C src $@ + # Perl-based tests used to exec perl from a #!/bin/sh script. # Now they all start with #!/usr/bin/perl and the portability # infrastructure is in tests/Makefile.am. Make sure no old-style diff --git a/src/Makefile.am b/src/Makefile.am index 4f21c86..630bea3 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -377,7 +377,7 @@ pm = progs-makefile pr = progs-readme # Ensure that the list of programs in README matches the list # of programs we can build. -check: check-README check-duplicate-no-install check-AUTHORS +check: check-README check-duplicate-no-install .PHONY: check-README check-README: rm -rf $(pr) $(pm) -- 1.6.4.378.g88f2f
Re: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote: coreutils began the switch to C99 years ago, and that sort of initialization is a new addition. We did debate whether to use the new-to-coreutils construct. However, if that's the only bit of code that causes build failure for this compiler, I may accommodate it with the attached patch: thanx for the quick response. Side note: according to the help output, this compiler supports C99 syntax: -xc99[=a] Enable ISO C99 features, a={%all,%none} but using that option doesn't make any difference. Changing the code using your patch makes `make` work. Unfortunately, `make check` also fails: CC stdbuf.o stdbuf.c, line 214: warning: non-constant initializer: op NAME stdbuf.c, line 214: left operand must be modifiable lvalue: op = stdbuf.c, line 261: cannot recover from previous errors cc: acomp failed for stdbuf.c Here's a better patch. (this also renames check-AUTHORS to sc_check-AUTHORS) From d25101cc306f9fba8e30ee739ceb1982434367f6 Mon Sep 17 00:00:00 2001 From: Jim Meyering meyer...@redhat.com Date: Tue, 18 Aug 2009 12:12:21 +0200 Subject: [PATCH] build: perform check-AUTHORS via syntax-check, not via make check * src/Makefile.am (check): Don't depend on check-AUTHORS. That check fails on systems for which a program like stdbuf is not built. Instead, move this check to make syntax-check. (sc_check-AUTHORS): Rename rule from check-AUTHORS. * cfg.mk (sc_check-AUTHORS): New rule. Reported by Berhnard Voelker. --- cfg.mk |4 src/Makefile.am |8 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cfg.mk b/cfg.mk index 34123d5..7a26f4f 100644 --- a/cfg.mk +++ b/cfg.mk @@ -176,6 +176,10 @@ ALL_RECURSIVE_TARGETS += sc_tight_scope sc_tight_scope: @$(MAKE) -C src $@ +ALL_RECURSIVE_TARGETS += sc_check-AUTHORS +sc_check-AUTHORS: + @$(MAKE) -C src $@ + # Perl-based tests used to exec perl from a #!/bin/sh script. # Now they all start with #!/usr/bin/perl and the portability # infrastructure is in tests/Makefile.am. Make sure no old-style diff --git a/src/Makefile.am b/src/Makefile.am index 4f21c86..fff5a9a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -72,7 +72,7 @@ BUILT_SOURCES = CLEANFILES = $(SCRIPTS) su # Also remove these sometimes-built programs. -# For example, even when excluded, they're built via check-AUTHORS. +# For example, even when excluded, they're built via sc_check-AUTHORS. CLEANFILES += $(no_install__progs) AM_CPPFLAGS = -I$(top_srcdir)/lib @@ -377,7 +377,7 @@ pm = progs-makefile pr = progs-readme # Ensure that the list of programs in README matches the list # of programs we can build. -check: check-README check-duplicate-no-install check-AUTHORS +check: check-README check-duplicate-no-install .PHONY: check-README check-README: rm -rf $(pr) $(pm) @@ -401,8 +401,8 @@ check-duplicate-no-install: tr # translation inhibits printing of UTF-8 names, just skip this test. au_dotdot = authors-dotdot au_actual = authors-actual -.PHONY: check-AUTHORS -check-AUTHORS: $(all_programs) +.PHONY: sc_check-AUTHORS +sc_check-AUTHORS: $(all_programs) $(AM_V_GEN)locale=en_US.UTF-8; \ LC_ALL=$$locale ./cat --version \ | grep ' Torbjorn ' /dev/null \ -- 1.6.4.378.g88f2f
AW: AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote: Here's a better patch. (this also renames check-AUTHORS to sc_check-AUTHORS) this doesn't work - stdbuf is still tried to be built. I double-checked with a fresh `tar zxf ...` and the patches to the 3 files. I attached the (solaris) diff of the files and the output of `make -d check`. Have a nice day, Berny cu-patch.diff Description: cu-patch.diff cu-patch.out Description: cu-patch.out
Re: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote: Here's a better patch. (this also renames check-AUTHORS to sc_check-AUTHORS) this doesn't work - stdbuf is still tried to be built. I double-checked with a fresh `tar zxf ...` and the patches to the 3 files. I attached the (solaris) diff of the files and the output of `make -d check`. Thanks for trying that. make check is still trying to build stdbuf, which suggests that your build process did not rerun automake et al, after my change to src/Makefile.am. Here's a tarball with those two not-yet-pushed changes: http://meyering.net/code/tmp/coreutils-7.4.127-d2510.tar.xz With it, it won't matter if you don't have new enough tools like automake, autoconf, etc. installed on that target system.
AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote: Here's a tarball with those two not-yet-pushed changes: Now, `make check` works ... mostly. I attached the 2 logfiles - 1 run as root, 1 run as non-root. It seems that the test-suite sometimes relies on GNU coreutils like rm or mv in the path instead of the fresh compiled ones. Thanks. Have a nice day, Berny test-suite.non-root.log Description: test-suite.non-root.log test-suite.root.log Description: test-suite.root.log
Re: new snapshot available: coreutils-7.4.125-eca6
All tests pass on FC5 and F11. cheers, Pádraig.
Re: new snapshot available: coreutils-7.4.125-eca6
On Mon, 2009-08-17 at 22:26 +0200, Jim Meyering wrote: Pádraig fixed a few bugs (thanks!), and I've pulled in the latest from gnulib, so here's another snapshot. Thanks to everyone who has been helping. No issues on Ubuntu 9.10 Karmic Koala signature.asc Description: This is a digitally signed message part
Re: new snapshot available: coreutils-7.4.125-eca6
C de-Avillez wrote: On Mon, 2009-08-17 at 22:26 +0200, Jim Meyering wrote: Pádraig fixed a few bugs (thanks!), and I've pulled in the latest from gnulib, so here's another snapshot. Thanks to everyone who has been helping. No issues on Ubuntu 9.10 Karmic Koala Thanks for the feedback!
Re: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote: Here's a tarball with those two not-yet-pushed changes: Now, `make check` works ... mostly. I attached the 2 logfiles - 1 run as root, 1 run as non-root. It seems that the test-suite sometimes relies on GNU coreutils like rm or mv in the path instead of the fresh compiled ones. ... FAIL: misc/stdbuf (exit: 1) === ./misc/stdbuf: line 27: skip_test_: command not found That one's easy. My fault for using skip_test_ before it's defined: From 6f6599a006e08c0e7a0825f1f059fde66d2847b5 Mon Sep 17 00:00:00 2001 From: Jim Meyering meyer...@redhat.com Date: Tue, 18 Aug 2009 17:53:20 +0200 Subject: [PATCH] tests: stdbuf: fix a bug in test script * tests/misc/stdbuf: Use skip_test_ only after it's defined. Reported by Berhnard Voelker. (sc_check-AUTHORS): Rename rule from check-AUTHORS. --- tests/misc/stdbuf |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/misc/stdbuf b/tests/misc/stdbuf index 5ce2c11..a9aed43 100755 --- a/tests/misc/stdbuf +++ b/tests/misc/stdbuf @@ -21,15 +21,15 @@ if test $VERBOSE = yes; then stdbuf --version fi +. $srcdir/test-lib.sh +getlimits_ + # skip this test if stdbuf isn't being built. case $built_programs in * stdbuf *) ;; *) skip_test_ 'stdbuf not built';; esac -. $srcdir/test-lib.sh -getlimits_ - # Use a fifo rather than a pipe in the tests below # so that the producer (uniq) will wait until the # consumer (dd) opens the fifo therefore increasing -- 1.6.4.378.g88f2f FAIL: install/install-C (exit: 1) = cmp: EOF on out ginstall: options --compare (-C) and --preserve-timestamps are mutually exclusive Try `ginstall --help' for more information. ginstall: options --compare (-C) and --strip are mutually exclusive Try `ginstall --help' for more information. I don't see the cause of this one, yet. Please rerun it in verbose mode: make check -C tests TESTS=install/install-C VERBOSE=yes
Re: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote: Here's a tarball with those two not-yet-pushed changes: Now, `make check` works ... mostly. I attached the 2 logfiles - 1 run as root, 1 run as non-root. It seems that the test-suite sometimes relies on GNU coreutils like rm or mv in the path instead of the fresh compiled ones. ... FAIL: chroot/credentials (exit: 1) == id: illegal option -- G Usage: id [-ap] [user] id: illegal option -- g Usage: id [-ap] [user] FAIL: misc/truncate-owned-by-other (exit: 1) env: Permission denied FAIL: mv/sticky-to-xpart (exit: 1) == mv: illegal option -- version mv: Insufficient arguments (0) Thanks for running the root-only tests. These failures look like there's a PATH problem. Did you run it as recommended in README, i.e., after building as non-root, run this: sudo env PATH=$PATH NON_ROOT_USERNAME=$USER make -k check-root
AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote: Voelker, Bernhard wrote: FAIL: misc/stdbuf (exit: 1) That one's easy. My fault for using skip_test_ before it's defined: It works: ./misc/stdbuf: skipping test: stdbuf not built SKIP: misc/stdbuf FAIL: install/install-C (exit: 1) = cmp: EOF on out ginstall: options --compare (-C) and --preserve-timestamps are mutually exclusive Try `ginstall --help' for more information. ginstall: options --compare (-C) and --strip are mutually exclusive Try `ginstall --help' for more information. I don't see the cause of this one, yet. Please rerun it in verbose mode: make check -C tests TESTS=install/install-C VERBOSE=yes It fails on this test: # option -C ignored if any non-permission mode should be set ginstall -Cv -m$mode3 a b out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv -m$mode3 a b out || fail=1 compare out out_installed_second || fail=1 The output is attached (test-suite-install-C.log). test-suite-install-C.log Description: test-suite-install-C.log
AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Jim Meyering wrote: Did you run it as recommended in README, i.e., after building as non-root, run this: sudo env PATH=$PATH NON_ROOT_USERNAME=$USER make -k check-root no. I built it as non-root, ran `make check` as non-root, and then - because I saw that a few tests can only be run as root - just went there as root and fired `make check` again. Here is the output of the above (only 1 FAIL): === GNU coreutils 7.4.127-d2510: tests/test-suite.log === 1 of 11 tests failed. (9 tests were not run). .. contents:: :depth: 2 SKIP: cp/cp-a-selinux (exit: 77) ./cp/cp-a-selinux: skipping test: this system (or maybe just the current file system) lacks SELinux support FAIL: cp/preserve-gid (exit: 1) === ./cp/preserve-gid: setuidgid -g 1000,1001 1000 cp -p c1 b: 1000 1001 != 1000 1000 SKIP: cp/cp-mv-enotsup-xattr (exit: 77) === mkfs: illegal option -- t Usage: mkfs [-F FSType] [-V] [-m] [-o specific_options] special mkfs [operands] ./cp/cp-mv-enotsup-xattr: skipping test: failed to create ext2 file system umount: warning: /vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/tests/cu-cp-mv-enotsup-xa ttr.GvRxmmYsif/mnt not in mnttab umount: /vol1/home1/ecs2/depot/coreutils-7.4.127-d2510/tests/cu-cp-mv-enotsup-xa ttr.GvRxmmYsif/mnt not mounted SKIP: dd/skip-seek-past-dev (exit: 77) == ./dd/skip-seek-past-dev: line 33: /sbin/blockdev: No such file or directory ./dd/skip-seek-past-dev: skipping test: failed to determine size of - SKIP: ls/capability (exit: 77) == ./ls/capability: skipping test: configured without libcap support SKIP: misc/chcon (exit: 77) === ./misc/chcon: skipping test: this system (or maybe just the current file system) lacks SELinux support SKIP: misc/selinux (exit: 77) = ./misc/selinux: skipping test: this system (or maybe just the current file system) lacks SELinux support SKIP: mkdir/writable-under-readonly (exit: 77) == ./mkdir/writable-under-readonly: skipping test: temporarily disabled SKIP: rm/one-file-system (exit: 77) === mount: illegal option -- bind Usage: mount [-v | -p] mount [-F FSType] [-V] [current_options] [-o specific_options] {special | mount_point} mount [-F FSType] [-V] [current_options] [-o specific_options] special mount_point mount -a [-F FSType ] [-V] [current_options] [-o specific_options] [mount_point ...] ./rm/one-file-system: skipping test: This test requires mount with a working --bind option. umount: warning: /tmp/tmp3721 not in mnttab umount: /tmp/tmp3721 not mounted SKIP: tail-2/append-only (exit: 77) === ./tail-2/append-only: skipping test: chattr +a doesn't work on this file system
Re: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: It fails on this test: # option -C ignored if any non-permission mode should be set ginstall -Cv -m$mode3 a b out || fail=1 compare out out_installed_second || fail=1 ginstall -Cv -m$mode3 a b out || fail=1 compare out out_installed_second || fail=1 The output is attached (test-suite-install-C.log). That helps, but not as much as it should, since your system lacks a version of diff that accepts the -u option. Please run this command from your build directory cd src { touch a b; mode3=2755; ./ginstall -Cv -m$mode3 a b } and tell us what it prints.
Re: AW: AW: AW: AW: new snapshot available: coreutils-7.4.125-eca6
Voelker, Bernhard wrote: Jim Meyering wrote: Did you run it as recommended in README, i.e., after building as non-root, run this: sudo env PATH=$PATH NON_ROOT_USERNAME=$USER make -k check-root no. I built it as non-root, ran `make check` as non-root, and then - because I saw that a few tests can only be run as root - just went there as root and fired `make check` again. Here is the output of the above (only 1 FAIL): === GNU coreutils 7.4.127-d2510: tests/test-suite.log === 1 of 11 tests failed. (9 tests were not run). ... FAIL: cp/preserve-gid (exit: 1) === ./cp/preserve-gid: setuidgid -g 1000,1001 1000 cp -p c1 b: 1000 1001 != 1000 1000 Thanks. Maybe it'll be easy to diagnose with more details. Please run this: sudo env PATH=$PATH NON_ROOT_USERNAME=$USER make -C tests \ TESTS=cp/preserve-gid VERBOSE=yes
Re: new snapshot available: coreutils-7.4.125-eca6
Mike Frysinger wrote: Changes in coreutils since 7.4.115-c9c92: `make make check` passes for me: - non-root user - glibc-2.10.1 - gcc-4.4.1 - linux-2.6.30.4 - x86_64 system Good to hear. Thanks for the speedy feedback!
Re: new snapshot available: coreutils-7.4.125-eca6
On Mon, Aug 17, 2009 at 10:51:54PM +0200, Jim Meyering wrote: Mike Frysinger wrote: Changes in coreutils since 7.4.115-c9c92: `make make check` passes for me: - non-root user - glibc-2.10.1 - gcc-4.4.1 - linux-2.6.30.4 - x86_64 system Good to hear. Thanks for the speedy feedback! make make check passes for me too: - non-root - Debian/sid (linux 2.6.30, gcc 4.3.4, glibc 2.9) - x86_32 system Erik
Re: new snapshot available: coreutils-7.4.125-eca6
Erik Auerswald wrote: make make check passes for me too: - non-root - Debian/sid (linux 2.6.30, gcc 4.3.4, glibc 2.9) - x86_32 system Thank you, too!