Предположительно после обновления до git-gui-2.6.5-alt2 перестал запускаться git gui. Сообщение: Cannot determine Git version: error waiting for process to exit: child process lost (is SIGCHLD ignored or trapped?) Git Gui requires Git 1.5.0 or later. Код проверки: if {[catch {set _git_version [git --version]} err]} { <------>catch {wm withdraw .} <------>tk_messageBox \ <------><------>-icon error \ <------><------>-type ok \ <------><------>-title [mc "git-gui: fatal error"] \ <------><------>-message "Cannot determine Git version: $err [appname] requires Git 1.5.0 or later." <------>exit 1 } На другой машине, равно обновлённой до Сизифа, всё работает.
Тестовый скрипт: #!/usr/bin/wish set _git {/usr/bin/git} proc _git_cmd {name} { return [list $::_git $name] } proc git {args} { set opt [list] set cmdp [_git_cmd [lindex $args 0]] set args [lrange $args 1 end] set result [eval exec $opt $cmdp $args] puts stderr "< $result" return $result } git --version strace: pid 13416] pipe([6<pipe:[143743268]>, 7<pipe:[143743268]>]) = 0 [pid 13416] fcntl(6<pipe:[143743268]>, F_SETFD, FD_CLOEXEC) = 0 [pid 13416] fcntl(7<pipe:[143743268]>, F_SETFD, FD_CLOEXEC) = 0 [pid 13416] open("/tmp/tcliCOyqF", O_RDWR|O_CREAT|O_EXCL, 0600) = 9</tmp/tcliCOyqF> [pid 13416] fcntl(9</tmp/tcliCOyqF>, F_SETFD, FD_CLOEXEC) = 0 [pid 13416] unlink("/tmp/tcliCOyqF") = 0 [pid 13416] pipe([10<pipe:[143743271]>, 11<pipe:[143743271]>]) = 0 [pid 13416] fcntl(10<pipe:[143743271]>, F_SETFD, FD_CLOEXEC) = 0 [pid 13416] fcntl(11<pipe:[143743271]>, F_SETFD, FD_CLOEXEC) = 0 [pid 13416] close(11<pipe:[143743271]>) = 0 [pid 13416] read(10<pipe:[143743271]>, "", 223) = 0 [pid 13416] close(10<pipe:[143743271]>) = 0 [pid 13416] close(7<pipe:[143743268]>) = 0 [pid 13416] read(6<pipe:[143743268]>, "", 4096) = 0 [pid 13416] close(6<pipe:[143743268]>) = 0 [pid 13416] ioctl(9< (deleted)/tmp/tcliCOyqF>, TCGETS, 0x7ffe29879b50) = -1 ENOTTY (Inappropriate ioctl for device) [pid 13416] getsockname(9< (deleted)/tmp/tcliCOyqF>, 0x7ffe29879bf0, 0x7ffe29879bec) = -1 ENOTSOCK (Socket operation on non-socket) [pid 13416] wait4(1298893056, 0x7ffe29879bd0, 0, NULL) = -1 ECHILD (No child processes) [pid 13416] lseek(9< (deleted)/tmp/tcliCOyqF>, 0, SEEK_SET) = 0 [pid 13416] read(9< (deleted)/tmp/tcliCOyqF>, "", 4096) = 0 [pid 13416] close(9< (deleted)/tmp/tcliCOyqF>) = 0 [pid 13416] write(2</dev/pts/13>, "Error in startup script", 23Error in startup script) = 23
Судя по скрипту, проблема адресуется к wish из tk. Проверялось на tk-8.5.9-alt3
Было # rpm -V tk S....... /usr/bin/wish8.5 то есть проблемы с размером файла. После переустановки пакета tk всё заработало.
Проблему вызывает запуск # prelink /usr/bin/wish8.5