>>>>> Ken Foskey writes: Ken> Code is tested and builds on Linux gcc 3.3. I am trying to build icu Ken> 2.2 on AIX for OpenOffice.org port using gcc 3.3 and the standard ld Ken> tool and I am getting: Ken> ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more Ken> information. Ken> ld: 0711-317 ERROR: Undefined symbol: non-virtual thunk [nv:-4] to Ken> icu_2_2::UnicodeFilter::matches(icu_2_2::Replaceable const&, int&, int, Ken> signed char) Ken> ld: 0711-317 ERROR: Undefined symbol: non-virtual thunk [nv:-4] to Ken> icu_2_2::UnicodeFilter::toPattern(icu_2_2::UnicodeString&, signed char) Ken> const Ken> ld: 0711-317 ERROR: Undefined symbol: non-virtual thunk [nv:-4] to Ken> icu_2_2::UnicodeFilter::matchesIndexValue(unsigned char) const Ken> ld: 0711-317 ERROR: Undefined symbol: non-virtual thunk [nv:-4] to Ken> icu_2_2::UnicodeFilter::addMatchSetTo(icu_2_2::UnicodeSet&) const Ken> collect2: ld returned 8 exit status Ken> the nm command (default aix) cannot deal with these files at all. So I Ken> cannot really analyse this further. I do not know what "cannot deal with these files at all" means. I have no difficulty using AIX nm with libstdc++. If you want demanged names, use c++filt. Ken> The looks like bug 4122 but I can compile 4122 code fine. my link line Ken> is: Ken> /usr/local/gcc3.3/bin/g++ -O -Wl,-brtl -shared -Wl,-bexpall -o Ken> libicui18n22.0.so ucln_in.o ... ucurr.o -L../common -licuuc22 Ken> -L../data/out -L../stubdata -licudata22 -lpthread -lm -Wl,-bexpall does not export symbols with leading underscore, which are all C++ mangled names in the new ABI. You need to generate the export list explicitly using nm and awk substr: nm -BCpg *.o | awk '{ if ((($2 == "T") || ($2 == "D") || ($2 == "B")) && (substr($3,1,1) != ".")) { print $3 } }' | sort -u > icu.exp Also, you need to use -Wl,-G when creating the shared object and -Wl,-brtl when linking the final application. Ken> I tried compiling the binutils from tarball and installing it but it Ken> makes matters worse. GNU Binutils does not fully support AIX 5L. David