Changeset: d8e81ed35b3e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d8e81ed35b3e Modified Files: MonetDB.spec buildtools/ChangeLog.Jan2014 configure.ag debian/control gdk/gdk_private.h gdk/gdk_system.h gdk/gdk_utils.c monetdb5/mal/mal_exception.c monetdb5/mal/mal_recycle.c monetdb5/mal/mal_resource.c Branch: default Log Message:
Merge with Jan2014 branch. diffs (175 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -52,7 +52,7 @@ BuildRequires: bzip2-devel # BuildRequires: cfitsio-devel BuildRequires: flex %if %{?with_geos:1}%{!?with_geos:0} -BuildRequires: geos-devel >= 2.2.0 +BuildRequires: geos-devel >= 3.0.0 %endif BuildRequires: gsl-devel BuildRequires: libcurl-devel diff --git a/buildtools/ChangeLog.Jan2014 b/buildtools/ChangeLog.Jan2014 --- a/buildtools/ChangeLog.Jan2014 +++ b/buildtools/ChangeLog.Jan2014 @@ -1,3 +1,8 @@ # ChangeLog file for buildtools # This file is updated with Maddlog +* Tue Jun 3 2014 Sjoerd Mullender <sjo...@acm.org> +- Fix configure to continue without Python if the python binary is + too old. This instead of always aborting configure if python happens + to be too old. + diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -1224,25 +1224,22 @@ case "$have_python3" in ;; esac +dnl Figure out a default for PYTHON2 or PYTHON3 AC_PATH_PROG(PYTHON,python,no,$PATH) -PYTHON_MAJ= +PYTHON_MAJ=unknown if test "x$PYTHON" != xno; then AC_MSG_CHECKING([major version of $PYTHON]) case "`"$PYTHON" -V 2>&1`" in - "Python 2."[[67]]*) # older Pythons don't get Python3 syntax + "Python 2."[[67]]*) PYTHON_MAJ=2 ;; "Python 3."*) PYTHON_MAJ=3 ;; - *) - AC_MSG_ERROR([unknown or unsupported Python version]) - ;; esac AC_MSG_RESULT($PYTHON_MAJ) fi - if test "x$have_python2" != xno; then if test x$cross_compiling != xyes; then AC_PATH_PROG(PYTHON2,$PYTHON2,no,$PATH) @@ -1256,6 +1253,19 @@ if test "x$have_python2" != xno; then have_python2=no why_have_python2="(Python 2 executable not found)" fi + else + case "`"$PYTHON2" -V 2>&1`" in + "Python 2."[[67]]*) + ;; + *) + if test "x$have_python2" = xauto; then + have_python2=no + why_have_python2="(Python 2 executable too old)" + else + AC_MSG_ERROR([Python 2 executable too old]) + fi + ;; + esac fi fi fi @@ -2359,8 +2369,7 @@ AC_ARG_WITH(geos, have_geos="$withval") case "$enable_geom" in yes|auto) - GEOS_VERSION_REQUIRED_MIN=2.2.0 - dnl GEOS_VERSION_REQUIRED_MAX=3.0.0 + GEOS_VERSION_REQUIRED_MIN=3.0.0 GEOS_CONFIG='' if test "x$have_geos" != xno; then case "$have_geos" in diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ Vcs-Hg: http://dev.monetdb.org/hg/MonetD # for Build-Depends and Depends syntax, see # http://www.debian.org/doc/debian-policy/ch-relationships.html Build-Depends: debhelper (>= 5), autotools-dev, bison, flex, libbz2-dev, - libcurl4-gnutls-dev, libgeos-dev, libgsl0-dev, libpcre3-dev, + libcurl4-gnutls-dev, libgeos-dev (>= 3.0.0), libgsl0-dev, libpcre3-dev, libreadline-gplv2-dev | libreadline-dev, libssl-dev, libxml2-dev, perl, ruby, rubygems | libyaml-0-2, unixodbc-dev, uuid-dev, zlib1g-dev, python, python3 diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -461,7 +461,7 @@ GDKvm_cursize(void) do { \ int _idx; \ \ - ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapinc"); \ + (void) ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapinc"); \ GDKmallidx(_idx, _memdelta); \ (void) ATOMIC_INC(GDK_nmallocs[_idx], mbyteslock, "heapinc"); \ } while (0) @@ -470,15 +470,15 @@ GDKvm_cursize(void) ssize_t _memdelta = (ssize_t) (memdelta); \ int _idx; \ \ - ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapdec"); \ + (void) ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapdec"); \ GDKmallidx(_idx, _memdelta); \ (void) ATOMIC_DEC(GDK_nmallocs[_idx], mbyteslock, "heapdec"); \ } while (0) #else #define heapinc(_memdelta) \ - ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapinc") + (void) ATOMIC_ADD(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapinc") #define heapdec(_memdelta) \ - ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapdec") + (void) ATOMIC_SUB(GDK_mallocedbytes_estimate, _memdelta, mbyteslock, "heapdec") #endif #ifdef GDK_VM_KEEPHISTO @@ -489,7 +489,7 @@ GDKvm_cursize(void) \ GDKmallidx(_idx, _vmdelta); \ (void) ATOMIC_INC(GDK_vm_nallocs[_idx], mbyteslock, fcn); \ - ATOMIC_ADD(GDK_vm_cursize, _vmdelta, mbyteslock, fcn); \ + (void) ATOMIC_ADD(GDK_vm_cursize, _vmdelta, mbyteslock, fcn); \ } while (0) #define memdec(vmdelta, fcn) \ do { \ @@ -498,13 +498,13 @@ GDKvm_cursize(void) \ GDKmallidx(_idx, _vmdelta); \ (void) ATOMIC_DEC(GDK_vm_nallocs[_idx], mbyteslock, fcn); \ - ATOMIC_SUB(GDK_vm_cursize, _vmdelta, mbyteslock, fcn); \ + (void) ATOMIC_SUB(GDK_vm_cursize, _vmdelta, mbyteslock, fcn); \ } while (0) #else #define meminc(vmdelta, fcn) \ - ATOMIC_ADD(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), MT_VMUNITLOG), mbyteslock, fcn) + (void) ATOMIC_ADD(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), MT_VMUNITLOG), mbyteslock, fcn) #define memdec(vmdelta, fcn) \ - ATOMIC_SUB(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), MT_VMUNITLOG), mbyteslock, fcn) + (void) ATOMIC_SUB(GDK_vm_cursize, (ssize_t) SEG_SIZE((vmdelta), MT_VMUNITLOG), mbyteslock, fcn) #endif #ifndef STATIC_CODE_ANALYSIS diff --git a/monetdb5/mal/mal_exception.c b/monetdb5/mal/mal_exception.c --- a/monetdb5/mal/mal_exception.c +++ b/monetdb5/mal/mal_exception.c @@ -79,8 +79,14 @@ createExceptionInternal(enum malexceptio len += vsnprintf(message + len, GDKMAXERRLEN - len, format, ap); /* realloc to reduce amount of allocated memory (GDKMAXERRLEN is * way more than what is normally needed) */ - if (len < GDKMAXERRLEN) - message = GDKrealloc(message, len + 1); + if (len < GDKMAXERRLEN) { + /* in the extremely unlikely case that GDKrealloc fails, the + * original pointer is still valid, so use that and don't + * overwrite */ + char *newmsg = GDKrealloc(message, len + 1); + if (newmsg != NULL) + message = newmsg; + } return message; } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list