[ 
https://issues.apache.org/jira/browse/XERCESC-1904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12802132#action_12802132
 ] 

Gauthier Helin commented on XERCESC-1904:
-----------------------------------------

It works better with the 3.1.0.rc1 version... it now accepts to build a shared 
library


checking if xlc_r PIC flag  -DPIC works... yes
checking if xlc_r static flag -bnso -bI:/lib/syscalls.exp works... no
checking if xlc_r supports -c -o file.o... yes
checking if xlc_r supports -c -o file.o... (cached) yes
checking whether the xlc_r linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... aix6.1.3.0 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether the xlC_r linker (/usr/bin/ld) supports shared libraries... yes
checking for xlC_r option to produce PIC...  -DPIC
checking if xlC_r PIC flag  -DPIC works... yes
checking if xlC_r static flag -bnso -bI:/lib/syscalls.exp works... no
checking if xlC_r supports -c -o file.o... yes
checking if xlC_r supports -c -o file.o... (cached) yes
checking whether the xlC_r linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... aix6.1.3.0 ld.so
checking how to hardcode library paths into programs... immediate
checking whether xlc_r and cc understand -c and -o together... yes

After a quick look at the files present in the config directory, I found what 
could be the root cause of my issue.
The config.guess file only support AIX 4 and 5 while searching for the CPU 
type. Instead of finding a POWER6 based CPU, it falls back on rs6000.
If you go to line 555 in config.guess you can see : 

    *:AIX:*:[45])

and if you turn this line into 

    *:AIX:*:[456])

as in the config.guess for 3.1.0.rc1, it works fine also and I'm able to build 
a shared library ;-)

Could you provide me an "Official" statement on the changes I have to do in the 
xerces 3.0.1 version I have to make it build on my setup ?

I now have anther question. Why is the Optimizer turned off during a xerces 
build ? Is it expected ? 
>From the test I've done, there a performance gain of a factor 3 when using -O2 
>to build. I just ran into an issue with the xlC 10.1 optimiser which produce a 
>core dump (SIGSEGV). Crash occurs in the DOMDocumentImpl.hpp:384

  *pspe = spe = (DOMStringPoolEntry *)allocate(sizeToAllocate);

To fix the issue I used the following compiler option : -qalias=noansi (it has 
to do with optimizer behavior with pointer aliasing)

Thanks for your help

Best Regards,
Gauthier


> Cannot build shared library from xerces-c 3.0.1 on AIX6.1 with xlC V10.1
> ------------------------------------------------------------------------
>
>                 Key: XERCESC-1904
>                 URL: https://issues.apache.org/jira/browse/XERCESC-1904
>             Project: Xerces-C++
>          Issue Type: Bug
>          Components: Build
>    Affects Versions: 3.0.1
>         Environment: OS : AIX 6.1 TL3 SP1
> Compiler: IBM XL C/C++ Enterprise Edition for AIX, V10.1
>            Reporter: Gauthier Helin
>            Priority: Blocker
>         Attachments: config.log, config.log_3.1.0
>
>
> Hello,
> I cannot build the xerces 3.0.1 shared library on AIX 6.1 with xlC 10.1. It 
> always produce the static library even if I specify --enable-shared=yes.
> I tried may different ./configure and gmake options without any success.
> here is some output of the ./configure which shows that it thinks that the 
> linker does not support shared libs :
> checking if xlc_r supports -c -o file.o... yes
> checking whether the xlc_r linker (/usr/bin/ld) supports shared libraries... 
> no
> checking dynamic linker characteristics... no
> checking how to hardcode library paths into programs... unsupported
> checking whether stripping libraries is possible... no
> checking if libtool supports shared libraries... no
> checking whether to build shared libraries... no
> checking whether to build static libraries... yes
> configure: creating libtool
> appending configuration tag "CXX" to libtool
> checking whether the xlC_r linker (/usr/bin/ld) supports shared libraries... 
> no
> checking for xlC_r option to produce PIC... 
> checking if xlC_r static flag  works... yes
> checking if xlC_r supports -c -o file.o... yes
> checking whether the xlC_r linker (/usr/bin/ld) supports shared libraries... 
> no
> checking dynamic linker characteristics... no
> (cached) (cached) checking how to hardcode library paths into programs... 
> unsupported
> appending configuration tag "F77" to libtool
> checking whether xlc_r and cc understand -c and -o together... yes
> the command line used was :
> ./configure --prefix=$PREFIX CXX=xlC_r CC=xlc_r --enable-shared=yes
> gmake libxerces_c_la_LDFLAGS=-qmkshrobj
> This was working fine on AIX 5.3 with xlC 7
> Thanks a lot for any help.

-- 
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: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org

Reply via email to