X-Spam-Check-By: sourceware.org Message-ID: X-Sender: mfmori AT hotmail DOT com From: "Mark Moriarty" To: cygwin AT cygwin DOT com Subject: Gettext use on Cygwin Date: Wed, 15 Mar 2006 11:30:57 +0000 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com I use Cygwin, latest packages across the board, on WinXP Home Edition, fully patched. I specifically use it to compile VLC, a cross platform video encoder/streamer/client. VLC uses gettext, the bootstrap for it includes: Autopoint -f With older cygwin gettext, 0.14.1, during the bootstrap the autopoint would generate: tar: Skipping to next header tar: Archive contains obsolescent base-64 headers gzip: stdin: invalid compressed data--crc error gzip: stdin: invalid compressed data--length error tar: Error exit delayed from previous errors Copying file ABOUT-NLS However, it would still end up creating the intl directory needed. As of gettext 0.14.5, however, this does not occur. I tried commenting out the "rm" line at the end of autopoint version 0.14.5, and saw that cvs_dir and work_dir are, indeed, both missing an intl directory. Therefore, when autopoint executes the part of copying files from $work_dir/archive, there is no intl there to be copied. I personally have no idea why this is occuring, though strongly suspect it is related to the gzip and tar errors that I show above, that occur when autopoint is executing the line: gzip -d -c < "$gettext_dir/archive.tar.gz" | (cd "$cvs_dir" && tar xf -) What I ended up doing, in my own copy of autopoint, was to modify it to the following: if test `find archive -type f -print | wc -l` = 0; then cd .. rm -rf "$cvs_dir" "$work_dir" func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version" fi #MFM addition cd "archive" mkdir "intl" cd "intl" for file in `find "$gettext_dir/intl" -type f -print | sed -e "s,^$work_dir/archive/,," | LC_ALL=C sort`; do cp "$file" . done cd .. cd .. #end of MFM addition cd .. This is clearly an ugly hack -- I explicitly create the intl directory in $work_dir, and copy the intl files over from shared/gettext/intl. On the other hand, it does work, and after spending multiple hours trying to reinstall tar and gzip, and reinstalling Cygwin's gettext 0.14.5, then trying local VLC builds of gettext (a pull of the latest gettext source files), this is the best I could come up with for something that does work. Thoughts/comments/suggestions? Thanks. _________________________________________________________________ On the road to retirement? Check out MSN Life Events for advice on how to get there! http://lifeevents.msn.com/category.aspx?cid=Retirement -- 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/