[ 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]