You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by Ernesto Nebel <ne...@indicast.com> on 2000/07/31 22:37:42 UTC

Question: building Xerces with ICU on linux

Hello,

I apologize if this has been covered before.  The archives for this
mailing list have been unavailable for the past few days, and I
couldn't find an answer under the build instructions on the web site.

I compiled version 1.5 of ICU on the following platform with no
problems:

Red Hat Linux release 6.0 (Hedwig)
Kernel 2.2.5-15 on an i686

I can also compile Xerces 1.2.0a and the samples if I run
"runConfigure" as follows:

runConfigure -plinux -cgcc -xg++

But when I add the -ticu option, the xerces shared library compiles
and links correctly but the samples get the following link errors:

/home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
reference to `ICUTransService::ICUTransService(void)'

If I use the -micu option, the xerces shared library also compiles and
links correclty, but the samples get the following link errors:

/home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
reference to `XMLPlatformUtils::makeTransService(void)'
/home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
reference to `XMLPlatformUtils::readFileBuffer(void *, unsigned int,
unsigned char *)'
/home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
reference to `XMLPlatformUtils::loadAMsgSet(wchar_t const *)'
... [ more ] ....

I have set the  ICUROOT and ICU_DATA environment variables, and I also
tried adding:

-L ${ICUROOT}/lib -L ${ICU_DATA} -licu-uc -licudata

to the link line of the samples.

I'm sure this has an easy answer.  Please let me know what it is.

Thanks.

Ernesto



Re: Question: building Xerces with ICU on linux

Posted by Ernesto Nebel <ne...@indicast.com>.
One more small piece of information.  I just checked, and the newest ICUTransService.cpp
will not work with ICU 1.5 because the number of parameters for function
ucnv_setFromUCallBack changed between 1.5 and 1.6.  So, regardless of whether you begin
with the 1.2.0a version of ICUTransService.cpp or with the very latest version of
ICUTransService.cpp, you have to make some changes if you want it to work with ICU 1.5.

Ernesto

Arundhati Bhowmick wrote:

> The stable version on xerces (1.2) as documented works with  icu 1.4.1.2. The
> new code works with icu 1.6a. And this code may work on icu 1.5 but I've not
> tried it.
> Arundhati
>
> Ernesto Nebel wrote:
>
> > Thank you.  As you pointed out, xerces was not building correctly (stupid of
> > me to assume that just because the library got created, it got created
> > correctly.)  The file ICUTransService.cpp in xerces 1.2.0a does not compile
> > correctly with ICU 1.5.  The ICU function "ucnv_fromUChars" has a different
> > number of parameters in ICU 1.4 and in ICU 1.5.  One or two of the calls to
> > that function had been adjusted, but not all.  I adjusted the rest of them
> > and it worked.
> >
> > I just looked at the xerces source code posted yesterday, which says it
> > supports ICU 1.6a, and (barring unknown differences between ICU 1.5 and
> > 1.6a) it should work fine with ICU 1.5, too.  (I haven't tried it.  I'm
> > trying to stick to stable releases of xerces and icu).
> >
> > Thanks.
> >
> > Ernesto
> >
> > Arundhati Bhowmick wrote:
> >
> > > -ticu is the right option to use to incorporate icu support. Do not use
> > > -micu. Also do not set ICU_DATA. update your libaray path to have both
> > > icu-uc and icudata lbraries.
> > > If you get undefined refreneces on samples then it shows that the source
> > > didnot get build properly although the library got created. Create a log
> > > file while building source and investigate the error.
> > > Arundhati
> > >
> > > Ernesto Nebel wrote:
> > >
> > > > Hello,
> > > >
> > > > I apologize if this has been covered before.  The archives for this
> > > > mailing list have been unavailable for the past few days, and I
> > > > couldn't find an answer under the build instructions on the web site.
> > > >
> > > > I compiled version 1.5 of ICU on the following platform with no
> > > > problems:
> > > >
> > > > Red Hat Linux release 6.0 (Hedwig)
> > > > Kernel 2.2.5-15 on an i686
> > > >
> > > > I can also compile Xerces 1.2.0a and the samples if I run
> > > > "runConfigure" as follows:
> > > >
> > > > runConfigure -plinux -cgcc -xg++
> > > >
> > > > But when I add the -ticu option, the xerces shared library compiles
> > > > and links correctly but the samples get the following link errors:
> > > >
> > > > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > > > reference to `ICUTransService::ICUTransService(void)'
> > > >
> > > > If I use the -micu option, the xerces shared library also compiles and
> > > > links correclty, but the samples get the following link errors:
> > > >
> > > > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > > > reference to `XMLPlatformUtils::makeTransService(void)'
> > > > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > > > reference to `XMLPlatformUtils::readFileBuffer(void *, unsigned int,
> > > > unsigned char *)'
> > > > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > > > reference to `XMLPlatformUtils::loadAMsgSet(wchar_t const *)'
> > > > ... [ more ] ....
> > > >
> > > > I have set the  ICUROOT and ICU_DATA environment variables, and I also
> > > > tried adding:
> > > >
> > > > -L ${ICUROOT}/lib -L ${ICU_DATA} -licu-uc -licudata
> > > >
> > > > to the link line of the samples.
> > > >
> > > > I'm sure this has an easy answer.  Please let me know what it is.
> > > >
> > > > Thanks.
> > > >
> > > > Ernesto
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> > > > For additional commands, e-mail: xerces-c-dev-help@xml.apache.org
> > >
> > > --
> > >
> > > Arundhati Bhowmick
> > > IBM -- XML Technology Group (Silicon Valley)
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> > > For additional commands, e-mail: xerces-c-dev-help@xml.apache.org
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> > For additional commands, e-mail: xerces-c-dev-help@xml.apache.org
>
> --
>
> Arundhati Bhowmick
> IBM -- XML Technology Group (Silicon Valley)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> For additional commands, e-mail: xerces-c-dev-help@xml.apache.org


Re: Question: building Xerces with ICU on linux

Posted by Arundhati Bhowmick <ar...@hyperreal.org>.
The stable version on xerces (1.2) as documented works with  icu 1.4.1.2. The
new code works with icu 1.6a. And this code may work on icu 1.5 but I've not
tried it.
Arundhati

Ernesto Nebel wrote:

> Thank you.  As you pointed out, xerces was not building correctly (stupid of
> me to assume that just because the library got created, it got created
> correctly.)  The file ICUTransService.cpp in xerces 1.2.0a does not compile
> correctly with ICU 1.5.  The ICU function "ucnv_fromUChars" has a different
> number of parameters in ICU 1.4 and in ICU 1.5.  One or two of the calls to
> that function had been adjusted, but not all.  I adjusted the rest of them
> and it worked.
>
> I just looked at the xerces source code posted yesterday, which says it
> supports ICU 1.6a, and (barring unknown differences between ICU 1.5 and
> 1.6a) it should work fine with ICU 1.5, too.  (I haven't tried it.  I'm
> trying to stick to stable releases of xerces and icu).
>
> Thanks.
>
> Ernesto
>
> Arundhati Bhowmick wrote:
>
> > -ticu is the right option to use to incorporate icu support. Do not use
> > -micu. Also do not set ICU_DATA. update your libaray path to have both
> > icu-uc and icudata lbraries.
> > If you get undefined refreneces on samples then it shows that the source
> > didnot get build properly although the library got created. Create a log
> > file while building source and investigate the error.
> > Arundhati
> >
> > Ernesto Nebel wrote:
> >
> > > Hello,
> > >
> > > I apologize if this has been covered before.  The archives for this
> > > mailing list have been unavailable for the past few days, and I
> > > couldn't find an answer under the build instructions on the web site.
> > >
> > > I compiled version 1.5 of ICU on the following platform with no
> > > problems:
> > >
> > > Red Hat Linux release 6.0 (Hedwig)
> > > Kernel 2.2.5-15 on an i686
> > >
> > > I can also compile Xerces 1.2.0a and the samples if I run
> > > "runConfigure" as follows:
> > >
> > > runConfigure -plinux -cgcc -xg++
> > >
> > > But when I add the -ticu option, the xerces shared library compiles
> > > and links correctly but the samples get the following link errors:
> > >
> > > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > > reference to `ICUTransService::ICUTransService(void)'
> > >
> > > If I use the -micu option, the xerces shared library also compiles and
> > > links correclty, but the samples get the following link errors:
> > >
> > > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > > reference to `XMLPlatformUtils::makeTransService(void)'
> > > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > > reference to `XMLPlatformUtils::readFileBuffer(void *, unsigned int,
> > > unsigned char *)'
> > > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > > reference to `XMLPlatformUtils::loadAMsgSet(wchar_t const *)'
> > > ... [ more ] ....
> > >
> > > I have set the  ICUROOT and ICU_DATA environment variables, and I also
> > > tried adding:
> > >
> > > -L ${ICUROOT}/lib -L ${ICU_DATA} -licu-uc -licudata
> > >
> > > to the link line of the samples.
> > >
> > > I'm sure this has an easy answer.  Please let me know what it is.
> > >
> > > Thanks.
> > >
> > > Ernesto
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> > > For additional commands, e-mail: xerces-c-dev-help@xml.apache.org
> >
> > --
> >
> > Arundhati Bhowmick
> > IBM -- XML Technology Group (Silicon Valley)
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> > For additional commands, e-mail: xerces-c-dev-help@xml.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> For additional commands, e-mail: xerces-c-dev-help@xml.apache.org

--


Arundhati Bhowmick
IBM -- XML Technology Group (Silicon Valley)



Re: Question: building Xerces with ICU on linux

Posted by Ernesto Nebel <ne...@indicast.com>.
Thank you.  As you pointed out, xerces was not building correctly (stupid of
me to assume that just because the library got created, it got created
correctly.)  The file ICUTransService.cpp in xerces 1.2.0a does not compile
correctly with ICU 1.5.  The ICU function "ucnv_fromUChars" has a different
number of parameters in ICU 1.4 and in ICU 1.5.  One or two of the calls to
that function had been adjusted, but not all.  I adjusted the rest of them
and it worked.

I just looked at the xerces source code posted yesterday, which says it
supports ICU 1.6a, and (barring unknown differences between ICU 1.5 and
1.6a) it should work fine with ICU 1.5, too.  (I haven't tried it.  I'm
trying to stick to stable releases of xerces and icu).

Thanks.

Ernesto

Arundhati Bhowmick wrote:

> -ticu is the right option to use to incorporate icu support. Do not use
> -micu. Also do not set ICU_DATA. update your libaray path to have both
> icu-uc and icudata lbraries.
> If you get undefined refreneces on samples then it shows that the source
> didnot get build properly although the library got created. Create a log
> file while building source and investigate the error.
> Arundhati
>
> Ernesto Nebel wrote:
>
> > Hello,
> >
> > I apologize if this has been covered before.  The archives for this
> > mailing list have been unavailable for the past few days, and I
> > couldn't find an answer under the build instructions on the web site.
> >
> > I compiled version 1.5 of ICU on the following platform with no
> > problems:
> >
> > Red Hat Linux release 6.0 (Hedwig)
> > Kernel 2.2.5-15 on an i686
> >
> > I can also compile Xerces 1.2.0a and the samples if I run
> > "runConfigure" as follows:
> >
> > runConfigure -plinux -cgcc -xg++
> >
> > But when I add the -ticu option, the xerces shared library compiles
> > and links correctly but the samples get the following link errors:
> >
> > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > reference to `ICUTransService::ICUTransService(void)'
> >
> > If I use the -micu option, the xerces shared library also compiles and
> > links correclty, but the samples get the following link errors:
> >
> > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > reference to `XMLPlatformUtils::makeTransService(void)'
> > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > reference to `XMLPlatformUtils::readFileBuffer(void *, unsigned int,
> > unsigned char *)'
> > /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> > reference to `XMLPlatformUtils::loadAMsgSet(wchar_t const *)'
> > ... [ more ] ....
> >
> > I have set the  ICUROOT and ICU_DATA environment variables, and I also
> > tried adding:
> >
> > -L ${ICUROOT}/lib -L ${ICU_DATA} -licu-uc -licudata
> >
> > to the link line of the samples.
> >
> > I'm sure this has an easy answer.  Please let me know what it is.
> >
> > Thanks.
> >
> > Ernesto
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> > For additional commands, e-mail: xerces-c-dev-help@xml.apache.org
>
> --
>
> Arundhati Bhowmick
> IBM -- XML Technology Group (Silicon Valley)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> For additional commands, e-mail: xerces-c-dev-help@xml.apache.org


Re: Question: building Xerces with ICU on linux

Posted by Arundhati Bhowmick <ar...@hyperreal.org>.
-ticu is the right option to use to incorporate icu support. Do not use
-micu. Also do not set ICU_DATA. update your libaray path to have both
icu-uc and icudata lbraries.
If you get undefined refreneces on samples then it shows that the source
didnot get build properly although the library got created. Create a log
file while building source and investigate the error.
Arundhati

Ernesto Nebel wrote:

> Hello,
>
> I apologize if this has been covered before.  The archives for this
> mailing list have been unavailable for the past few days, and I
> couldn't find an answer under the build instructions on the web site.
>
> I compiled version 1.5 of ICU on the following platform with no
> problems:
>
> Red Hat Linux release 6.0 (Hedwig)
> Kernel 2.2.5-15 on an i686
>
> I can also compile Xerces 1.2.0a and the samples if I run
> "runConfigure" as follows:
>
> runConfigure -plinux -cgcc -xg++
>
> But when I add the -ticu option, the xerces shared library compiles
> and links correctly but the samples get the following link errors:
>
> /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> reference to `ICUTransService::ICUTransService(void)'
>
> If I use the -micu option, the xerces shared library also compiles and
> links correclty, but the samples get the following link errors:
>
> /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> reference to `XMLPlatformUtils::makeTransService(void)'
> /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> reference to `XMLPlatformUtils::readFileBuffer(void *, unsigned int,
> unsigned char *)'
> /home/nebel/tools/xerces-c-src_1_2_0/lib/libxerces-c1_2.so: undefined
> reference to `XMLPlatformUtils::loadAMsgSet(wchar_t const *)'
> ... [ more ] ....
>
> I have set the  ICUROOT and ICU_DATA environment variables, and I also
> tried adding:
>
> -L ${ICUROOT}/lib -L ${ICU_DATA} -licu-uc -licudata
>
> to the link line of the samples.
>
> I'm sure this has an easy answer.  Please let me know what it is.
>
> Thanks.
>
> Ernesto
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> For additional commands, e-mail: xerces-c-dev-help@xml.apache.org

--


Arundhati Bhowmick
IBM -- XML Technology Group (Silicon Valley)