You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-users@xalan.apache.org by Nick Bastin <nb...@opnet.com> on 2004/03/04 19:53:37 UTC

Building with ICL on windows

Has anybody succeeded with successfully building Xalan+ICU with ICL?  I 
had no trouble at all with xerces+icu with ICL, but I'm not even sure 
where to start with Xalan.  Even if I set the compiler selection tool 
to ICL, it still invokes cl.exe to build it.  If I change tools.ini in 
Utils/Localization to include MAKE_PARAMS=CPP=icl.exe, that works for a 
few seconds, but then stops with the following error:

NMAKE: fatal error U1077: 
'..\..\..\..\..\Build\Win32\VC6\Release\MsgCreator.exe' : return code 
'0x8'
Stop.
Error executing nmake.

Any ideas?  Also, is there any way to build this from the command line, 
as Xerces does, for instance?  We don't use MSVC for our builds, so 
it's going to be a royal pain if we have to go to it to build Xalan.

--
Nick


Re: Building with ICL on windows

Posted by Nick Bastin <nb...@opnet.com>.
On Mar 4, 2004, at 3:25 PM, Soheila Bashardoust-Tajali wrote:

>  You don't need to change the "tools.ini" to run the intel compiler. 
> All
> you need are the Makefiles, to do your build completely.
> So first use the IDE with "XalanICU.dsw" to make all the Makefiles, and
> then try the following command (eg) on the prompt:
>
> NMAKE /f BuildMessages.mak CFG="LocalizationWithICU - Win32 Release"
> CPP=icl.exe

That doesn't work very well for me, unfortunately.  The steps for 
setting the right include and lib directories in the project file 
apparently aren't preserved when you write the makefiles out, because 
they don't have those additional include directories specified.  Even 
after serious mucking the makefiles, I've got the same problem anyhow 
with the MsgCreator.

--
Nick


Re: Building with ICL on windows

Posted by Soheila Bashardoust-Tajali <st...@ca.ibm.com>.



Hi Nick,

 You don't need to change the "tools.ini" to run the intel compiler. All
you need are the Makefiles, to do your build completely.
So first use the IDE with "XalanICU.dsw" to make all the Makefiles, and
then try the following command (eg) on the prompt:

NMAKE /f BuildMessages.mak CFG="LocalizationWithICU - Win32 Release"
CPP=icl.exe



Soheila Bashardoust
XSLT Development, IBM Toronto Lab
E-mail: stajali@ca.ibm.com, Phone: 905-413-2875


                                                                           
             Nick Bastin                                                   
             <nbastin@opnet.co                                             
             m>                                                         To 
                                       xalan-c-users@xml.apache.org        
             03/04/2004 01:53                                           cc 
             PM                                                            
                                                                   Subject 
                                       Building with ICL on windows        
             Please respond to                                             
               xalan-c-users                                               
                                                                           
                                                                           
                                                                           
                                                                           




Has anybody succeeded with successfully building Xalan+ICU with ICL?  I
had no trouble at all with xerces+icu with ICL, but I'm not even sure
where to start with Xalan.  Even if I set the compiler selection tool
to ICL, it still invokes cl.exe to build it.  If I change tools.ini in
Utils/Localization to include MAKE_PARAMS=CPP=icl.exe, that works for a
few seconds, but then stops with the following error:

NMAKE: fatal error U1077:
'..\..\..\..\..\Build\Win32\VC6\Release\MsgCreator.exe' : return code
'0x8'
Stop.
Error executing nmake.

Any ideas?  Also, is there any way to build this from the command line,
as Xerces does, for instance?  We don't use MSVC for our builds, so
it's going to be a royal pain if we have to go to it to build Xalan.

--
Nick




Re: Building with ICL on windows

Posted by Nick Bastin <nb...@opnet.com>.
On Mar 4, 2004, at 4:13 PM, david_n_bertoni@us.ibm.com wrote:

>> However, in a debug build, I have a new problem, which is that
>> 'genrb.exe' can't be found.  What is this executable, and where should
>> I have it from?
>
> This is part of the ICU, but only appears in later versions.  Check 
> the bin
> directory of your ICU distribution to see if it's there.  We also may 
> have
> a bug in our Makefiles, since this stuff is pretty new.

If I roll back to 1.6, am I unlikely to have this problem?  I don't 
care about localized Xalan messages anyhow - I only want the 
transformer to be able to transform into internationalized output.  In 
fact, I get the impression that the stock Xalan build will do that as 
long as I built Xerces with ICU?  I know I wouldn't have localized 
number functionality in that case, but would it be able to do unicode 
transformations?

--
Nick


Re: Building with ICL on windows

Posted by da...@us.ibm.com.



> On Mar 4, 2004, at 4:23 PM, Nick Bastin wrote:
>
> >
> > On Mar 4, 2004, at 4:13 PM, david_n_bertoni@us.ibm.com wrote:
> >
> >>> It gets better.  I don't have this problem in a debug build (in any
> >>> compiler).  I have it regardless of compiler in a release build (CL
> >>> or
> >>> ICL).
> >>
> >> Hmm, maybe we have a problem with mixing run-time libraries, or it's
> >> just a
> >> bug in our code that manifests only in the relase build.
> >
> > Has anybody successfully built Xerces+Xalan+ICU before, with any
> > compiler (in 1.7)?  I really just need binaries for testing, so if
> > someone *had* binaries and libs that I could use, that would solve my
> > problem, at least for a while.
>
> Just as a final side note, I did get everything to build this morning
> using MSVC 6.  Apparently there's something wrong with the ICU
> libraries produced by the Intel compiler in release mode, which could
> potentially be an optimization bug.  I have not tried to go back
> through the project and turn some optimizations off.
>
> --
> Nick

I'm not surprised -- the ICU, Xerces-C, and Xalan-c have had _numerous_
problems with various versions of the Intel compiler on both Windows and
Linux.  Many of those problems were even in the debug builds.

Dave


Re: Building with ICL on windows

Posted by Nick Bastin <nb...@opnet.com>.
On Mar 4, 2004, at 4:23 PM, Nick Bastin wrote:

>
> On Mar 4, 2004, at 4:13 PM, david_n_bertoni@us.ibm.com wrote:
>
>>> It gets better.  I don't have this problem in a debug build (in any
>>> compiler).  I have it regardless of compiler in a release build (CL 
>>> or
>>> ICL).
>>
>> Hmm, maybe we have a problem with mixing run-time libraries, or it's 
>> just a
>> bug in our code that manifests only in the relase build.
>
> Has anybody successfully built Xerces+Xalan+ICU before, with any 
> compiler (in 1.7)?  I really just need binaries for testing, so if 
> someone *had* binaries and libs that I could use, that would solve my 
> problem, at least for a while.

Just as a final side note, I did get everything to build this morning 
using MSVC 6.  Apparently there's something wrong with the ICU 
libraries produced by the Intel compiler in release mode, which could 
potentially be an optimization bug.  I have not tried to go back 
through the project and turn some optimizations off.

--
Nick


Re: Building with ICL on windows

Posted by Nick Bastin <nb...@opnet.com>.
On Mar 4, 2004, at 4:13 PM, david_n_bertoni@us.ibm.com wrote:

>> It gets better.  I don't have this problem in a debug build (in any
>> compiler).  I have it regardless of compiler in a release build (CL or
>> ICL).
>
> Hmm, maybe we have a problem with mixing run-time libraries, or it's 
> just a
> bug in our code that manifests only in the relase build.

Has anybody successfully built Xerces+Xalan+ICU before, with any 
compiler (in 1.7)?  I really just need binaries for testing, so if 
someone *had* binaries and libs that I could use, that would solve my 
problem, at least for a while.

>> However, in a debug build, I have a new problem, which is that
>> 'genrb.exe' can't be found.  What is this executable, and where should
>> I have it from?
>
> This is part of the ICU, but only appears in later versions.  Check 
> the bin
> directory of your ICU distribution to see if it's there.  We also may 
> have
> a bug in our Makefiles, since this stuff is pretty new.

This one is my mistake.  I thought that it was copied as part of the 
xerces install, but it wasn't.  Adding the icu bin dir to the exe path 
helps, but then I get more problems with bad return codes from other 
icu apps (gencmn.exe, and pkgdata.exe).  These may be because I'm 
mixing an optimized ICU with debug Xalan, which is generally a no-no on 
win32.  I'll try building everything debug, I suppose.

--
Nick


Re: Building with ICL on windows

Posted by da...@us.ibm.com.



> It gets better.  I don't have this problem in a debug build (in any
> compiler).  I have it regardless of compiler in a release build (CL or
> ICL).

Hmm, maybe we have a problem with mixing run-time libraries, or it's just a
bug in our code that manifests only in the relase build.

> However, in a debug build, I have a new problem, which is that
> 'genrb.exe' can't be found.  What is this executable, and where should
> I have it from?

This is part of the ICU, but only appears in later versions.  Check the bin
directory of your ICU distribution to see if it's there.  We also may have
a bug in our Makefiles, since this stuff is pretty new.

Dave


Re: Building with ICL on windows

Posted by Dmitry Hayes <dm...@ca.ibm.com>.



Hi Nick!
Now you are in much better situation .
The process looks like that:
With ICU:
MsgCreater.exe (xerces dll is required) takes XalanMsg_en_US.xlf and
creates Debud/nls/icu/en_US.txt file
genrb.exe ( application , provided by ICU , check you ICU root ) is a part
of process , taking Debud/nls/icu/en_US.txt and creating xalanMessages dll.

Hope that helps.
Dmitry



                                                                           
             Nick Bastin                                                   
             <nbastin@opnet.co                                             
             m>                                                         To 
                                       xalan-c-users@xml.apache.org        
             03/04/2004 04:01                                           cc 
             PM                                                            
                                                                   Subject 
                                       Re: Building with ICL on windows    
             Please respond to                                             
               xalan-c-users                                               
                                                                           
                                                                           
                                                                           
                                                                           





On Mar 4, 2004, at 3:29 PM, david_n_bertoni@us.ibm.com wrote:

>> C:\build\Xalan-C_1_7_0-src\c\Build\Win32\VC6\Release>MsgCreator
>> ..\..\..\..\..\src\xalanc\NLS\en_US\XalanMsg_en_US.xlf -TYPE icu
>> -LOCALE en_US
>>
>> General error occured.
>>
>> I'd imagine that this is why the build is failing.  Has anybody seen
>> this problem before?
>
> No, I've never seen that before, but it's coming from a catch (...)
> handler
> within the application, so it sounds like something really bad is
> happening
> inside of Xerces-C or inside the handler that builds the message file.
>  You
> might try building the debug configuration and running it in the
> debugger
> to see what's happening.

It gets better.  I don't have this problem in a debug build (in any
compiler).  I have it regardless of compiler in a release build (CL or
ICL).

However, in a debug build, I have a new problem, which is that
'genrb.exe' can't be found.  What is this executable, and where should
I have it from?

--
Nick




Re: Building with ICL on windows

Posted by Nick Bastin <nb...@opnet.com>.
On Mar 4, 2004, at 3:29 PM, david_n_bertoni@us.ibm.com wrote:

>> C:\build\Xalan-C_1_7_0-src\c\Build\Win32\VC6\Release>MsgCreator
>> ..\..\..\..\..\src\xalanc\NLS\en_US\XalanMsg_en_US.xlf -TYPE icu
>> -LOCALE en_US
>>
>> General error occured.
>>
>> I'd imagine that this is why the build is failing.  Has anybody seen
>> this problem before?
>
> No, I've never seen that before, but it's coming from a catch (...) 
> handler
> within the application, so it sounds like something really bad is 
> happening
> inside of Xerces-C or inside the handler that builds the message file. 
>  You
> might try building the debug configuration and running it in the 
> debugger
> to see what's happening.

It gets better.  I don't have this problem in a debug build (in any 
compiler).  I have it regardless of compiler in a release build (CL or 
ICL).

However, in a debug build, I have a new problem, which is that 
'genrb.exe' can't be found.  What is this executable, and where should 
I have it from?

--
Nick


Re: Building with ICL on windows

Posted by da...@us.ibm.com.



> On Mar 4, 2004, at 2:49 PM, david_n_bertoni@us.ibm.com wrote:
>
> > Even if you are using the Intel compiler for most of the code, it
> > should
> > not be a problem to use the Microsoft compiler for the message library,
> > which is all that is built by the Localization target.  As far as I
> > know,
> > you can switch compilers within the IDE after you've installed the
> > Intel
> > compiler.
>
> It's not quite that simple.  The compiler doesn't actually seem to be
> the problem (unless the compiled MsgCreator.exe is screwed up).  When I
> run MsgCreator.exe at the command line, I get a similar problem:
>
> C:\build\Xalan-C_1_7_0-src\c\Build\Win32\VC6\Release>MsgCreator
> ..\..\..\..\..\src\xalanc\NLS\en_US\XalanMsg_en_US.xlf -TYPE icu
> -LOCALE en_US
>
> General error occured.
>
> I'd imagine that this is why the build is failing.  Has anybody seen
> this problem before?

No, I've never seen that before, but it's coming from a catch (...) handler
within the application, so it sounds like something really bad is happening
inside of Xerces-C or inside the handler that builds the message file.  You
might try building the debug configuration and running it in the debugger
to see what's happening.

> > I'm not sure how Xerces-C builds through the command line.  Do they
> > export
> > makefiles?  You could easily do the same thing within the Microsoft
> > IDE.
>
> There is a command line utility to build using the project file, which
> they set up correctly using a perl script.  I'm not sure how much other
> voodoo was involved (you add a command line option for using the ICU
> transcoder, and everything just builds).

Are you referring to the packageBinaries.pl perl script?  If so, it
launches the IDE from the command line in batch mode, and there's no reason
why you can't do that for Xalan-C as well.

Dave


Re: Building with ICL on windows

Posted by Nick Bastin <nb...@opnet.com>.
On Mar 4, 2004, at 2:49 PM, david_n_bertoni@us.ibm.com wrote:

> Even if you are using the Intel compiler for most of the code, it 
> should
> not be a problem to use the Microsoft compiler for the message library,
> which is all that is built by the Localization target.  As far as I 
> know,
> you can switch compilers within the IDE after you've installed the 
> Intel
> compiler.

It's not quite that simple.  The compiler doesn't actually seem to be 
the problem (unless the compiled MsgCreator.exe is screwed up).  When I 
run MsgCreator.exe at the command line, I get a similar problem:

C:\build\Xalan-C_1_7_0-src\c\Build\Win32\VC6\Release>MsgCreator 
..\..\..\..\..\src\xalanc\NLS\en_US\XalanMsg_en_US.xlf -TYPE icu 
-LOCALE en_US

General error occured.

I'd imagine that this is why the build is failing.  Has anybody seen 
this problem before?

> I'm not sure how Xerces-C builds through the command line.  Do they 
> export
> makefiles?  You could easily do the same thing within the Microsoft 
> IDE.

There is a command line utility to build using the project file, which 
they set up correctly using a perl script.  I'm not sure how much other 
voodoo was involved (you add a command line option for using the ICU 
transcoder, and everything just builds).

--
Nick


Re: Building with ICL on windows

Posted by da...@us.ibm.com.



Hi Nick,

Even if you are using the Intel compiler for most of the code, it should
not be a problem to use the Microsoft compiler for the message library,
which is all that is built by the Localization target.  As far as I know,
you can switch compilers within the IDE after you've installed the Intel
compiler.

I'm not sure how Xerces-C builds through the command line.  Do they export
makefiles?  You could easily do the same thing within the Microsoft IDE.

Dave



|---------+--------------------------->
|         |           Nick Bastin     |
|         |           <nbastin@opnet.c|
|         |           om>             |
|         |                           |
|         |           03/04/2004 10:53|
|         |           AM              |
|         |           Please respond  |
|         |           to xalan-c-users|
|---------+--------------------------->
  >---------------------------------------------------------------------------------------------------------------------------------|
  |                                                                                                                                 |
  |        To:      xalan-c-users@xml.apache.org                                                                                    |
  |        cc:      (bcc: David N Bertoni/Cambridge/IBM)                                                                            |
  |        Subject: Building with ICL on windows                                                                                    |
  >---------------------------------------------------------------------------------------------------------------------------------|



Has anybody succeeded with successfully building Xalan+ICU with ICL?  I
had no trouble at all with xerces+icu with ICL, but I'm not even sure
where to start with Xalan.  Even if I set the compiler selection tool
to ICL, it still invokes cl.exe to build it.  If I change tools.ini in
Utils/Localization to include MAKE_PARAMS=CPP=icl.exe, that works for a
few seconds, but then stops with the following error:

NMAKE: fatal error U1077:
'..\..\..\..\..\Build\Win32\VC6\Release\MsgCreator.exe' : return code
'0x8'
Stop.
Error executing nmake.

Any ideas?  Also, is there any way to build this from the command line,
as Xerces does, for instance?  We don't use MSVC for our builds, so
it's going to be a royal pain if we have to go to it to build Xalan.

--
Nick