This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Gettext use on Cygwin

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"
#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" .
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.



On the road to retirement? Check out MSN Life Events for advice on how to get there!

-- Unsubscribe info: Problem reports: Documentation: FAQ:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]