[xsd-users] [XSD] Mac binaries compatibility problem

Jose jc.fernandez.navarro at gmail.com
Fri Oct 14 10:31:50 EDT 2011


Hi Boris,

Ohh Yes, I'm sorry for not replying to everyone. I  will never get used to
Thunderbird.

Your solution worked out but I'm still having the linking problems which are
obviously not related to your solution.

the output is :

Undefined symbols for architecture x86_64:
  "_curl_global_cleanup", referenced from:
      xercesc_3_1::CurlNetAccessor::cleanupCurl()       in
libxerces-c.a(CurlNetAccessor.o)
      xercesc_3_1::CurlNetAccessor::~CurlNetAccessor()in
libxerces-c.a(CurlNetAccessor.o)
      xercesc_3_1::CurlNetAccessor::~CurlNetAccessor()in
libxerces-c.a(CurlNetAccessor.o)
  "_curl_global_init", referenced from:
      xercesc_3_1::CurlNetAccessor::initCurl()      in
libxerces-c.a(CurlNetAccessor.o)
      xercesc_3_1::CurlNetAccessor::CurlNetAccessor()in
libxerces-c.a(CurlNetAccessor.o)
  "_curl_multi_init", referenced from:

xercesc_3_1::CurlURLInputStream::CurlURLInputStream(xercesc_3_1::XMLURL
const&, xercesc_3_1::XMLNetHTTPInfo const*)in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_easy_init", referenced from:

xercesc_3_1::CurlURLInputStream::CurlURLInputStream(xercesc_3_1::XMLURL
const&, xercesc_3_1::XMLNetHTTPInfo const*)in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_easy_setopt", referenced from:

xercesc_3_1::CurlURLInputStream::CurlURLInputStream(xercesc_3_1::XMLURL
const&, xercesc_3_1::XMLNetHTTPInfo const*)in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_slist_append", referenced from:

xercesc_3_1::CurlURLInputStream::CurlURLInputStream(xercesc_3_1::XMLURL
const&, xercesc_3_1::XMLNetHTTPInfo const*)in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_slist_free_all", referenced from:

xercesc_3_1::CurlURLInputStream::CurlURLInputStream(xercesc_3_1::XMLURL
const&, xercesc_3_1::XMLNetHTTPInfo const*)in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_multi_add_handle", referenced from:

xercesc_3_1::CurlURLInputStream::CurlURLInputStream(xercesc_3_1::XMLURL
const&, xercesc_3_1::XMLNetHTTPInfo const*)in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_easy_getinfo", referenced from:

xercesc_3_1::CurlURLInputStream::CurlURLInputStream(xercesc_3_1::XMLURL
const&, xercesc_3_1::XMLNetHTTPInfo const*)in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_multi_perform", referenced from:
      xercesc_3_1::CurlURLInputStream::readMore(int*)   in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_multi_info_read", referenced from:
      xercesc_3_1::CurlURLInputStream::readMore(int*)   in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_multi_fdset", referenced from:
      xercesc_3_1::CurlURLInputStream::readMore(int*)   in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_multi_remove_handle", referenced from:
      xercesc_3_1::CurlURLInputStream::~CurlURLInputStream()in
libxerces-c.a(CurlURLInputStream.o)
      xercesc_3_1::CurlURLInputStream::~CurlURLInputStream()in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_easy_cleanup", referenced from:
      xercesc_3_1::CurlURLInputStream::~CurlURLInputStream()in
libxerces-c.a(CurlURLInputStream.o)
      xercesc_3_1::CurlURLInputStream::~CurlURLInputStream()in
libxerces-c.a(CurlURLInputStream.o)
  "_curl_multi_cleanup", referenced from:
      xercesc_3_1::CurlURLInputStream::~CurlURLInputStream()in
libxerces-c.a(CurlURLInputStream.o)
      xercesc_3_1::CurlURLInputStream::~CurlURLInputStream()in
libxerces-c.a(CurlURLInputStream.o)
ld: symbol(s) not found for architecture x86_64

I have tried many compilations flabs to compile xercesc but I always get his
error.

Whereas in windows I get hundreds of : "undefined reference to
..'_imp__ZN11xercesc_3_11XXXXXXX ...." where XXX are names of functions.
I'm sorry I could not copy and paste the output because it has been run on a
virtual machine. I have tried the same in windows, compile xercesc with
different compilation flags (always under mingw msys) .

I wish I did not have to make this app compatible to windows and mac because
it works well in Linux but well... It should be possible since I don't have
many dependencies.

Thank you so much again.

Regards

Jose


2011/10/14 Boris Kolpackov <boris at codesynthesis.com>

> Hi Jose,
>
> In the future please keep your replies CC'ed to the xsd-users mailing
> list as discussed in the posting guidelines:
>
> http://www.codesynthesis.com/support/posting-guidelines.xhtml
>
>
> Jose <jc.fernandez.navarro at gmail.com> writes:
>
> > But the problem is that the xdr.h file in MAC does not have int8 defined.
>
> Yes, you are correct. I tried the 'binary/xdr' example and it worked. But
> it doesn't use any 8-bit integers so it didn't pick this up.
>
>
> > I can get a work around like this : "not really the best solution since
> > technically int8 is not equal to int"
>
> No, this is not a good workaround since the resulting binary representation
> will be incompatible with other platforms (it will use 4 bytes while other
> platforms will expect 1 byte). A better workaround would be to use the
> xdr_char() and xdr_u_char() functions. I have re-implemented the fix and
> updated the archive. Can you try it and see if it works for you?
>
> http://www.codesynthesis.com/~boris/tmp/xsd/xsd-3.3.0-macosx-xdr.tar.bz
>
>
> > So now it builds okay although I have gotten dependency errors in the
> > linking with xercesc, I actually have the same problem when I compile it
> in
> > windows and I can not really find a solution because the xercesc
> libraries
> > that I am using have been compiled for either windows and mac with the
> flags
> > indicated in the website. Do you know if something special has to be done
> to
> > compile and/or link xercesc libraries in Windows and Mac, specially while
> > using it with XSD??
>
> No, things normally work out of the box. It is hard for me to say what's
> going on without seeing the actual diagnostics (for both Mac OS X and
> Windows).
>
> Boris
>


More information about the xsd-users mailing list