[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] Where do we use boost::system?
From: |
Vadim Zeitlin |
Subject: |
Re: [lmi] Where do we use boost::system? |
Date: |
Fri, 29 Jan 2016 03:39:29 +0100 |
On Tue, 26 Jan 2016 06:51:10 +0000 Greg Chicares <address@hidden> wrote:
GC> On 2016-01-26 04:32, Greg Chicares wrote:
GC> > On 2016-01-26 03:45, Greg Chicares wrote:
GC> >> I'm working on '-std=c++11' cross-compilation, and I can build
boost-1.33.1's
GC> >> 'regex' and 'filesystem' libraries...but that version has no 'system'
library.
GC> >> Why were we building it? Was it for xmlwrapp? If so, is there a configure
GC> >> option to avoid using it?
GC> >
GC> > I reconfigured and rebuilt everything, and it all seemed to work,
suggesting
GC> > that whatever library wanted that didn't really need it (or recognized
that
GC> > it's not in 1.33.1 and fell back on some alternative). But I want to
remove
GC> > almost everything and build again just to be sure.
GC>
GC> I removed the lmi source and fetched it again from svn, and now it doesn't
GC> build: lmi is the code that wanted boost::system.
Sorry about this, this was just a stupid mistake and not intentional at
all: configure tested for libboost_system presence but then went ahead and
used it anyhow, whether it was available or not. This is fixed by r6492
now.
GC> I think the chain of causation here is that boost was upgraded to 1.38.0
GC> in autotools only...and only for expm1() and log1p()...which AIUI can be
GC> necessary only for msvc...but I didn't think msvc builds were autotoolized.
GC> So can we just revert 1.38.0 to 1.33.1 in 'configure.ac'? Whatever benefit
GC> 1.38.0 may have brought, it's now an obstacle to upgrading to C++11, whereas
GC> 1.33.1 is not.
We're clearly not going to ever use 1.38 now: either we'll stay with 1.33
until the end of time or, more hopefully, we'll update to some 1.83 at some
later moment. So I was wondering what should I do about the expm1() changes
and the answer actually seems obvious: this function (and log1p() too, of
course) is part of C++11 so we should be able just include <cmath> and use
std::expm1() and std::log1p() and drop the existing expm1.c. Moreover, the
current (2013+) versions of MSVS do provide these functions, so I won't
even need the work around you proposed previously (see
http://lists.nongnu.org/archive/html/lmi/2016-01/msg00054.html).
Would you accept a patch dropping expm1.c and using the standard functions
instead (I will run the mortality rates test before submitting it, of
course)?
Thanks,
VZ