bug-gettext
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gettext] [bug #45896] AIX: gettext-0.19.5.1: unresolved symbols


From: aixtools
Subject: Re: [bug-gettext] [bug #45896] AIX: gettext-0.19.5.1: unresolved symbols while linking shared lib
Date: Sun, 13 Sep 2015 14:21:47 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1

On 2015-09-07 4:31 PM, chris wrote:
URL:
   <http://savannah.gnu.org/bugs/?45896>

                  Summary: AIX: gettext-0.19.5.1: unresolved symbols while
linking shared lib
                  Project: GNU gettext
             Submitted by: chris1973
             Submitted on: Mon 07 Sep 2015 02:31:07 PM GMT
                 Category: None
                 Severity: 3 - Normal
               Item Group: None
                   Status: None
                  Privacy: Public
              Assigned to: None
              Open/Closed: Open
          Discussion Lock: Any

     _______________________________________________________

Details:
I just built gettext-0.19.6 on AIX 5.3 TL7 (for multiple AIX level support) using xlc v11. The added help for me is using my 'buildaix' tool (see http://www.aixtools.net/index.php/buildaix for details - and PLEASE note that mkinstallp does not 'like' /usr/local - although using /usr/local as a "source" directory should be okay. If you use the buildaix tool (also check the man page) the application will package so that it installs in /opt/bin)

The primary warning messages are:
+ make > .buildaix/make.out
1500-010: (W) WARNING in ostream__free: Infinite loop. Program may not stop. 1500-010: (W) WARNING in ostream__write_mem: Infinite loop. Program may not stop. 1500-010: (W) WARNING in ostream__flush: Infinite loop. Program may not stop. 1500-010: (W) WARNING in styled_ostream__end_use_class: Infinite loop. Program may not stop. 1500-010: (W) WARNING in styled_ostream__begin_use_class: Infinite loop. Program may not stop. "libcroco/cr-input.c", line 770.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 360.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 367.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 415.51: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 474.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 1169.9: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 1171.9: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 1282.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 1284.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 1302.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 1317.25: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 1916.48: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2010.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2013.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2028.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2031.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2045.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2048.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2061.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2064.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2076.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2079.33: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2164.25: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2167.25: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2179.25: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2182.25: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2205.25: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2208.25: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2219.25: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2222.25: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2249.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2259.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2269.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2279.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2289.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2299.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2309.17: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2408.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2415.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2422.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2429.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2436.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2443.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2450.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2457.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2465.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2473.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2482.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2489.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2495.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2502.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2510.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2516.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. "libcroco/cr-tknzr.c", line 2563.41: 1506-280 (W) Function argument assignment between types "unsigned long*" and "long*" is not allowed. 1500-030: (I) INFORMATION: cr_tknzr_get_next_token: Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192.
1506-1354 (W) Option -qsmp should be used with option -qthreaded.
1506-1354 (W) Option -qsmp should be used with option -qthreaded.
1506-1354 (W) Option -qsmp should be used with option -qthreaded.
1506-1354 (W) Option -qsmp should be used with option -qthreaded.
1500-030: (I) INFORMATION: usage: Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192. 1500-010: (W) WARNING in ostream__free: Infinite loop. Program may not stop. 1500-010: (W) WARNING in ostream__write_mem: Infinite loop. Program may not stop. 1500-010: (W) WARNING in ostream__flush: Infinite loop. Program may not stop. 1500-010: (W) WARNING in libgettextpo_ostream__free: Infinite loop. Program may not stop. 1500-010: (W) WARNING in libgettextpo_ostream__write_mem: Infinite loop. Program may not stop. 1500-010: (W) WARNING in libgettextpo_ostream__flush: Infinite loop. Program may not stop.
ld: 0711-317 ERROR: Undefined symbol: .iconv_open
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.

To fix this:

cd ./gettext-tools/libgettextpo

vi Makefile

Modify Makefile so so that

LDFLAGS = -liconv

cd -

buildaix
...
+ mkinstallp.ksh /var/aixtools/gnu/gettext/0.19.6.0 > .buildaix/mkinstallp.out
==============================
aixtools.gnu.gettext:aixtools.gnu.gettext.man.en_US:0.19.6.0::I:T:::::N:man pages::::0:: aixtools.gnu.gettext:aixtools.gnu.gettext.rte:0.19.6.0::I:T:::::N:1537 0913 1156::::0:: aixtools.gnu.gettext:aixtools.gnu.gettext.share:0.19.6.0::I:T:::::N:universal pages::::0::
==============================
address@hidden:[/data/prj/gnu/gettext/gettext-0.19.6]

re: -qsmp option please review, -- Looking at output from configure

Notice - for configure checking
checking for xlc option to support OpenMP... -qsmp=omp

should also add -qthreaded per the warning above.

See, e.g., http://www-01.ibm.com/support/knowledgecenter/SS3KZ4_9.0.0/com.ibm.xlf111.bg.doc/xlfcr/opt_smp.htm and http://www-01.ibm.com/support/knowledgecenter/SS3KZ4_9.0.0/com.ibm.xlf111.bg.doc/xlfcr/opt_threaded.htm%23opt_threaded

FYI - head of config.log is:

address@hidden:[/data/prj/gnu/gettext/gettext-0.19.6]head -20 config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by gettext configure 0.19.6, which was
generated by GNU Autoconf 2.69.  Invocation command line was

$ ./configure --prefix=/opt --sysconfdir=/var/gettext/etc --sharedstatedir=/var/gettext/com --localstatedir=/var/gettext --mandir=/usr/share/man --infodir=/opt/share/info/gettext

## --------- ##
## Platform. ##
## --------- ##

hostname = x064
uname -m = 00C291F54C00
uname -r = 3
uname -s = AIX
uname -v = 5

/usr/bin/uname -p = powerpc
/bin/uname -X     = unknown

Chris - I mentioned my 'buildaix' tool in the hope you will give it a try-out. If you run into issues I will try to fix them asap. And it should also work with gcc (I have tested it with gcc, but prefer the AIX rte over the additional GNU rte requisites for supporting programs complied using gcc (e.g., a different libc).



OS: AIX
Compiler: IBM XLC 13.1.0 wiht AIX ld
CFLAGS: -q32 -qsmp -qmaxmem=-1 -DNDEBUG -DSYSV -D_AIX -D_AIX32 -D_AIX41
-D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_AIX71 -D_ALL_SOURCE
-DFUNCPROTO=15 -O2 \
-I$APPATH/include -I/opt/freeware/include
LDFLAGS:"-L$APPATH/lib -L/opt/freeware/lib -L/opt/freeware/lib64 -L.
-Wl,-blibpath:$APPATH/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -Wl,-b32
-Wl,-bexpall -Wl,-bnoipath

libtool: link: rm -f -r .libs/libgettextsrc-0.19.5.1.a.d
libtool: link: mkdir .libs/libgettextsrc-0.19.5.1.a.d
libtool: link: xlc_r -Wl,-bM:SRE -o
.libs/libgettextsrc-0.19.5.1.a.d/libgettextsrc-0.19.5.1.so
.libs/libgettextsrc_la-message.o .libs/libgettextsrc_la-po-error.o
.libs/libgettextsrc_la-po-xerror.o
.libs/libgettextsrc_la-read-catalog-abstract.o .libs/libgettextsrc_la-po-lex.o
.libs/libgettextsrc_la-po-gram-gen.o .libs/libgettextsrc_la-po-charset.o
.libs/libgettextsrc_la-read-po.o .libs/libgettextsrc_la-read-properties.o
.libs/libgettextsrc_la-read-stringtable.o
.libs/libgettextsrc_la-open-catalog.o .libs/libgettextsrc_la-dir-list.o
.libs/libgettextsrc_la-str-list.o .libs/libgettextsrc_la-read-catalog.o
.libs/libgettextsrc_la-color.o .libs/libgettextsrc_la-write-catalog.o
.libs/libgettextsrc_la-write-properties.o
.libs/libgettextsrc_la-write-stringtable.o .libs/libgettextsrc_la-write-po.o
.libs/libgettextsrc_la-msgl-ascii.o .libs/libgettextsrc_la-msgl-iconv.o
.libs/libgettextsrc_la-msgl-equal.o .libs/libgettextsrc_la-msgl-cat.o
.libs/libgettextsrc_la-msgl-header.o .libs/libgettextsrc_la-msgl-english.o
.libs/libgettextsrc_la-msgl-check.o .libs/libgettextsrc_la-file-list.o
.libs/libgettextsrc_la-msgl-charset.o .libs/libgettextsrc_la-po-time.o
.libs/libgettextsrc_la-plural-exp.o .libs/libgettextsrc_la-plural-eval.o
.libs/libgettextsrc_la-plural-table.o .libs/libgettextsrc_la-sentence.o
.libs/libgettextsrc_la-libexpat-compat.o .libs/libgettextsrc_la-format.o
.libs/libgettextsrc_la-format-c.o .libs/libgettextsrc_la-format-sh.o
.libs/libgettextsrc_la-format-python.o
.libs/libgettextsrc_la-format-python-brace.o
.libs/libgettextsrc_la-format-lisp.o .libs/libgettextsrc_la-format-elisp.o
.libs/libgettextsrc_la-format-librep.o .libs/libgettextsrc_la-format-scheme.o
.libs/libgettextsrc_la-format-java.o .libs/libgettextsrc_la-format-csharp.o
.libs/libgettextsrc_la-format-awk.o .libs/libgettextsrc_la-format-pascal.o
.libs/libgettextsrc_la-format-ycp.o .libs/libgettextsrc_la-format-tcl.o
.libs/libgettextsrc_la-format-perl.o
.libs/libgettextsrc_la-format-perl-brace.o .libs/libgettextsrc_la-format-php.o
.libs/libgettextsrc_la-format-gcc-internal.o
.libs/libgettextsrc_la-format-gfc-internal.o
.libs/libgettextsrc_la-format-qt.o .libs/libgettextsrc_la-format-qt-plural.o
.libs/libgettextsrc_la-format-kde.o .libs/libgettextsrc_la-format-kde-kuit.o
.libs/libgettextsrc_la-format-boost.o .libs/libgettextsrc_la-format-lua.o
.libs/libgettextsrc_la-format-javascript.o
.libs/libgettextsrc_la-read-desktop.o
-Wl,-blibpath:/usr/local/src/gnutoolchain/gettext-0.19.5.1/gettext-tools/gnulib-lib/.libs:/usr/local/src/gnutoolchain/gettext-0.19.5.1/gettext-tools/intl/.libs:/usr/local/itsvbuild/32/lib:/usr/local/itsvbuild/32/dev/lib:/usr/local/itsvbuild/32/lib:/usr/lib:/lib
-L/usr/local/src/gnutoolchain/gettext-0.19.5.1/gettext-tools/intl/.libs
-L/usr/local/itsvbuild/32/lib -L/opt/freeware/lib -L/opt/freeware/lib64
-L../gnulib-lib/.libs -lgettextlib -L. -lxml2 -lpthread -lz -lm
-L../intl/.libs -lintl -liconv -lexpat -lc -lc -Wl,-bnoentry `func_echo_all "
-q32 -qsmp -qmaxmem=-1 -O2
-Wl,-blibpath:/usr/local/itsvbuild/32/lib:/usr/lib:/lib
-Wl,-bmaxdata:0x80000000 -Wl,-b32 -Wl,-bexpall -Wl,-bnoipath   " |
/usr/local/itsvbuild/32/bin/sed -e "s%-brtl\\([,
]\\)%-berok\\1%g"`-Wl,-bE:.libs/libgettextsrc.exp -Wl,-bernotok
ld: 0711-224 WARNING: Duplicate symbol: .fsav
ld: 0711-224 WARNING: Duplicate symbol: .fres
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
ld: 0711-317 ERROR: Undefined symbol: .fstrcmp_bounded
ld: 0711-317 ERROR: Undefined symbol: rpl_error_message_count
ld: 0711-317 ERROR: Undefined symbol: .u8_mbtoucr
ld: 0711-317 ERROR: Undefined symbol: .xconcatenated_filename
ld: 0711-317 ERROR: Undefined symbol: .rpl_fopen
ld: 0711-317 ERROR: Undefined symbol: .rpl_stat
ld: 0711-317 ERROR: Undefined symbol: .xmem_cd_iconv
ld: 0711-317 ERROR: Undefined symbol: .iconveh_open
ld: 0711-317 ERROR: Undefined symbol: .xmem_cd_iconveh
ld: 0711-317 ERROR: Undefined symbol: .iconveh_close
ld: 0711-317 ERROR: Undefined symbol: .rpl_open
ld: 0711-317 ERROR: Undefined symbol: .ulc_width_linebreaks
ld: 0711-317 ERROR: Undefined symbol: .strchrnul
ld: 0711-317 ERROR: Undefined symbol: .rpl_stpncpy
ld: 0711-317 ERROR: Undefined symbol: .rpl_strstr
ld: 0711-317 ERROR: Undefined symbol: .uc_is_space
Makefile:2331: recipe for target 'libgettextsrc.la' failed
gmake[5]: *** [libgettextsrc.la] Error 8
gmake[5]: Leaving directory
'/usr/local/src/gnutoolchain/gettext-0.19.5.1/gettext-tools/src'
Makefile:2251: recipe for target 'all' failed
gmake[4]: *** [all] Error 2
gmake[4]: Leaving directory
'/usr/local/src/gnutoolchain/gettext-0.19.5.1/gettext-tools/src'
Makefile:1730: recipe for target 'all-recursive' failed
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory
'/usr/local/src/gnutoolchain/gettext-0.19.5.1/gettext-tools'
Makefile:1595: recipe for target 'all' failed
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory
'/usr/local/src/gnutoolchain/gettext-0.19.5.1/gettext-tools'
Makefile:370: recipe for target 'all-recursive' failed
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory '/usr/local/src/gnutoolchain/gettext-0.19.5.1'
Makefile:325: recipe for target 'all' failed
gmake: *** [all] Error 2





     _______________________________________________________

Reply to this item at:

   <http://savannah.gnu.org/bugs/?45896>

_______________________________________________
   Message sent via/by Savannah
   http://savannah.gnu.org/






reply via email to

[Prev in Thread] Current Thread [Next in Thread]