Re: [bug-gettext] [platform-testers] gettext pretest 0.19.6.44-a2e0a
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
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
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
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
$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
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
* 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