[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug-gettext] GNU gettext not portable
From: |
dev |
Subject: |
[bug-gettext] GNU gettext not portable |
Date: |
Sun, 31 Aug 2014 14:19:16 -0400 (EDT) |
There are a number of problems with doing a build of GNU gettext on a
non-linux OS which does not have GCC as the selected compiler. On
Solaris at least we have a problem that was reported quite some time ago
and still not fixed :
From 2011 as reported by Stefano Lattarini
https://lists.gnu.org/archive/html/bug-gettext/2011-07/msg00001.html
Stefano does a lot of great work on the autoconf tools however his
simple patch was ignored.
Furthermore the file gettext-tools/misc/convert-archive has more
problems where it assumes that GCC is the compiler and also attempts to
use cvs even though gcc was never used for the build and cvs does not
exist on the system at all !
Simply plain broken at around line 244 onwards :
# Create the target archive.
case "$to" in
dir*)
(cd "$unpacked" && $TAR cf - $TAR_OPTIONS *) \
| { case "$to" in
dir) cat > "$tofile" ;;
dirgz) gzip -c -9 > "$tofile" ;;
dirbz2) bzip2 -c -9 > "$tofile" ;;
dirxz) xz -c -5 > "$tofile" ;;
esac
} \
|| func_fatal_error "archive creation failed"
;;
cvs)
# Set variables
# - cvs_dir directory containing the temporary repository
cvs_dir=autopoint-files
# Use an umask of 077, to avoid attacks that work by overwriting
files in
# the "$CVSROOT"/CVSROOT directory.
(umask 077 && mkdir "$cvs_dir") || {
if test -d "$cvs_dir"; then
func_fatal_error "directory $cvs_dir already exists"
else
func_fatal_error "cannot create directory $cvs_dir"
fi
}
CVSROOT=`pwd`/"$cvs_dir"
unset CVS_CLIENT_LOG
unset CVS_CLIENT_PORT
unset CVS_IGNORE_REMOTE_ROOT
unset CVS_PASSFILE
unset CVS_PASSWORD
unset CVS_RCMD_PORT
unset CVS_RSH
unset CVS_SERVER
unset CVS_SERVER_SLEEP
unset CVSIGNORE
unset CVSREAD
unset CVSUMASK
unset CVSWRAPPERS
# Set a nonstandard variable, for a good-looking cvs history.
cvsuser=bruno
gcc -shared -fPIC -O cvsuser.c -o cvsuser.so
cvsuser_hack=`pwd`/cvsuser.so
# Need to pass -d "$CVSROOT", because there may be a CVS directory
in the
# current directory.
cvs -d "$CVSROOT" init || func_fatal_error "cvs init failed"
.
.
.etc etc
What is this? Why this sudden need for cvs and gcc after an entire
build with Oracle Studio compilers ?
GNU gettext looks slightly broken for reasons of portability however
when I see a simple and trivial patch ignored from years ago and it was
submitted by a well known GNU open source worker I really have to think
that GNU gettext has wandered quite far off the reservation.
GNU gettext 0.18.1.1 was the last portable version that compiles and
passes all its own tests on a number of OS platforms.
Not sure of this ends up as an actual bug or will simply be ignored as
Stefano Lattarini was.
dev
- [bug-gettext] GNU gettext not portable,
dev <=