[
https://issues.apache.org/jira/browse/XERCESC-856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Boris Kolpackov closed XERCESC-856.
-----------------------------------
Resolution: Fixed
Fix Version/s: 3.0.1
Assignee: (was: Xerces-C Developers Mailing List)
Presumably fixed in 3.0.1.
> bug in compiling xerces whith gcc on AIX
> ----------------------------------------
>
> Key: XERCESC-856
> URL: https://issues.apache.org/jira/browse/XERCESC-856
> Project: Xerces-C++
> Issue Type: Bug
> Components: Build
> Affects Versions: 2.2.0
> Environment: Operating System: AIX
> Platform: Other
> Reporter: tireguit hafid
> Fix For: 3.0.1
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]