lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] confused by latest expm1.c changes


From: Greg Chicares
Subject: Re: [lmi] confused by latest expm1.c changes
Date: Mon, 23 Jun 2008 20:03:39 +0000
User-agent: Thunderbird 2.0.0.14 (Windows/20080421)

On 2008-06-23 16:50Z, Vadim Zeitlin wrote:
> 
[boost provides expm1() and log1p()]
> 
>  One problem with using these Boost function is that they're new since
> 1.34 and LMI uses 1.33. OTOH maybe it's time to update to Boost 1.35
> anyhow?

Below [1] is a patch to update boost. It doesn't quite work:

/opt/lmi/third_party/src/boost/libs/filesystem/src/utf8_codecvt_facet.cpp:15:46:
 libs/detail/utf8_codecvt_facet.cpp: No such file or directory

I think the problem is that its "jamfile" requires some component
of "boost::system" from someplace else in their source tree. Of
course, there might be other problems that I don't see yet.

I tried omitting 'utf8_codecvt_facet' from the makefiles, and
using
  CPPFLAGS=-DBOOST_FILESYSTEM_NARROW_ONLY
in the hope that it would make the utf8 thing unnecessary; but,
alas, without success:

/MinGW_/bin/g++  -o test_coding_rules.exe exception.o operations.o path.o 
portability.o alert.o alert_cli.o fenv_lmi.o main_common.o main_common_non_wx.o 
sigfpe.o my_test_coding_rules.o
test_coding_rules.o -L . -L /opt/lmi/local/lib -L /opt/lmi/local/bin 
-lboost_regex-gcc-1_33_1  -lxslt.dll -lxml2.dll         
-Wl,-Map,test_coding_rules.exe.map -Wl,--disable-auto-import
exception.o:C:/MinGW-20050827/bin/../lib/gcc/mingw32/3.4.4/../../../../include/c++/3.4.4/bits/basic_string.h:2041:
 undefined reference to `boost::filesystem::path::native_file_string() const'
...
operations.o: In function `error_code':
/opt/lmi/third_party/include/boost/system/error_code.hpp:309: undefined 
reference to `boost::system::get_system_category()'

And it looks like boost-1.34 has the same dependency and would
have the same issue. Things seem to compile okay; the problem
is all these "undefined reference" errors.

I guess the problem is this lmi design decision:

# Treat certain external libraries as collections of source files to
# be compiled and linked explicitly here, instead of building them
# separately and linking them as normal libraries. Rationale:
#
# boost: the build system provided is not free.
[and it's unique to boost AFAICT]

How would you recommend we attack this problem? If my impression
is correct--that boost's build system isn't free--then we really
ought to find a better way. Do you think it would be hard to
autotoolize boost::filesystem so that we could use it as a shared
library?

---------

[1] "patch to update boost"

Index: configure.ac
===================================================================
RCS file: /sources/lmi/lmi/configure.ac,v
retrieving revision 1.35
diff -u -r1.35 configure.ac
--- configure.ac        21 Mar 2008 12:13:17 -0000      1.35
+++ configure.ac        23 Jun 2008 19:38:31 -0000
@@ -412,7 +412,7 @@
     LMI_BOOSTFS_SRC="."
 fi

-for f in convenience.cpp exception.cpp operations_posix_windows.cpp 
path_posix_windows.cpp; do
+for f in exception.cpp operations.cpp path.cpp portability.cpp 
utf8_codecvt_facet.cpp; do
   if ! test -r $LMI_BOOSTFS_SRC/$f; then
     no_boost_fs=1
   fi
Index: install_miscellanea.make
===================================================================
RCS file: /sources/lmi/lmi/install_miscellanea.make,v
retrieving revision 1.13
diff -u -r1.13 install_miscellanea.make
--- install_miscellanea.make    27 Apr 2008 16:44:22 -0000      1.13
+++ install_miscellanea.make    23 Jun 2008 19:38:31 -0000
@@ -48,7 +48,7 @@

 # File lists 
###################################################################

-boost_archive    := boost_1_33_1.tar.bz2
+boost_archive    := boost_1_35_0.tar.bz2
 cgicc_archive    := cgicc-3.1.4.tar.bz2
 fop_archive      := fop-0.20.5-bin.tar.gz
 md5sum_msw_exe   := md5sum.exe
@@ -77,7 +77,7 @@
 $(sample_archive)-url   := 
http://download.savannah.gnu.org/releases/lmi/$(sample_archive)
 $(xmlwrapp_archive)-url := 
ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/$(xmlwrapp_archive)

-$(boost_archive)-md5    := 2b999b2fb7798e1737d1fff8fac602ef
+$(boost_archive)-md5    := dce952a7214e72d6597516bcac84048b
 $(cgicc_archive)-md5    := 6cb5153fc9fa64b4e50c7962aa557bbe
 $(fop_archive)-md5      := d6b43e3eddf9378536ad8127bc057d41
 $(md5sum_msw_exe)-md5   := eb574b236133e60c989c6f472f07827b
Index: objects.make
===================================================================
RCS file: /sources/lmi/lmi/objects.make,v
retrieving revision 1.119
diff -u -r1.119 objects.make
--- objects.make        3 Jun 2008 14:37:24 -0000       1.119
+++ objects.make        23 Jun 2008 19:38:31 -0000
@@ -31,10 +31,11 @@
 # requires are implemented entirely in headers.

 boost_filesystem_objects := \
-  convenience.o \
   exception.o \
-  path_posix_windows.o \
-  operations_posix_windows.o \
+  operations.o \
+  path.o \
+  portability.o \
+  utf8_codecvt_facet.o \

 # These object files are used in both an application and a shared
 # library that it links to, only for builds that use shared-library




reply via email to

[Prev in Thread] Current Thread [Next in Thread]