[ http://nagoya.apache.org/jira/browse/XERCESC-856?page=history ]
Alberto Massari updated XERCESC-856:
------------------------------------
Priority: Major
> bug in compiling xerces whith gcc on AIX
> ----------------------------------------
>
> Key: XERCESC-856
> URL: http://nagoya.apache.org/jira/browse/XERCESC-856
> Project: Xerces-C++
> Type: Bug
> Components: Build
> Versions: 2.2.0
> Environment: Operating System: AIX
> Platform: Other
> Reporter: tireguit hafid
> Assignee: Xerces-C Developers Mailing List
>
> I need to build xercesc on AIX whith gcc and I found some trouble and i give
> here the workaround I use:
> $ gcc --version
> gcc (GCC) 3.2.1
> Copyright (C) 2002 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> $ ./config.guess
> powerpc-ibm-aix4.3.2.0
> $ uname
> AIX
> $ oslevel -r
> 4330-11
> $./runConfigure -p aix -c gcc -x gcc -r pthread -b 32
> -----------------------------------------
> -----------------------------------------------
> $ gmake
> ----------------------------------------------------
> ---------------------------------------------------
> gcc: unrecognized option `-qnotempinc'
> ....
> In file included from /usr/include/sys/pri.h:29,
> from /usr/include/sys/sched.h:38,
> from /usr/include/sched.h:52,
> from /usr/include/pthread.h:43,
> from AIXPlatformUtils.cpp:71:
> /usr/include/sys/proc.h:203: 'crid_t' is used as a type, but is not defined as
> a type.
> /usr/include/sys/proc.h:212: 'class_id_t' is used as a type, but is not defined
> as a type.
> ....
> In file included from /usr/include/sys/pri.h:29,
> from /usr/include/sys/sched.h:38,
> from /usr/include/sched.h:52,
> from /usr/include/pthread.h:43,
> from /install/home/include/c++/3.2.1/powerpc-ibm-aix4.3.2.0/bit
> s/gthr-posix.h:37,
> from /install/home/include/c++/3.2.1/powerpc-ibm-aix4.3.2.0/bit
> s/gthr-default.h:33,
> from /install/home/include/c++/3.2.1/powerpc-ibm-aix4.3.2.0/bit
> s/gthr.h:98,
> from /install/home/include/c++/3.2.1/powerpc-ibm-aix4.3.2.0/bit
> s/c++io.h:37,
> from /install/home/include/c++/3.2.1/bits/fpos.h:44,
> from /install/home/include/c++/3.2.1/iosfwd:46,
> from /install/home/include/c++/3.2.1/ios:44,
> from /install/home/include/c++/3.2.1/ostream:45,
> from /install/home/include/c++/3.2.1/iostream:45,
> from /install/home/include/c++/3.2.1/backward/iostream.h:32,
> from StdOutFormatTarget.cpp:83:
> /usr/include/sys/proc.h:203: 'crid_t' is used as a type, but is not defined as
> a type.
> /usr/include/sys/proc.h:212: 'class_id_t' is used as a type, but is not defined
> as a type.
> gmake[1]: *** [StdOutFormatTarget.o] Erreur 1
> -------------------------------------------------
> to solve the warning : gcc: unrecognized option `-qnotempinc'
> and not to use the IBM script makeC++SharedLib_r
> $ diff Makefile.incl Makefile.incl.orig
> 237d236
> < ifeq (${CXX}, xlC_r)
> 246a246
> >
> 261,276c261
> < else
> < PLATFORM_COMPILE_OPTIONS = -D_THREAD_SAFE
> <
>
> < ifeq (${BITSTOBUILD}, 64)
>
> < MAKE_SHARED = gcc -shared -Wl,-brtl -maix64
> < MAKE_SHARED_C = gcc -shared -Wl,-brtl -maix64
> < else
>
> < MAKE_SHARED = gcc -shared -Wl,-brtl
> < MAKE_SHARED_C = gcc -shared -Wl,-brtl
> < endif
>
> < ALLLIBS= ${LIBS} -lstdc++ -lpthread
>
> < EXTRA_LINK_OPTIONS =
> < SHLIBSUFFIX=.so
>
> < ## Compiler switch to embed a library name
>
> < LD_SONAME =
>
> < endif
> ---
> >
>
> to solve the error compilation add from /usr/include/sys/types.h the two
> definitions
> $ grep crid_t /usr/include/sys/types.h
> typedef int crid_t;
> $ grep class_id_t /usr/include/sys/types.h
> typedef unsigned int class_id_t;
> ------------------------------------------------------------
>
> in ($XERCESCROOT)/src/xercesc/util/Platforms/AIX
> $ diff AIXPlatformUtils.cpp AIXPlatformUtils.cpp.orig
> 65,67d64
> < typedef int crid_t;
> < typedef unsigned int class_id_t;
> <
> in ($XERCESCROOT)/src/xercesc/framework
> $ diff StdOutFormatTarget.cpp StdOutFormatTarget.cpp.orig
> 82,84d81
> < typedef int crid_t;
> < typedef unsigned int class_id_t;
> <
>
> -------------------------------
> now its good whith 32 bits
> to compile in 64 bits mode
> I Have to
> export CXXFLAGS = -maix64
> and
> export CFLAGS= -maix63
> befor runing runConfigure
> and i have warnings on options -q64 and -qwarn64
> this options is in hardcoded in runConfigure
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]