Hi, Please point out if I'm wrong or misinformed...
I'm trying to trace down the Vista cygwin setup.exe /etc/postinstall/gnuplot.sh "hang forever at 99%" problem. The current /etc/postinstall/gnuplot.sh contains the line: /usr/bin/install-info --dir-file=/usr/share/info/dir --info-file=/usr/share/info/gnuplot.info.gz >From Googling about, the install-info part seems to be the part of the shell scripts that is hanging. The install-info command is supposed to insert the "info" format information about gnuplot into the indexing file "/usr/share/info/dir". The "info" format stuff is basically plain text with ^_'s ('\x1F' characters) as section markers and ^? (DEL) as field separators in the index at the end of the "info" file. The file is GZIP'd, to save space. The gnuplot.info.gz gunzip's fine on my XP machine, so a corrupt distribution file seems unlikely. So perhaps the problem is the "install-info.exe" program banging into some Vista difference. The "install-info.exe" program seems to be "texinfo" package, as shown by: http://cygwin.com/cgi-bin2/package-grep.cgi?grep=install-info.exe which yields: http://cygwin.com/cgi-bin2/package-cat.cgi?file=texinfo%2Ftexinfo-4.8a-1&grep=install-info.exe This seems to imply that the package version is something like "texinfo 4.8a-1". Installing the source for the "texinfo 4.8a-1" , we find the file: /usr/src/texinfo-4.8a-1/util/install-info.c See Lines 604-643 at end of this post: My guess is that the popen is not working right. Pipe emulation is often cranky. I can imagine Vista breaking something. Or perhaps as all postinstall steps are not finished at that point in setup.exe, so perhaps gzip is unavailable at that point in the setup.exe's initial environment. Or perhaps the hang is related to the fact that install-info.exe reads the entire file into memory, xmalloc'ing along the way. I expect to have a Vista machine available again soon to check this out. Any suggestions on best investigative tactics? ---------------- Lines 604-643: if (!compression_program) compression_program = &local_compression_program; if (data[0] == '\x1f' && data[1] == '\x8b') #if STRIP_DOT_EXE /* An explicit .exe yields a better diagnostics from popen below if they don't have gzip installed. */ *compression_program = "gzip.exe"; #else *compression_program = "gzip"; #endif else if(data[0] == 'B' && data[1] == 'Z' && data[2] == 'h') #ifndef STRIP_DOT_EXE *compression_program = "bzip2.exe"; #else *compression_program = "bzip2"; #endif else if(data[0] == 'B' && data[1] == 'Z' && data[2] == '0') #ifndef STRIP_DOT_EXE *compression_program = "bzip.exe"; #else *compression_program = "bzip"; #endif else *compression_program = NULL; if (*compression_program) { /* It's compressed, so fclose the file and then open a pipe. */ char *command = concat (*compression_program," -cd <", *opened_filename); if (fclose (f) < 0) pfatal_with_name (*opened_filename); f = popen (command, "r"); if (f) *is_pipe = 1; else pfatal_with_name (command); } else { /* It's a plain file, seek back over the magic bytes. */ if (fseek (f, 0, 0) < 0) -- View this message in context: http://www.nabble.com/Cygwin-Installation-Problems-on-Windows-Vista-tf3542482.html#a12791093 Sent from the Cygwin Users mailing list archive at Nabble.com. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/