Re: [bug-gettext] [platform-testers] gettext pretest 0.19.6.44-a2e0a

2015-12-14 Thread Assaf Gordon

Hello,

On 12/14/2015 12:44 AM, Daiki Ueno wrote:

I have updated the included libxml2 to the latest release 2.9.3 and
uploaded a new tarball:
http://alpha.gnu.org/gnu/gettext/gettext-0.19.6.44-a2e0a.tar.xz
http://alpha.gnu.org/gnu/gettext/gettext-0.19.6.44-a2e0a.tar.xz.sig


Linking now fails in various ways:

=== Debian 7.8 ===

make[5]: Entering directory 
`/tmp/gettext-0.19.6.44-a2e0a.QdSlBD/gettext-0.19.6.44-a2e0a/gettext-runtime/libasprintf'
cp ./autosprintf.in.h autosprintf.h
/bin/bash ./libtool  --tag=CC   --mode=compile arm-linux-gnueabi-gcc 
-DIN_LIBASPRINTF -DHAVE_CONFIG_H -I. -g -O2 -c -o xsize.lo xsize.c
libtool: compile:  arm-linux-gnueabi-gcc -DIN_LIBASPRINTF -DHAVE_CONFIG_H -I. 
-g -O2 -c xsize.c  -fPIC -DPIC -o .libs/xsize.o
libtool: compile:  arm-linux-gnueabi-gcc -DIN_LIBASPRINTF -DHAVE_CONFIG_H -I. -g -O2 -c 
xsize.c -o xsize.o >/dev/null 2>&1
/bin/bash ./libtool  --tag=CC   --mode=compile arm-linux-gnueabi-gcc 
-DIN_LIBASPRINTF -DHAVE_CONFIG_H -I. -g -O2 -c -o lib-asprintf.lo 
lib-asprintf.c
libtool: compile:  arm-linux-gnueabi-gcc -DIN_LIBASPRINTF -DHAVE_CONFIG_H -I. 
-g -O2 -c lib-asprintf.c  -fPIC -DPIC -o .libs/lib-asprintf.o
libtool: compile:  arm-linux-gnueabi-gcc -DIN_LIBASPRINTF -DHAVE_CONFIG_H -I. -g -O2 -c 
lib-asprintf.c -o lib-asprintf.o >/dev/null 2>&1
/bin/bash ./libtool  --tag=CXX   --mode=compile g++ -DIN_LIBASPRINTF 
-DHAVE_CONFIG_H -I. -g -O2 -c -o autosprintf.lo autosprintf.cc
libtool: compile:  g++ -DIN_LIBASPRINTF -DHAVE_CONFIG_H -I. -g -O2 -c 
autosprintf.cc  -fPIC -DPIC -o .libs/autosprintf.o
libtool: compile:  g++ -DIN_LIBASPRINTF -DHAVE_CONFIG_H -I. -g -O2 -c autosprintf.cc -o 
autosprintf.o >/dev/null 2>&1
/bin/bash ./libtool  --tag=CXX   --mode=link g++  -g -O2   -o libasprintf.la 
-rpath /usr/local/lib  xsize.lo lib-asprintf.lo autosprintf.lo   || \
/bin/bash ./libtool  --tag=CC   --mode=link arm-linux-gnueabi-gcc  -g -O2   -o 
libasprintf.la -rpath /usr/local/lib  xsize.lo lib-asprintf.lo autosprintf.lo
libtool: link: g++  -fPIC -DPIC -shared -nostdlib 
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o 
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtbeginS.o  .libs/xsize.o 
.libs/lib-asprintf.o .libs/autosprintf.o   -L/usr/lib/gcc/x86_64-linux-gnu/4.7 
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu 
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib -L/lib/x86_64-linux-gnu 
-L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib 
-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../.. -lstdc++ -lm -lc -lgcc_s 
/usr/lib/gcc/x86_64-linux-gnu/4.7/crtendS.o 
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o  -g -O2   
-Wl,-soname -Wl,libasprintf.so.0 -o .libs/libasprintf.so.0.0.0
/usr/bin/ld: .libs/xsize.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .libs/xsize.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .libs/xsize.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .libs/xsize.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .libs/xsize.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .libs/xsize.o: Relocations in generic ELF (EM: 40)
.libs/xsize.o: could not read symbols: File in wrong format
collect2: error: ld returned 1 exit status
libtool: link: arm-linux-gnueabi-gcc -shared  -fPIC -DPIC  .libs/xsize.o 
.libs/lib-asprintf.o .libs/autosprintf.o-g -O2   -Wl,-soname 
-Wl,libasprintf.so.0 -o .libs/libasprintf.so.0.0.0
.libs/autosprintf.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make[5]: *** [libasprintf.la] Error 1
make[5]: Leaving directory 
`/tmp/gettext-0.19.6.44-a2e0a.QdSlBD/gettext-0.19.6.44-a2e0a/gettext-runtime/libasprintf'
make[4]: *** [all] Error 2
make[4]: Leaving directory 
`/tmp/gettext-0.19.6.44-a2e0a.QdSlBD/gettext-0.19.6.44-a2e0a/gettext-runtime/libasprintf'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory 
`/tmp/gettext-0.19.6.44-a2e0a.QdSlBD/gettext-0.19.6.44-a2e0a/gettext-runtime'
make[2]: *** [all] Error 2
make[2]: Leaving directory 
`/tmp/gettext-0.19.6.44-a2e0a.QdSlBD/gettext-0.19.6.44-a2e0a/gettext-runtime'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
`/tmp/gettext-0.19.6.44-a2e0a.QdSlBD/gettext-0.19.6.44-a2e0a'
make: *** [all] Error 2


=== Debian 8.1 

gcc -std=gnu99 -DLOCALEDIR=\"/usr/local/share/locale\" -DBISON_LOCALEDIR=\"/usr/share/locale\" 
-DLOCALE_ALIAS_PATH=\"/usr/local/share/locale\" -DUSEJAVA=0 -DUSEJEXE=0 -DGETTEXTJEXEDIR=\"/usr/local/lib/gettext\" 
-DGETTEXTJAR=\"/usr/local/share/gettext/gettext.jar\" -DLIBDIR=\"/usr/local/lib\" -DGETTEXTDATADIR=\"/usr/local/share/gettext\" 
-DPROJECTSDIR=\"/usr/local/share/gettext/projects\" -DHAVE_CONFIG_H -I. -I..  -I. -I. -I.. -I.. -I../libgrep -I../gnulib-lib -I../gnulib-lib -I../intl 
-I../../gettext-runtime/intl -DINSTALLDIR=\"/usr/local/bin\"   -g -O2 -c -o ../../gettext-runtime/intl/msgfmt-hash-string.o `test -f 
'../../gettext-runtime/intl/hash-string.c' || echo './'`../../gettext-runtime/intl/hash-string.c
/bin/bash ../libtool 

Re: [bug-gettext] [platform-testers] gettext pretest 0.19.6.44-a2e0a

2015-12-14 Thread Daiki Ueno
Assaf Gordon  writes:

> On 12/14/2015 12:44 AM, Daiki Ueno wrote:
>> I have updated the included libxml2 to the latest release 2.9.3 and
>> uploaded a new tarball:
>> http://alpha.gnu.org/gnu/gettext/gettext-0.19.6.44-a2e0a.tar.xz
>> http://alpha.gnu.org/gnu/gettext/gettext-0.19.6.44-a2e0a.tar.xz.sig
>
> Linking now fails in various ways:

Thanks for testing.  I was too lazy and only tested it with
--with-included-libxml on my work environment.

The latter 3 failures are due to missing -lm, which I'm going to address
with this commit:
http://git.sv.gnu.org/cgit/gettext.git/commit/?id=19ce4c30

I have no idea about the first one, as the relevant code hasn't been
touched for a while.  Does it happen only on ARM?

Regards,
-- 
Daiki Ueno




[bug-gettext] [PATCH v2] OS/2 patches

2015-12-14 Thread KO Myung-Hun
Hi/2.

These are cleaned-up and rebased patches for OS/2.

Review, please...

[PATCH v2 1/4] moop: Replace CR as well as LF with a space
[PATCH v2 2/4] intl: Support UNIXROOT in BINDTEXTDOMAIN () on EMX
[PATCH v2 3/4] libasprintf: Build a shared library on OS/2
[PATCH v2 4/4] gettext-tools: Use a short name for DLLs on OS/2



[bug-gettext] [PATCH v2 4/4] gettext-tools: Use a short name for DLLs on OS/2

2015-12-14 Thread KO Myung-Hun
OS/2 does not support a DLL name longer than 8 characters.

* gettext-tools/configure.ac (OS2): Define on OS/2.
* gettext-tools/gnulib-lib/Makefile.am (libgettextlib_la_LDFLAGS):
Set a DLL name to gtlib on OS/2.
* gettext-tools/libgettextpo/Makefile.am (libgettextpo_la_LDFLAGS):
Set a DLL name to gtpo on OS/2.
* gettext-tools/src/Makefile.am (libgettextsrc_la_LDFLAGS): Set a DLL
name to gtsrc on OS/2.
---
 gettext-tools/configure.ac | 2 ++
 gettext-tools/gnulib-lib/Makefile.am   | 5 +
 gettext-tools/libgettextpo/Makefile.am | 5 +
 gettext-tools/src/Makefile.am  | 5 +
 4 files changed, 17 insertions(+)

diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac
index d5e612a..ef151f8 100644
--- a/gettext-tools/configure.ac
+++ b/gettext-tools/configure.ac
@@ -105,6 +105,8 @@ case "$host_os" in
 esac
 AM_CONDITIONAL([WOE32], [test $is_woe32 = yes])
 
+AM_CONDITIONAL([OS2], [test "${host_os#os2}" != "${host_os}"])
+
 dnl On Cygwin 1.7.10-1 or later, error_* variables are defined in the
 dnl Cygwin DLL.  To avoid any conflict with gettext DLLs, always link
 dnl to gnulib's error.c.  See GETTEXTLIB_EXPORTS_FLAGS setting below.
diff --git a/gettext-tools/gnulib-lib/Makefile.am 
b/gettext-tools/gnulib-lib/Makefile.am
index 9e43721..c930367 100644
--- a/gettext-tools/gnulib-lib/Makefile.am
+++ b/gettext-tools/gnulib-lib/Makefile.am
@@ -61,6 +61,11 @@ include Makefile.gnulib
 # Which classes to export from the shared library.
 MOOPPFLAGS += --dllexport=styled_ostream
 
+# OS/2 does not support a DLL name longer than 8 characters.
+if OS2
+libgettextlib_la_LDFLAGS += -os2dllname gtlib
+endif
+
 # Linking with C++ libraries is needed _only_ on mingw and Cygwin.
 if !WOE32DLL
 libgettextlib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
diff --git a/gettext-tools/libgettextpo/Makefile.am 
b/gettext-tools/libgettextpo/Makefile.am
index dfbf40c..c82a632 100644
--- a/gettext-tools/libgettextpo/Makefile.am
+++ b/gettext-tools/libgettextpo/Makefile.am
@@ -118,6 +118,11 @@ libgettextpo_la_SOURCES += ../woe32dll/gettextpo-exports.c
 libgettextpo_la_LDFLAGS += -Wl,--export-all-symbols
 endif
 
+# OS/2 does not support a DLL name longer than 8 characters.
+if OS2
+libgettextpo_la_LDFLAGS += -os2dllname gtpo
+endif
+
 # Version information according to Woe32 conventions.
 EXTRA_DIST += libgettextpo.rc
 if WOE32
diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am
index 7109072..f31d434 100644
--- a/gettext-tools/src/Makefile.am
+++ b/gettext-tools/src/Makefile.am
@@ -256,6 +256,11 @@ libgettextsrc_la_LDFLAGS = \
   -release @VERSION@ \
   ../gnulib-lib/libgettextlib.la $(LTLIBUNISTRING) @LTLIBINTL@ @LTLIBICONV@ 
-lc -no-undefined
 
+# OS/2 does not support a DLL name longer than 8 characters.
+if OS2
+libgettextsrc_la_LDFLAGS += -os2dllname gtsrc
+endif
+
 libgettextsrc_la_CPPFLAGS = $(AM_CPPFLAGS) $(INCXML)
 
 # Tell the mingw or Cygwin linker which symbols to export.
-- 
2.6.0




[bug-gettext] [PATCH v2 2/4] intl: Support UNIXROOT in BINDTEXTDOMAIN () on EMX

2015-12-14 Thread KO Myung-Hun
$UNIXROOT is a drive on which a root of FHS is.

* gettext-runtime/intl/bindtextdom.c (BINDTEXTDOMAIN): Prepend
$UNIXROOT to dirname if it is started '/' or it is an empty string.
---
 gettext-runtime/intl/bindtextdom.c | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gettext-runtime/intl/bindtextdom.c 
b/gettext-runtime/intl/bindtextdom.c
index 887393c..0d530be 100644
--- a/gettext-runtime/intl/bindtextdom.c
+++ b/gettext-runtime/intl/bindtextdom.c
@@ -317,7 +317,32 @@ set_binding_values (const char *domainname,
 char *
 BINDTEXTDOMAIN (const char *domainname, const char *dirname)
 {
+#ifdef __EMX__
+  const char *saved_dirname = dirname;
+  char dirname_with_drive[_MAX_PATH];
+
+  if (dirname && (dirname[0] == '/' || dirname[0] == '\\' ))
+{
+  const char *unixroot = getenv ("UNIXROOT");
+  size_t len = strlen (dirname) + 1;
+
+  if (unixroot
+  && unixroot[0] != '\0'
+  && unixroot[1] == ':'
+  && unixroot[2] == '\0'
+  && 2 + len <= _MAX_PATH)
+{
+  memcpy (dirname_with_drive, unixroot, 2);
+  memcpy (dirname_with_drive + 2, dirname, len);
+
+  dirname = dirname_with_drive;
+}
+}
+#endif
   set_binding_values (domainname, &dirname, NULL);
+#ifdef __EMX__
+  dirname = saved_dirname;
+#endif
   return (char *) dirname;
 }
 
-- 
2.6.0




[bug-gettext] [PATCH v2 1/4] moop: Replace CR as well as LF with a space

2015-12-14 Thread KO Myung-Hun
On OS/2, EOL marker is CR+LF.

* gnulib-local/bulid-aux/moopp (func_check_header_syntax):
Replace CR as well as LF with a space.
---
 gnulib-local/build-aux/moopp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 mode change 100755 => 100644 gnulib-local/build-aux/moopp

diff --git a/gnulib-local/build-aux/moopp b/gnulib-local/build-aux/moopp
old mode 100755
new mode 100644
index 96a50a6..308b877
--- a/gnulib-local/build-aux/moopp
+++ b/gnulib-local/build-aux/moopp
@@ -306,12 +306,12 @@ func_check_header_syntax ()
   }
   class_end_lineno=`expr $methods_lineno + $class_end_lineno`
   sed_extract_methods="$class_end_lineno"',$d;1,'"$methods_lineno"'d'
-  methods=`sed -e "$sed_remove_comments" < "$file" | sed -e 
"$sed_extract_methods" | tr '\n' ' ' | tr ';' '\n' | sed -e 's,[   ]*$,,'`
+  methods=`sed -e "$sed_remove_comments" < "$file" | sed -e 
"$sed_extract_methods" | tr '\015\n' '  ' | tr ';' '\n' | sed -e 's,[  
]*$,,'`
   sed_remove_valid_arg1_lines='/([ ]*'"$classname"'_t[ 
]*[A-Za-z_0-9]*[]*[,)]/d'
   sed_extract_method_name='s,^.*[^A-Za-z_0-9]\([A-Za-z_0-9][A-Za-z_0-9]*\)[
]*(.*$,\1,'
   methods_with_bad_arg1=`echo "$methods" | sed -e "$sed_remove_empty_lines" -e 
"$sed_remove_valid_arg1_lines" -e "$sed_extract_method_name"`
   if test -n "$methods_with_bad_arg1"; then
-methods_with_bad_arg1=`{ echo "$methods_with_bad_arg1" | sed -e 's/$/, /' 
| tr -d '\n'; echo; } | sed -e 's/\(, \)*$//'`
+methods_with_bad_arg1=`{ echo "$methods_with_bad_arg1" | sed -e 's/$/, /' 
| tr -d '\015\n'; echo; } | sed -e 's/\(, \)*$//'`
 func_fatal_error "$file: some methods don't have a first argument of type 
${classname}_t: $methods_with_bad_arg1"
   fi
 }
-- 
2.6.0




[bug-gettext] [PATCH v2 3/4] libasprintf: Build a shared library on OS/2

2015-12-14 Thread KO Myung-Hun
* gettext-runtime/libasprintf/configure.ac (LTNOUNDEF): Set to
-no-undefined on OS/2.
---
 gettext-runtime/libasprintf/configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gettext-runtime/libasprintf/configure.ac 
b/gettext-runtime/libasprintf/configure.ac
index a7c2811..659e414 100644
--- a/gettext-runtime/libasprintf/configure.ac
+++ b/gettext-runtime/libasprintf/configure.ac
@@ -44,7 +44,7 @@ LT_INIT([win32-dll])
 case "$host_os" in
   # On Cygwin, without -no-undefined, a warning is emitted and only a static
   # library is built.
-  beos* | mingw* | cygwin*) LTNOUNDEF='-no-undefined' ;;
+  beos* | mingw* | cygwin* | os2*) LTNOUNDEF='-no-undefined' ;;
   *) LTNOUNDEF='' ;;
 esac
 AC_SUBST([LTNOUNDEF])
-- 
2.6.0