You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@santuario.apache.org by Berin Lautenbach <be...@wingsofhermes.org> on 2006/10/15 12:46:43 UTC

C++ 1.3.1-RC1

Hiya,

For those interested in the C++ library there is a release candidate for 
1.3.1 in http://people.apache.org/~blautenb

Includes

- NIX build now based on Automake (aimed at making it more robust)
- Initial support for the Xerces 3.0 codebase (not official, as 3.0 is 
not yet released)
- Bug fixes

Please try it out and let me know how it builds and runs.

Cheers,
	Berin


Re: C++ 1.3.1-RC1

Posted by Berin Lautenbach <be...@wingsofhermes.org>.
Hi all,

I will be doing a 1.3.1 release this weekend - so let me know if you
find any problems with the rc-1 build!

Cheers,
	Berin

Berin Lautenbach wrote:
> Hiya,
> 
> For those interested in the C++ library there is a release candidate for
> 1.3.1 in http://people.apache.org/~blautenb
> 
> Includes
> 
> - NIX build now based on Automake (aimed at making it more robust)
> - Initial support for the Xerces 3.0 codebase (not official, as 3.0 is
> not yet released)
> - Bug fixes
> 
> Please try it out and let me know how it builds and runs.
> 
> Cheers,
>     Berin
> 
> 
> 

RE: C++ 1.3.1-RC1

Posted by Scott Cantor <ca...@osu.edu>.
> In fact the problem with the -mt flag was the acx_pthreads macro (used 
> as of 1.3.1 and taken from the autoconf-macros project).  

I'm using a variant of it myself.

> It's a really 
> small bug with ordering of tests of flags on the Solaris platform. 
> Because the Sun workshop compiler simply passes flags it doesn't 
> understand to ld, -pthread gets accepted as the correct flag, even 
> though it isn't (generates warnings).  Simply reordering and putting the 
> -mt test first works on my systems, but it would be good if you could 
> check on yours!

I'll check with rc2 and report back, hopefully by tomorrow.

-- Scott

Re: C++ 1.3.1-RC1

Posted by Berin Lautenbach <be...@wingsofhermes.org>.
Scott,

I've done what you suggested with PLATFORM_OPTIONS, but I've removed PIC 
entirely (libtool takes care of that).

In fact the problem with the -mt flag was the acx_pthreads macro (used 
as of 1.3.1 and taken from the autoconf-macros project).  It's a really 
small bug with ordering of tests of flags on the Solaris platform. 
Because the Sun workshop compiler simply passes flags it doesn't 
understand to ld, -pthread gets accepted as the correct flag, even 
though it isn't (generates warnings).  Simply reordering and putting the 
-mt test first works on my systems, but it would be good if you could 
check on yours!

Cheers,
	Berin


Scott Cantor wrote:

> The gist of the Solaris problem I'm finding is the use of this approach to
> setting build flags:
> 
>     if test "x${ac_cv_cxx_compiler_gnu}" != "xyes"; then
>       # Assume SunCC
>       PIC=["-KPIC"]
>       PLATFORM_OPTIONS=["-mt"]
>       # Flags for warnings as errors
>       cxxflags_warnerror="-xwe -errtags"
>       # Flags for Optimise
>       cxxflags_optimise="-xO2"
>       # Flags for debug
>       cxxflags_debug="-g"
>     fi
> 
> Later on, this:
> 
> CC1=["${CXX} ${CXXFLAGS} ${PLATFORM_OPTIONS}"]
> 
> I'm not clear on what CC1 is, but it's not used by the make process later at
> all. It's in Makefile, but is never referenced. When libtool runs the C++
> compiler, it just runs it with whatever is in CPPFLAGS and CXXFLAGS, but not
> PLATFORM_OPTIONS. So the SunCC flags are omitted from the build, in this
> case no -mt for thread safety.
> 
> My suggestion is that you should append the PLATFORM_OPTIONS bits to CFLAGS
> and CXXFLAGS directly. I think that will result in the right behavior. If
> there's a more "correct" way, that's fine too, but I've never seen one
> discussed.
> 
> -- Scott
> 
> 
> 

Re: C++ 1.3.1-RC1

Posted by Berin Lautenbach <be...@wingsofhermes.org>.
Scott,

Thanks for this - I will have a look-see on the weekend.  I had actually 
tagged 1.3.1 and was all ready to go, so this just came in time! :>.

Cheers,
	Berin


Scott Cantor wrote:
> The gist of the Solaris problem I'm finding is the use of this approach to
> setting build flags:
> 
>     if test "x${ac_cv_cxx_compiler_gnu}" != "xyes"; then
>       # Assume SunCC
>       PIC=["-KPIC"]
>       PLATFORM_OPTIONS=["-mt"]
>       # Flags for warnings as errors
>       cxxflags_warnerror="-xwe -errtags"
>       # Flags for Optimise
>       cxxflags_optimise="-xO2"
>       # Flags for debug
>       cxxflags_debug="-g"
>     fi
> 
> Later on, this:
> 
> CC1=["${CXX} ${CXXFLAGS} ${PLATFORM_OPTIONS}"]
> 
> I'm not clear on what CC1 is, but it's not used by the make process later at
> all. It's in Makefile, but is never referenced. When libtool runs the C++
> compiler, it just runs it with whatever is in CPPFLAGS and CXXFLAGS, but not
> PLATFORM_OPTIONS. So the SunCC flags are omitted from the build, in this
> case no -mt for thread safety.
> 
> My suggestion is that you should append the PLATFORM_OPTIONS bits to CFLAGS
> and CXXFLAGS directly. I think that will result in the right behavior. If
> there's a more "correct" way, that's fine too, but I've never seen one
> discussed.
> 
> -- Scott
> 
> 
> 

RE: C++ 1.3.1-RC1

Posted by Scott Cantor <ca...@osu.edu>.
The gist of the Solaris problem I'm finding is the use of this approach to
setting build flags:

    if test "x${ac_cv_cxx_compiler_gnu}" != "xyes"; then
      # Assume SunCC
      PIC=["-KPIC"]
      PLATFORM_OPTIONS=["-mt"]
      # Flags for warnings as errors
      cxxflags_warnerror="-xwe -errtags"
      # Flags for Optimise
      cxxflags_optimise="-xO2"
      # Flags for debug
      cxxflags_debug="-g"
    fi

Later on, this:

CC1=["${CXX} ${CXXFLAGS} ${PLATFORM_OPTIONS}"]

I'm not clear on what CC1 is, but it's not used by the make process later at
all. It's in Makefile, but is never referenced. When libtool runs the C++
compiler, it just runs it with whatever is in CPPFLAGS and CXXFLAGS, but not
PLATFORM_OPTIONS. So the SunCC flags are omitted from the build, in this
case no -mt for thread safety.

My suggestion is that you should append the PLATFORM_OPTIONS bits to CFLAGS
and CXXFLAGS directly. I think that will result in the right behavior. If
there's a more "correct" way, that's fine too, but I've never seen one
discussed.

-- Scott


RE: C++ 1.3.1-RC1

Posted by Scott Cantor <ca...@osu.edu>.
Finally doing some testing of this, and I see at least a couple of compiler
flag issues on Solaris when not using gcc. I'll look further and submit a
full description and/or fix, and test on the Mac.

-- Scott