You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@xerces.apache.org by Dudley Irish <di...@arsmagna.com> on 2000/02/10 02:09:40 UTC

HP/UX11 and g++ compilation/linking problems.

I have applied the following changes to the source in my attempt to
get Xerces to compile on HP/UX 11.00 with g++.  

1) New config.guess and config.sub, taken from GCC.  The ones in the
   distribution don't recognize the OS version.

2) Added the following to Makefile.incl in the HP/UX specific section.

  ifeq (${CXX}, g++)
    COMMON_COMPILE_OPTIONS = -fPIC -instances=static \
			     -D${PLATFORM} -D_POSIX_C_SOURCE=199506L -D_HP_UX \
			     -D${OSVERDEFINE}
    ifeq ($(MODULE), dom)
      PLATFORM_COMPILE_OPTIONS  = -DDOM_PROJ $(COMMON_COMPILE_OPTIONS)
    else
      PLATFORM_COMPILE_OPTIONS  = $(COMMON_COMPILE_OPTIONS)
    endif
    MAKE_SHARED = $(CXX) $(PLATFORM_COMPILE_OPTIONS) $(XML_INCL) -shared
    MAKE_SHARED_C = $(CC) $(PLATFORM_COMPILE_OPTIONS) $(XML_INCL) -shared
    ifeq (${TRANSCODER}, ICU)
        ALLLIBS = ${LIBS} -licu-uc
    else
        ALLLIBS = ${LIBS}
    endif
    SHLIBSUFFIX=.sl
  endif

3) In HPPlatformUtils.cpp replace "#include    <unistd.h>" with
   "extern int dup __((int));".  <unistd.h> has prototype declarations
   that conflict with pthreads.h.  However, HPPPlatformUtils.cpp needs
   a definition of dup.

4) Remove "#include <wctype.h>" from IconvTransService.cpp.  It should
   not be included, but I don't know what else turning off XML_GNUG
   will change.

I have two problems, the easy one is how to resolve 3 & 4 in a more
sustainable manor.  The harder one is that when I compile the sample
programs, they all core dump during the initialization.  I am hoping
that somebody who has used HP/UX and g++ more than I will recognize
the problem and have a sugestion.  I assume it is a library
incompatability problem, but I am at a lost as to how to track it
down.

Thanks in advance,

Dudley Irish