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 Wendy Istvanick <we...@hotmail.com> on 2002/10/18 07:21:09 UTC

linking woes

My guess is this has been answered many times before, but I have searched 
the archives and google and can't seem to find a solution.

I have a set of CPP classes that compile and run fine under VC++ using 
xercesc 2.1.  I need to port these to AIX and fingured that since access to 
that system is not always possible a good intermediate step would be to get 
things to build under cygwin on my own machine (Win 2000).

No matter what I try, I can't resolve the link errors (that's if I can even 
get my guess at the right library to be found during linking).  I have tried 
just about every reasonable name in a -l argument, as well as just putting 
the file on the compile line since it has an unknown suffix and should thus 
just get linked in.

Nothing is working.

So I figured I would try to build the library myself, but couldn't get past 
runConfigure.  The configure.log file says that a.exe can't be executed, but 
I am unable to determine why.

Any help would be greatly appreciated.




_________________________________________________________________
Surf the Web without missing calls! Get MSN Broadband. 
http://resourcecenter.msn.com/access/plans/freeactivation.asp


---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org


Re: linking woes (installing cygwin package)

Posted by Abraham Backus <ab...@backus.com>.
If you'd like to try out the cygwin package that I've put together, here are
the steps:
1) launch setup.exe that you downloaded from www.cygwin.com
2) follow the wizard with all the options that you used to install cygwin
with
3) when you get to the "Choose A Download Site" page, type
http://abackus.imagineis.com in the "User URL" box and click the "Add"
button
4) click "Next >"
5) In the list that appears, expand "Devel" and scroll down and click in the
"New" column for "xerces-c-devel" until it says "2.1.0-1"
6) click "Next >"
complete setup in the usual fashion...

After setup is complete, you should be able to link with the xerces 2.1.0
library in cygwin, provided that you are using gcc 3.2 (also under the
"Devel" heading in setup, but it should have been automatically picked up).
You won't need to provide any extra include or library search paths when
compiling because everything is put into the proper cygwin system
directories (/usr/lib and /usr/include).  The only thing you need to do is
to add -lxerces-c to your link line.

-Abe



---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org


Re: linking woes

Posted by Abraham Backus <ab...@backus.com>.
Hi Wendy,

To get xerces-c 2.1 built under cygwin, you should call runConfigure like
so:
> runConfigure -pcygwin -cgcc -xg++

then you do your "make" and "make install".  Something you may want to keep
in mind is that in the final step of "make", where it actually links all the
.o files to create the xerces dll, that you may get crashes in the gcc build
tools.  To get around this, make sure there aren't any cygwin apps or shells
running except for the shell that you are running make in.  Then, you need
to make sure that cygwin has a certain registry value set, which I do with
the following:
> regtool.exe -i set /HKCU/Software/Cygnus\
Solutions/Cygwin/heap_chunk_in_mb 0x400

Also, make sure that you have gcc 3.2 installed.  This was made available
this week for cygwin in a non-test version.

I'm currently waiting for approval on getting a xerces-c and xerces-c-devel
package into the setup.exe process of installing packages that cygwin uses.
When this is approved and reviewed, it should be much simpler to get xerces
for cygwin without having to build it first :)

As far as your linking woes, keep in mind that when building applications
that link to dlls and the dll exposes a c++ type, you will have problems
because different compiler vendors use different formats for exporting c++
types.  In other words, the xerces dll that you have on your system that
works with VC++ will not work with gcc.

-Abe

----- Original Message -----
> I have a set of CPP classes that compile and run fine under VC++ using
> xercesc 2.1.  I need to port these to AIX and fingured that since access
to
> that system is not always possible a good intermediate step would be to
get
> things to build under cygwin on my own machine (Win 2000).
>
> No matter what I try, I can't resolve the link errors (that's if I can
even
> get my guess at the right library to be found during linking).  I have
tried
> just about every reasonable name in a -l argument, as well as just putting
> the file on the compile line since it has an unknown suffix and should
thus
> just get linked in.
>
> Nothing is working.
>
> So I figured I would try to build the library myself, but couldn't get
past
> runConfigure.  The configure.log file says that a.exe can't be executed,
but
> I am unable to determine why.



---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org