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

Bug#630441: marked as done (g++-4.6 miscompilation)



Your message dated Fri, 21 Aug 2015 13:43:08 +0000
with message-id <[🔎] E1ZSmb6-0004jv-26@franck.debian.org>
and subject line Bug#796274: Removed package(s) from unstable
has caused the Debian Bug report #630441,
regarding g++-4.6 miscompilation
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
630441: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=630441
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: g++-4.6
Version: 4.6.0-10
Severity: normal

I did a recent apt-get update+apt-get upgrade and they brought in g++-4.6.0-10,
among others.

I was working through a solution for bug
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=629498
which required modifying several of my packages, v3c, treedb, meta-treedb, with
more to follow.

One single meta-treedb test in a sub-test-run of 22 failed

 v3c/1-comet/cxx-string-list-test

Its form is very similiar to lots of other tests that passed, leading me to
conclude that this one tripped up g++ while the others did not.

The problem line appears to be
  206: const char * p = context.data((PCVOID)node);

it doesn't appear to be called in the release build.
The following line

  207: cout << "[" << n << "] " << p << "\n";

is where it crashes.

I added in a sigsegv handler that flushes stdout+stderr and it shows the "[0] "
right before trying to print the invalid "p" pointer, where it segfaults.

Please find the patches for these packages attahed, along with a helper script,
build.sh.

The easiest way to get to the problem is to run

  bash build.sh

it will
 download
 unpack
 patch
 set up a sandbox directory called "sandbox" for the build
 do a release build and install v3c and treedb into the sandbox
 do a make release check on meta-treedb

This last step will report 1 test failure

To see that a debug build works,
  bash sandbox/enter-env
  cd meta-treedb-1.2.2-01
  make debug check

In the debug build, all meta-treedb tests pass.



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.38-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages g++-4.6 depends on:
ii  gcc-4.6                 4.6.0-10         The GNU C compiler
ii  gcc-4.6-base            4.6.0-10         The GNU Compiler Collection (base 
ii  libc6                   2.13-4           Embedded GNU C Library: Shared lib
ii  libcloog-ppl0           0.15.9-3         the Chunky Loop Generator (runtime
ii  libgmp10                2:5.0.1+dfsg-7   Multiprecision arithmetic library
ii  libgmpxx4ldbl           2:5.0.1+dfsg-7   Multiprecision arithmetic library 
ii  libmpc2                 0.9-3            multiple precision complex floatin
ii  libmpfr4                3.0.1-3          multiple precision floating-point 
ii  libppl-c4               0.11.2-3         Parma Polyhedra Library (C interfa
ii  libppl9                 0.11.2-3         Parma Polyhedra Library (runtime l
ii  libstdc++6-4.6-dev      4.6.0-10         The GNU Standard C++ Library v3 (d
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

g++-4.6 recommends no packages.

Versions of packages g++-4.6 suggests:
pn  g++-4.6-multilib              <none>     (no description available)
pn  gcc-4.6-doc                   <none>     (no description available)
pn  libstdc++6-4.6-dbg            <none>     (no description available)

-- no debconf information
 ChangeLog   |    6 ++++++
 NEWS        |    4 ++++
 makefile    |    2 +-
 v3c/v3c.cpp |   13 ++++++-------
 4 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2dafda9..e1ac676 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-06-14  Philip Ashmore <contact@philipashmore.com>
+
+        * Version 1.8.2-03
+
+        * changes to v3c.cpp for gcc-4.6
+
 2011-06-07  Philip Ashmore <contact@philipashmore.com>
 
         * Version 1.8.2-02
diff --git a/NEWS b/NEWS
index 6ed6e33..bf5351c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,9 @@
 Please send v3c bug reports via <http://sourceforge.net/projects/v3c/support>
 
+Version 1.8.2-03
+
+* changes to v3c.cpp for gcc-4.6
+
 Version 1.8.2-02
 
 * changes to header files required for gcc-4.5.3 / g++-4.5.3
diff --git a/makefile b/makefile
index c47fbc1..bc88f7b 100644
--- a/makefile
+++ b/makefile
@@ -10,7 +10,7 @@ export package_description=v3c utility toolkit
 export package_major_version=1
 export package_minor_version=8
 export package_micro_version=2
-export package_version=$(package_major_version).$(package_minor_version).$(package_micro_version)-02
+export package_version=$(package_major_version).$(package_minor_version).$(package_micro_version)-03
 # increase the interface age by 2 for each release;
 # if the API changes, set to 0
 export package_interface_age=0
diff --git a/v3c/v3c.cpp b/v3c/v3c.cpp
index 7c9ca4b..eef84e3 100755
--- a/v3c/v3c.cpp
+++ b/v3c/v3c.cpp
@@ -1645,7 +1645,6 @@ int v3c_sort(IWriter * out, int argc, char *argv[])
 			items.insert(item);
 	}
 	set< string >::const_iterator i = items.begin();
-	set< string >::const_iterator j = items.end();
 	unsigned int count = items.size();
 	for(unsigned int n = 0; n < count; ++i, ++n) {
 		if(n && (n <= (count - 1)))
@@ -2173,27 +2172,27 @@ int v3c_automake(IWriter * out, int, char *[])
 		}
 	}
 	close(pipe);
-	int failed = 0;
+	ret = 0;
 	if(WIFSIGNALED(status)) {
-		failed = 1;
+		ret = 1;
 		cout << "[FAIL] : \"" << cmd << "\" was signalled with signal "
 			<< strsignal(WTERMSIG(status)) << '('
 			<< WTERMSIG(status) << ").\n";
 	}
 	if(WIFSTOPPED(status)) {
-		failed = 1;
+		ret = 1;
 		cout << "[FAIL] : \"" << cmd << "\" was stopped with stop signal "
 			<< strsignal(WSTOPSIG(status)) << '('
 			<< WSTOPSIG(status) << ").\n";
 	}
 	if(!WIFEXITED(status)) {
-		failed = 1;
+		ret = 1;
 		cout << "[FAIL] : \"" << cmd << "\" exited abnormally.\n";
 	}
 	ret = WEXITSTATUS(status);
 	if(ret != 0) {
-		failed = 1;
+		ret = 1;
 		cout << "[FAIL] : \"" << cmd << "\" returned " << ret << ".\n";
 	}
-	return 0;
+	return ret;
 }
 ChangeLog                             |   25 ++++++++++++++++++++++++-
 NEWS                                  |   25 +++++++++++++++++++++++--
 configure.ac.in                       |   27 +++++++++++++++++----------
 makefile                              |    8 ++++----
 treedb.pc.in                          |    5 ++---
 v3c/1-andromeda/Makefile.am           |    9 +++++++++
 v3c/3-comet/resizing-strings-test.cpp |    1 +
 v3c/Makefile.am                       |   21 +++++----------------
 v3c/l2list-impl.h                     |    1 +
 v3c/treedb.m4.in                      |    4 ++--
 10 files changed, 88 insertions(+), 38 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 64d3fdb..55b80e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2011-06-14  Philip Ashmore <contact@philipashmore.com>
+
+        * Version 1.0.0-01
+
+        * Re-jig for GNU gcc/g++ linker-related changes for Wheezy
+          http://lists.debian.org/debian-devel-announce/2011/02/msg00011.html
+
+          This required dropping the wrapper treedb libs with their dependents.
+          Pkg-config, m4 and automake can do this transparently, so unless you
+          make explicit library references instead of going through a symbolic
+          route, all should be good.
+
+          Since this required renaming libraries, I went ahead and dropped the
+          "RELEASE" part of the library definitions, so you now have treedb_LIBS
+          (was treedb_RELEASE_LIBS) and treedb_DEVEL_LIBS.
+          Since the wrapper libs went, the "bare" libs have dropped the "bare"
+          part since they're all that's left and anything else would be (more)
+          confusing.
+
+         These are link-time changes, requiring a large version bump.
+         They are also incompatible changes requiring that I update to the
+         next major version 1.0.0, and not 0.9.3.
+
 2011-04-18  Philip Ashmore <contact@philipashmore.com>
 
         * Version 0.9.2-01
@@ -115,7 +138,7 @@
           node_index() gets the index of a node, node_at_index() gets the node
           at the index.
 
-        * Substancial cleanup of macro names + examples
+        * Substantial cleanup of macro names + examples
           Although this doesn't affect library versioning, I thought it
           warranted a large version increase as it makes treedb a lot easier to
           read and use.
diff --git a/NEWS b/NEWS
index 5817204..d89cc41 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,28 @@
 Please send treedb bug reports via
 <http://sourceforge.net/projects/treedb/support>
 
-* Version 0.9.2-01
+Version 1.0.0-01
+
+* Re-jig for GNU gcc/g++ linker-related changes for Wheezy
+  http://lists.debian.org/debian-devel-announce/2011/02/msg00011.html
+
+  This required dropping the wrapper treedb libs with their dependents.
+  Pkg-config, m4 and automake can do this transparently, so unless you
+  make explicit library references instead of going through a symbolic
+  route, all should be good.
+
+  Since this required renaming libraries, I went ahead and dropped the
+  "RELEASE" part of the library definitions, so you now have treedb_LIBS
+  (was treedb_RELEASE_LIBS) and treedb_DEVEL_LIBS.
+  Since the wrapper libs went, the "bare" libs have dropped the "bare"
+  part since they're all that's left and anything else would be (more)
+  confusing.
+
+  These are link-time changes, requiring a large version bump.
+  They are also incompatible changes requiring that I update to the
+  next major version 1.0.0, and not 0.9.3.
+
+Version 0.9.2-01
 
 * Builds static and shared libraries by default, like v3c does
   Client projects may require this, hence the version bump.
@@ -100,7 +121,7 @@ Version 0.8.0-01
 
 * Added multi-varray + test
 
-* Substancial cleanup of macro names + examples
+* Substantial cleanup of macro names + examples
   Although this doesn't affect library versioning, I thought it
   warranted a large version increase as it makes treedb a lot easier to
   read and use.
diff --git a/configure.ac.in b/configure.ac.in
index 4661b98..367e0ad 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -137,14 +137,15 @@ AC_SUBST([PACKAGE_CXXFLAGS],["$CXXFLAGS"])
 AC_SUBST([CPPFLAGS],["$CPPFLAGS -isystem \${top_srcdir}"])
 
 # Library abbreviations.
-AC_SUBST([treedb_LIBS],
-[\${top_builddir}/v3c/libtreedb-package_api_version.la])
-AC_SUBST([treedb_DEVEL_LIBS],
-[\${top_builddir}/v3c/libtreedb-package_api_version-d.la])
 AC_SUBST([treedb_BARE_LIBS],
-[\${top_builddir}/v3c/libtreedb-package_api_version-bare.la])
+[\${top_builddir}/v3c/libtreedb-package_api_version.la])
 AC_SUBST([treedb_BARE_DEVEL_LIBS],
-[\${top_builddir}/v3c/libtreedb-package_api_version-bare-d.la])
+[\${top_builddir}/v3c/libtreedb-d-package_api_version.la])
+
+treedb_LIBS="$treedb_BARE_LIBS $v3c_LIBS"
+treedb_DEVEL_LIBS="$treedb_BARE_DEVEL_LIBS $v3c_DEVEL_LIBS"
+AC_SUBST([treedb_LIBS])
+AC_SUBST([treedb_DEVEL_LIBS])
 
 #-------------------------------------------------------------------------------
 # Location customization
@@ -173,10 +174,16 @@ AC_SUBST([PACKAGE_INSTALLDOX_TAGS],["$v3c_INSTALLDOX_TAGS -l package_name.tag@$d
 AC_SUBST([PACKAGE_CFLAGS])
 AC_SUBST([PACKAGE_CPPFLAGS])
 AC_SUBST([PACKAGE_CXXFLAGS])
-AC_SUBST([PACKAGE_DEVEL_LIBS],["-ltreedb-package_api_version-d"])
-AC_SUBST([PACKAGE_RELEASE_LIBS],["-ltreedb-package_api_version"])
-AC_SUBST([PACKAGE_BARE_DEVEL_LIBS],["-ltreedb-package_api_version-bare-d"])
-AC_SUBST([PACKAGE_BARE_RELEASE_LIBS],["-ltreedb-package_api_version-bare"])
+
+PACKAGE_BARE_DEVEL_LIBS="-ltreedb-d-package_api_version"
+PACKAGE_BARE_LIBS="-ltreedb-package_api_version"
+PACKAGE_DEVEL_LIBS="-ltreedb-d-package_api_version $v3c_DEVEL_LIBS"
+PACKAGE_LIBS="-ltreedb-package_api_version $v3c_LIBS"
+
+AC_SUBST([PACKAGE_BARE_DEVEL_LIBS])
+AC_SUBST([PACKAGE_BARE_LIBS])
+AC_SUBST([PACKAGE_DEVEL_LIBS])
+AC_SUBST([PACKAGE_LIBS])
 
 AC_SUBST([PACKAGE_LDFLAGS],["$LDFLAGS"])
 
diff --git a/makefile b/makefile
index 9f3ab96..16cf253 100644
--- a/makefile
+++ b/makefile
@@ -7,9 +7,9 @@ export package_description=tree db is a C library that implements on-disk memory
 # The package version number, (as distinct from shared library version)
 # An odd micro number indicates in-progress development, (eg. from GIT)
 # An even micro number indicates a released version.
-export package_major_version=0
-export package_minor_version=9
-export package_micro_version=2
+export package_major_version=1
+export package_minor_version=0
+export package_micro_version=0
 export package_version=$(package_major_version).$(package_minor_version).$(package_micro_version)-01
 # increase the interface age by 2 for each release;
 # if the API changes, set to 0
@@ -17,7 +17,7 @@ export package_interface_age=0
 
 # This is the version clients will need to re-code for.
 export package_next_major_version=1
-export package_next_minor_version=0
+export package_next_minor_version=1
 export package_next_micro_version=0
 export package_next_version=$(package_next_major_version).$(package_next_minor_version).$(package_next_micro_version)
 
diff --git a/treedb.pc.in b/treedb.pc.in
index e20b8bc..2f20856 100644
--- a/treedb.pc.in
+++ b/treedb.pc.in
@@ -37,12 +37,11 @@ CFLAGS=@PACKAGE_CFLAGS@
 CXXFLAGS=@PACKAGE_CXXFLAGS@
 
 DEVEL_LIBS=@PACKAGE_DEVEL_LIBS@
-RELEASE_LIBS=@PACKAGE_RELEASE_LIBS@
+LIBS=@PACKAGE_LIBS@
 
 BARE_DEVEL_LIBS=@PACKAGE_BARE_DEVEL_LIBS@
-BARE_RELEASE_LIBS=@PACKAGE_BARE_RELEASE_LIBS@
+BARE_LIBS=@PACKAGE_BARE_LIBS@
 
-LIBS=${RELEASE_LIBS}
 LDFLAGS=@PACKAGE_LDFLAGS@
 
 Name: @PACKAGE@-${apiversion}
diff --git a/v3c/1-andromeda/Makefile.am b/v3c/1-andromeda/Makefile.am
index fbd068e..be94735 100644
--- a/v3c/1-andromeda/Makefile.am
+++ b/v3c/1-andromeda/Makefile.am
@@ -26,10 +26,19 @@ pointer_int_tree_c_SOURCES           = pointer-int-tree.c
 pointer_int_tree_cxx_SOURCES         = pointer-int-tree.c
 pointer_int_tree_cxx_CPPFLAGS        = $(AM_CPPFLAGS) -x c++
 
+pointer_int_tree_cxx_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+	$(pointer_int_tree_cxx_LDFLAGS) $(LDFLAGS) -o $@
+
 pointer_string_tree_c_SOURCES        = pointer-string-tree.c
 
 pointer_string_tree_cxx_SOURCES      = pointer-string-tree.c
 pointer_string_tree_cxx_CPPFLAGS     = $(AM_CPPFLAGS) -x c++
+#pointer_string_tree_cxx_LDFLAGS      = $(LDFLAGS) $(AM_LDFLAGS) -x c++
+
+pointer_string_tree_cxx_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+	$(pointer_string_tree_cxx_LDFLAGS) $(LDFLAGS) -o $@
 
 offset_fixed_int_tree_c_SOURCES      = offset-fixed-int-tree-c.c
 offset_fixed_int_tree_cxx_SOURCES    = offset-fixed-int-tree-cxx.cpp
diff --git a/v3c/3-comet/resizing-strings-test.cpp b/v3c/3-comet/resizing-strings-test.cpp
index 9ad2e89..1e99637 100644
--- a/v3c/3-comet/resizing-strings-test.cpp
+++ b/v3c/3-comet/resizing-strings-test.cpp
@@ -130,6 +130,7 @@ int resize_node(TREEDB_NS(context_ptr_t) context
 	unsigned int n;
 	for(n = 0; node; ++n) {
 		TREEDB_NSA(node_ptr_t) p = TREEDB_ALLOC_addr_to_nodeptr(node);
+		(void)p; /* -Wunused-but-set-variable */
 		TREEDB_printf("[%u] resize_node [%zu : %zu] [%zu : %s]\n"
 			, n
 			, (size_t)TREEDB_pack_pointer(p)
diff --git a/v3c/Makefile.am b/v3c/Makefile.am
index 856bb6e..53c61c6 100644
--- a/v3c/Makefile.am
+++ b/v3c/Makefile.am
@@ -12,28 +12,17 @@ SUBDIRS                              = . \
 AM_CPPFLAGS                          = -I$(srcdir)/.. \
                                        -D_GNU_SOURCE
 
-lib_LTLIBRARIES                      = libtreedb-@PACKAGE_API_VERSION@-bare.la \
-                                       libtreedb-@PACKAGE_API_VERSION@-bare-d.la \
-                                       libtreedb-@PACKAGE_API_VERSION@.la \
-                                       libtreedb-@PACKAGE_API_VERSION@-d.la
+lib_LTLIBRARIES                      = libtreedb-@PACKAGE_API_VERSION@.la \
+                                       libtreedb-d-@PACKAGE_API_VERSION@.la
 
 aclocaldir                           = $(datadir)/aclocal
 aclocal_DATA                         = @PACKAGE@.m4
 
-libtreedb_@PACKAGE_API_VERSION@_bare_la_SOURCES = treedb.c
-libtreedb_@PACKAGE_API_VERSION@_bare_la_LDFLAGS = -no-undefined @PACKAGE_LT_LDFLAGS@
-
-libtreedb_@PACKAGE_API_VERSION@_bare_d_la_SOURCES = treedb.c
-libtreedb_@PACKAGE_API_VERSION@_bare_d_la_CPPFLAGS = $(AM_CPPFLAGS) -DTREEDB_DEBUG
-
-libtreedb_@PACKAGE_API_VERSION@_la_SOURCES =
+libtreedb_@PACKAGE_API_VERSION@_la_SOURCES = treedb.c
 libtreedb_@PACKAGE_API_VERSION@_la_LDFLAGS = -no-undefined @PACKAGE_LT_LDFLAGS@
-libtreedb_@PACKAGE_API_VERSION@_la_LIBADD = @treedb_BARE_LIBS@ @v3c_LIBS@
 
-libtreedb_@PACKAGE_API_VERSION@_d_la_SOURCES =
-libtreedb_@PACKAGE_API_VERSION@_d_la_LDFLAGS = -no-undefined @PACKAGE_LT_LDFLAGS@
-libtreedb_@PACKAGE_API_VERSION@_d_la_LIBADD = @treedb_BARE_DEVEL_LIBS@ \
-                                       @v3c_DEVEL_LIBS@
+libtreedb_d_@PACKAGE_API_VERSION@_la_SOURCES = treedb.c
+libtreedb_d_@PACKAGE_API_VERSION@_la_CPPFLAGS = $(AM_CPPFLAGS) -DTREEDB_DEBUG
 
 includedir                           = $(prefix)/include/v3c
 include_HEADERS                      = avl-checkdefs.h \
diff --git a/v3c/l2list-impl.h b/v3c/l2list-impl.h
index 1e9cd23..96b3b53 100644
--- a/v3c/l2list-impl.h
+++ b/v3c/l2list-impl.h
@@ -202,6 +202,7 @@ L2LIST_prefix void L2LIST_NS(clear)
 	L2LIST_node_ptr_t node
 		= L2LIST_unpack_node(L2LIST_unpack_list(hl)->L2LIST_head);
 	L2LIST_packed_node_ptr_t next, pknode;
+	(void)pknode; /* Its usage depends on the macros - keep the compiler happy*/
 	for(; node; node = L2LIST_unpack_node(next)) {
 		next = node->L2LIST_next;
 		/* Store the offset as the memory may move. */
diff --git a/v3c/treedb.m4.in b/v3c/treedb.m4.in
index cdf3fb1..fde1c1f 100644
--- a/v3c/treedb.m4.in
+++ b/v3c/treedb.m4.in
@@ -13,9 +13,9 @@ export @PACKAGE@_DOXYGEN_BUILTIN_STL="@BUILTIN_STL@"
 export @PACKAGE@_CPPFLAGS="@PACKAGE_CPPFLAGS@"
 export @PACKAGE@_CXXFLAGS="@PACKAGE_CXXFLAGS@"
 export @PACKAGE@_CFLAGS="@PACKAGE_CFLAGS@"
-export @PACKAGE@_LIBS="@PACKAGE_RELEASE_LIBS@"
+export @PACKAGE@_LIBS="@PACKAGE_LIBS@"
 export @PACKAGE@_DEVEL_LIBS="@PACKAGE_DEVEL_LIBS@"
-export @PACKAGE@_BARE_LIBS="@PACKAGE_BARE_RELEASE_LIBS@"
+export @PACKAGE@_BARE_LIBS="@PACKAGE_BARE_LIBS@"
 export @PACKAGE@_BARE_DEVEL_LIBS="@PACKAGE_BARE_DEVEL_LIBS@"
 
 export @PACKAGE@_package_requires="$(pkg-config --variable=package_requires @PACKAGE@)"
 ChangeLog                            |   25 ++++++++++++
 NEWS                                 |   23 +++++++++++
 configure.ac.in                      |   71 ++++++++++++++++++++--------------
 makefile                             |    6 +-
 meta-treedb.pc.in                    |    5 +-
 setup_kdbg                           |   35 ++++++++++-------
 v3c/1-comet/Makefile.am              |   38 ++++--------------
 v3c/1-comet/cxx-string-list-test.cpp |    9 ++++
 v3c/Makefile.am                      |   52 +++++++------------------
 v3c/meta-treedb.m4.in                |    4 +-
 10 files changed, 149 insertions(+), 119 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index aac7c7d..8728b91 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2011-06-14  Philip Ashmore <contact@philipashmore.com>
+
+        * Version 1.3.0-01
+
+        * Re-jig for GNU gcc/g++ linker-related changes for Wheezy
+          http://lists.debian.org/debian-devel-announce/2011/02/msg00011.html
+
+          This required dropping the wrapper meta-treedb libs with their
+          dependents.
+          Pkg-config, m4 and automake can do this transparently, so unless you
+          make explicit library references instead of going through a symbolic
+          route, all should be good.
+
+          Since this required renaming libraries, I went ahead and dropped the
+          "RELEASE" part of the library definitions, so you now have
+          meta_treedb_LIBS (was meta_treedb_RELEASE_LIBS) and
+          meta_treedb_DEVEL_LIBS.
+          Since the wrapper libs went, the "bare" libs have dropped the "bare"
+          part since they're all that's left and anything else would be (more)
+          confusing.
+
+         These are link-time changes, requiring a large version bump.
+         They are also incompatible changes requiring that I update to the
+         next major version 1.3.0, and not 1.2.3.
+
 2011-04-18  Philip Ashmore <contact@philipashmore.com>
 
         * Version 1.2.2-01
diff --git a/NEWS b/NEWS
index 57375a0..1fdbe71 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,29 @@
 Please send treedb bug reports via
 <http://sourceforge.net/projects/meta-treedb/support>
 
+Version 1.3.0-01
+
+* Re-jig for GNU gcc/g++ linker-related changes for Wheezy
+  http://lists.debian.org/debian-devel-announce/2011/02/msg00011.html
+
+  This required dropping the wrapper meta-treedb libs with their
+  dependents.
+  Pkg-config, m4 and automake can do this transparently, so unless you
+  make explicit library references instead of going through a symbolic
+  route, all should be good.
+
+  Since this required renaming libraries, I went ahead and dropped the
+  "RELEASE" part of the library definitions, so you now have
+  meta_treedb_LIBS (was meta_treedb_RELEASE_LIBS) and
+  meta_treedb_DEVEL_LIBS.
+  Since the wrapper libs went, the "bare" libs have dropped the "bare"
+  part since they're all that's left and anything else would be (more)
+  confusing.
+
+  These are link-time changes, requiring a large version bump.
+  They are also incompatible changes requiring that I update to the
+  next major version 1.3.0, and not 1.2.3.
+
 Version 1.2.2-01
 
 * Builds static and shared libraries by default, like v3c does
diff --git a/configure.ac.in b/configure.ac.in
index 8e3649a..a736007 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -39,8 +39,8 @@ AC_DEFINE_UNQUOTED([POINTER_SIZE],[$MOST_BYTES],[Pointer size])
 #-------------------------------------------------------------------------------
 # treedb
 #-------------------------------------------------------------------------------
-if ! pkg-config --exists 'treedb >= 0.9.2' ; then
-	AC_MSG_ERROR([treedb version 0.9.2 or later is required.
+if ! pkg-config --exists 'treedb >= 1.0.0' ; then
+	AC_MSG_ERROR([treedb version 1.0.0 or later is required.
 You can download it from http://sourceforge.net/projects/treedb.
 ])
 fi
@@ -48,7 +48,7 @@ ACX_TREEDB
 echo "Libs before: $LIBS"
 export LIBS="$(echo -n "$LIBS" | sed -r -e 's/-l.+//g' -e 's| +| |g')$(echo "$LIBS" | sed -r -e 's/-W[[^ ]]+//g' -e 's| +| |g' | xargs v3c reverse )"
 echo "Libs after: $LIBS"
-export LIBS="$(echo -n "$LIBS" | sed -r -e 's/ ?-l(treedb|v3c)-[[0-9]]+\.[[0-9]]+d?//g')"
+export LIBS="$(echo -n "$LIBS" | sed -r -e 's/ ?-l(treedb|v3c)(-d)?-[0-9]+\.[0-9]+//g')"
 echo "Libs with v3c and treedb removed: $LIBS"
 ################################################################################
 # 64 bits.
@@ -119,27 +119,31 @@ AC_SUBST([PACKAGE_CPPFLAGS],["$CPPFLAGS"])
 AC_SUBST([CPPFLAGS],["$CPPFLAGS -isystem \${top_srcdir}"])
 
 # Library abbreviations.
-AC_SUBST([meta_treedb_LIBS],
-[\${top_builddir}/v3c/libmeta-treedb-package_api_version.la])
-AC_SUBST([meta_treedb_DEVEL_LIBS],
-[\${top_builddir}/v3c/libmeta-treedb-package_api_version-d.la])
-AC_SUBST([meta_treedb_DEVEL2_LIBS],
-[\${top_builddir}/v3c/libmeta-treedb-package_api_version-d2.la])
 AC_SUBST([meta_treedb_BARE_LIBS],
-[\${top_builddir}/v3c/libmeta-treedb-package_api_version-bare.la])
+[\${top_builddir}/v3c/libmeta-treedb-package_api_version.la])
 AC_SUBST([meta_treedb_BARE_DEVEL_LIBS],
-[\${top_builddir}/v3c/libmeta-treedb-package_api_version-bare-d.la])
+[\${top_builddir}/v3c/libmeta-treedb-d-package_api_version.la])
 AC_SUBST([meta_treedb_BARE_DEVEL2_LIBS],
-[\${top_builddir}/v3c/libmeta-treedb-package_api_version-bare-d2.la])
+[\${top_builddir}/v3c/libmeta-treedb-d2-package_api_version.la])
+
+meta_treedb_LIBS="$meta_treedb_BARE_LIBS $treedb_LIBS"
+meta_treedb_DEVEL_LIBS="$meta_treedb_BARE_DEVEL_LIBS $treedb_DEVEL_LIBS"
+meta_treedb_DEVEL2_LIBS="$meta_treedb_BARE_DEVEL2_LIBS $treedb_DEVEL_LIBS"
+AC_SUBST([meta_treedb_LIBS])
+AC_SUBST([meta_treedb_DEVEL_LIBS])
+AC_SUBST([meta_treedb_DEVEL2_LIBS])
 
-AC_SUBST([meta_comet_LIBS],
-[\${top_builddir}/v3c/1-comet/libmeta-comet-package_api_version.la])
-AC_SUBST([meta_comet_DEVEL_LIBS],
-[\${top_builddir}/v3c/1-comet/libmeta-comet-package_api_version-d.la])
 AC_SUBST([meta_comet_BARE_LIBS],
-[\${top_builddir}/v3c/1-comet/libmeta-comet-package_api_version-bare.la])
+[\${top_builddir}/v3c/1-comet/libmeta-comet-package_api_version.la])
 AC_SUBST([meta_comet_BARE_DEVEL_LIBS],
-[\${top_builddir}/v3c/1-comet/libmeta-comet-package_api_version-bare-d.la])
+[\${top_builddir}/v3c/1-comet/libmeta-comet-d-package_api_version.la])
+
+meta_comet_LIBS="$meta_comet_BARE_LIBS $meta_treedb_LIBS"
+meta_comet_DEVEL_LIBS="$meta_comet_BARE_DEVEL_LIBS $meta_treedb_DEVEL_LIBS"
+
+AC_SUBST([meta_comet_LIBS])
+AC_SUBST([meta_comet_DEVEL_LIBS])
+
 #-------------------------------------------------------------------------------
 # Location customization
 #-------------------------------------------------------------------------------
@@ -163,17 +167,26 @@ AC_SUBST([PACKAGE_CXXFLAGS],["$CXXFLAGS"])
 AC_SUBST([PACKAGE_CFLAGS],["$CFLAGS"])
 AC_SUBST([PACKAGE_CPPFLAGS],["$PACKAGE_CPPFLAGS"])
 
-AC_SUBST([PACKAGE_DEVEL_LIBS],["-l%package_name%-package_api_version-d"])
-AC_SUBST([PACKAGE_DEVEL2_LIBS],["-l%package_name%-package_api_version-d2"])
-AC_SUBST([PACKAGE_RELEASE_LIBS],["-l%package_name%-package_api_version"])
-AC_SUBST([PACKAGE_BARE_DEVEL_LIBS],["-l%package_name%-package_api_version-bare-d"])
-AC_SUBST([PACKAGE_BARE_DEVEL2_LIBS],["-l%package_name%-package_api_version-bare-d2"])
-AC_SUBST([PACKAGE_BARE_RELEASE_LIBS],["-l%package_name%-package_api_version-bare"])
-
-AC_SUBST([COMET_DEVEL_LIBS],["-lmeta-comet-package_api_version-d"])
-AC_SUBST([COMET_LIBS],["-lmeta-comet-package_api_version"])
-AC_SUBST([COMET_BARE_DEVEL_LIBS],["-lmeta-comet-package_api_version-bare-d"])
-AC_SUBST([COMET_BARE_LIBS],["-lmeta-comet-package_api_version-bare"])
+AC_SUBST([PACKAGE_BARE_DEVEL_LIBS],["-l%package_name%-d-package_api_version"])
+AC_SUBST([PACKAGE_BARE_DEVEL2_LIBS],["-l%package_name%-d2-package_api_version"])
+AC_SUBST([PACKAGE_BARE_LIBS],["-l%package_name%-package_api_version"])
+
+PACKAGE_DEVEL_LIBS="$PACKAGE_BARE_DEVEL_LIBS $treedb_DEVEL_LIBS"
+PACKAGE_DEVEL2_LIBS="$PACKAGE_BARE_DEVEL2_LIBS $treedb_DEVEL_LIBS"
+PACKAGE_LIBS="$PACKAGE_LIBS $treedb_LIBS"
+
+AC_SUBST([PACKAGE_DEVEL_LIBS])
+AC_SUBST([PACKAGE_DEVEL2_LIBS])
+AC_SUBST([PACKAGE_LIBS])
+
+COMET_BARE_DEVEL_LIBS="-lmeta-comet-d-package_api_version"
+COMET_BARE_LIBS="-lmeta-comet-package_api_version"
+
+COMET_DEVEL_LIBS="$COMET_BARE_DEVEL2_LIBS $PACKAGE_DEVEL_LIBS"
+COMET_LIBS="$COMET_BARE_LIBS $PACKAGE_LIBS"
+
+AC_SUBST([COMET_DEVEL_LIBS])
+AC_SUBST([COMET_LIBS])
 
 AC_SUBST([PACKAGE_LDFLAGS],["$LDFLAGS"])
 
diff --git a/makefile b/makefile
index 782df89..d5fa407 100644
--- a/makefile
+++ b/makefile
@@ -8,8 +8,8 @@ export package_description=meta-treedb implements on-disk memory using meta-data
 # An odd micro number indicates in-progress development, (eg. from GIT)
 # An even micro number indicates a released version.
 export package_major_version=1
-export package_minor_version=2
-export package_micro_version=2
+export package_minor_version=3
+export package_micro_version=0
 export package_version=$(package_major_version).$(package_minor_version).$(package_micro_version)-01
 # increase the interface age by 2 for each release;
 # if the API changes, set to 0
@@ -17,7 +17,7 @@ export package_interface_age=0
 
 # This is the version clients may need to re-code for.
 export package_next_major_version=1
-export package_next_minor_version=3
+export package_next_minor_version=4
 export package_next_micro_version=0
 export package_next_version=$(package_next_major_version).$(package_next_minor_version).$(package_next_micro_version)
 
diff --git a/meta-treedb.pc.in b/meta-treedb.pc.in
index da90b07..08b6a22 100644
--- a/meta-treedb.pc.in
+++ b/meta-treedb.pc.in
@@ -38,17 +38,16 @@ CXXFLAGS=@PACKAGE_CXXFLAGS@
 
 DEVEL_LIBS=@PACKAGE_DEVEL_LIBS@
 DEVEL2_LIBS=@PACKAGE_DEVEL2_LIBS@
-RELEASE_LIBS=@PACKAGE_RELEASE_LIBS@
+LIBS=@PACKAGE_LIBS@
 BARE_DEVEL_LIBS=@PACKAGE_BARE_DEVEL_LIBS@
 BARE_DEVEL2_LIBS=@PACKAGE_BARE_DEVEL2_LIBS@
-BARE_RELEASE_LIBS=@PACKAGE_BARE_RELEASE_LIBS@
+BARE_LIBS=@PACKAGE_BARE_LIBS@
 
 meta_comet_LIBS=@COMET_LIBS@
 meta_comet_DEVEL_LIBS=@COMET_DEVEL_LIBS@
 meta_comet_BARE_LIBS=@COMET_BARE_LIBS@
 meta_comet_BARE_DEVEL_LIBS=@COMET_BARE_DEVEL_LIBS@
 
-LIBS=${RELEASE_LIBS}
 LDFLAGS=@PACKAGE_LDFLAGS@
 
 Name: @PACKAGE@-${apiversion}
diff --git a/setup_kdbg b/setup_kdbg
index ce34ee6..e4f7563 100755
--- a/setup_kdbg
+++ b/setup_kdbg
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 # Copyright (C) 2009  Philip Ashmore (contact@philipashmore.com)
 # License: LPGLv3.  See LICENSE.txt for the full license.
@@ -25,6 +25,10 @@
 #set -e
 root=$(readlink -f ${0%/*})
 
+ECHO()
+{
+	true;#echo $1 $2 $3 $4 $5 $6 $7 $8 $9
+}
 process_kdbg()
 {
 	cat > .kdbgrc.$1 <<EOF
@@ -44,12 +48,12 @@ EOF
 }
 process()
 {
-	#echo -e "\t\t$name"
+	ECHO -e "\t\t$name"
 	if test -f $1 && test ! -h $1 ; then
-		echo "$1 exists and is not a symbolic link!"
+		ECHO "$1 exists and is not a symbolic link!"
 		exit 1
 	fi
-	#echo -e "\t\tln -fs $pdir/$1 $2"
+	ECHO -e "\t\tln -fs $pdir/$1 $2"
 	ln -fs $pdir/$1 $2
 	process_kdbg $2
 }
@@ -58,11 +62,11 @@ process()
 link_program()
 {
 	if test -f $pdir/$1 ; then
-		#echo -e "\t$pdir/$1 -> $2"
+		ECHO -e "\t$pdir/$1 -> $2"
 		process $1 $2
 		return 0
-	#else
-	#	echo -e "\t$pdir/$1 doesn't exist."
+	else
+		ECHO -e "\t$pdir/$1 doesn't exist."
 	fi
 	return 1
 }
@@ -86,7 +90,7 @@ esac
 # 1: directory
 link_programs()
 {
-	#echo -e "\tlooking at $1"
+	ECHO -e "\tlooking at $1"
 	local found=1
 	for a in 16 32 64; do
 		if link_program .libs/${1}_$a ${1}_$a ; then
@@ -99,13 +103,13 @@ link_programs()
 				if link_program .libs/${p}${c}${1} ${p}${c}${1} ; then
 					found=0
 				else
-					true; #echo -e "\t$pdir/.libs/${p}${c}${1} -> X"
+					ECHO -e "\t$pdir/.libs/${p}${c}${1} -> X"
 				fi
 				for a in 16 32 64; do
 					if link_program .libs/${p}${c}${1}${dash}$a ${p}${c}${1}${dash}$a ; then
 						found=0
 					else
-						true; #echo -e "\t$pdir/.libs/${p}${c}${1}${dash}$a -> X"
+						ECHO -e "\t$pdir/.libs/${p}${c}${1}${dash}$a -> X"
 					fi
 				done
 			done
@@ -114,7 +118,10 @@ link_programs()
 			fi
 		done
 	done
-	if test $found -eq 0; then return; fi
+	if test $found -eq 0; then
+		ECHO "Not found."
+		return
+	fi
 	if link_program .libs/$1 $1 ; then
 		return
 	fi
@@ -128,12 +135,12 @@ link_programs()
 cd v3c
 for sdir in $(find . -mindepth 1 -maxdepth 1 -type d | sort) ; do
 	sdir="${sdir#*/}"
-	#echo "$sdir"
+	ECHO "$sdir"
 	pdir="../../build/v3c/$sdir"
 	#sdir=$(readlink -f $sdir)
-	#echo -e "\tsdir = $sdir"
-	#echo -e "\tpdir = $pdir"
+	ECHO -e "[$(pwd)] \tsdir = $sdir"
 	( cd $sdir;
+	pwd
 	rm .kdbgrc.* 2>/dev/null || true
 	for a in $(ls *.{c,cpp} 2>/dev/null); do
 		a=${a%.*}
diff --git a/v3c/1-comet/Makefile.am b/v3c/1-comet/Makefile.am
index 1a71c94..db0eecc 100644
--- a/v3c/1-comet/Makefile.am
+++ b/v3c/1-comet/Makefile.am
@@ -7,15 +7,7 @@ export POINTER_SIZE                 := @MOST_BITS@
 
 # This doesn't work on Debian GNU/Linux 5.0.7 (lenny).
 #LDADD = @meta_comet_LIBS@
-LDADD                                = libmeta-comet-@PACKAGE_API_VERSION@.la \
-                                       @meta_treedb_BARE_LIBS@ \
-                                       @treedb_BARE_LIBS@ \
-                                       @v3c_LIBS@
-
-x                                = libmeta-comet-@PACKAGE_API_VERSION@-d.la \
-                                       @meta_treedb_BARE_DEVEL2_LIBS@ \
-                                       @treedb_BARE_LIBS@ \
-                                       @v3c_DEVEL_LIBS@
+LDADD                                = @meta_comet_LIBS@
 
 CXXLDADD =
 AM_CPPFLAGS                          = -I$(top_srcdir)/v3c \
@@ -24,41 +16,27 @@ AM_CPPFLAGS                          = -I$(top_srcdir)/v3c \
 #                                       -DMETA_TREEDB_DEBUG
 #                                       -D_GNU_SOURCE -DTREEDB_DEBUG=2
 
-lib_LTLIBRARIES                      = libmeta-comet-@PACKAGE_API_VERSION@-bare.la \
-                                       libmeta-comet-@PACKAGE_API_VERSION@-bare-d.la \
-                                       libmeta-comet-@PACKAGE_API_VERSION@.la \
-                                       libmeta-comet-@PACKAGE_API_VERSION@-d.la
+lib_LTLIBRARIES                      = libmeta-comet-@PACKAGE_API_VERSION@.la \
+                                       libmeta-comet-d-@PACKAGE_API_VERSION@.la
 
 bin_PROGRAMS                         = v3c-meta-comet
 
-libmeta_comet_@PACKAGE_API_VERSION@_bare_la_SOURCES = \
+libmeta_comet_@PACKAGE_API_VERSION@_la_SOURCES = \
                                        int-tree.c \
                                        string-tree.c \
                                        int-list.c \
                                        string-list.c
-libmeta_comet_@PACKAGE_API_VERSION@_bare_la_LDFLAGS = -no-undefined @PACKAGE_LT_LDFLAGS@
+libmeta_comet_@PACKAGE_API_VERSION@_la_LDFLAGS = -no-undefined @PACKAGE_LT_LDFLAGS@
 
-libmeta_comet_@PACKAGE_API_VERSION@_bare_d_la_SOURCES = \
+libmeta_comet_d_@PACKAGE_API_VERSION@_la_SOURCES = \
                                        int-tree.c \
                                        string-tree.c \
                                        int-list.c \
                                        string-list.c
-libmeta_comet_@PACKAGE_API_VERSION@_bare_d_la_CPPFLAGS = \
+libmeta_comet_d_@PACKAGE_API_VERSION@_la_CPPFLAGS = \
                                        $(AM_CPPFLAGS) \
                                        -DMETA_TREEDB_DEBUG=2
-libmeta_comet_@PACKAGE_API_VERSION@_bare_d_la_LDFLAGS = -no-undefined @PACKAGE_LT_LDFLAGS@
-
-libmeta_comet_@PACKAGE_API_VERSION@_la_SOURCES =
-libmeta_comet_@PACKAGE_API_VERSION@_la_LDFLAGS = -no-undefined @PACKAGE_LT_LDFLAGS@
-libmeta_comet_@PACKAGE_API_VERSION@_la_LIBADD = @meta_comet_BARE_LIBS@ \
-                                       @meta_treedb_LIBS@
-
-libmeta_comet_@PACKAGE_API_VERSION@_d_la_SOURCES =
-libmeta_comet_@PACKAGE_API_VERSION@_d_la_LDFLAGS = -no-undefined @PACKAGE_LT_LDFLAGS@
-libmeta_comet_@PACKAGE_API_VERSION@_d_la_LIBADD = @meta_comet_BARE_DEVEL_LIBS@ \
-                                       @meta_treedb_BARE_DEVEL2_LIBS@ \
-                                       @treedb_BARE_LIBS@ \
-                                       @v3c_DEVEL_LIBS@
+libmeta_comet_d_@PACKAGE_API_VERSION@_la_LDFLAGS = -no-undefined @PACKAGE_LT_LDFLAGS@
 
 check_PROGRAMS                       = fork-test \
                                        fork-test-d \
diff --git a/v3c/1-comet/cxx-string-list-test.cpp b/v3c/1-comet/cxx-string-list-test.cpp
index a9adaff..598f37f 100644
--- a/v3c/1-comet/cxx-string-list-test.cpp
+++ b/v3c/1-comet/cxx-string-list-test.cpp
@@ -245,8 +245,17 @@ int test(uint16_t abytes, uint16_t aflags, uint16_t xbytes, uint16_t xflags)
 	}
 	return 0;
 }
+#include <signal.h>
+void sigsegv_handler(int signum)
+{
+	fflush(stdout);
+	fflush(stderr);
+	raise(signum); // Does nothing?
+	exit(1);
+}
 int main(int argc, char *argv[])
 {
+	signal(SIGSEGV, & sigsegv_handler);
 	(void)argc;
 	(void)argv;
 	unsigned int aflags[] =
diff --git a/v3c/Makefile.am b/v3c/Makefile.am
index 8958a0d..2464dc5 100644
--- a/v3c/Makefile.am
+++ b/v3c/Makefile.am
@@ -14,12 +14,9 @@ AM_CPPFLAGS                          = -I$(srcdir)/.. \
 #                                       -DMETA_TREEDB_DEBUG
 #                                       -D_GNU_SOURCE -DTREEDB_DEBUG=2
 
-lib_LTLIBRARIES                      = libmeta-treedb-@PACKAGE_API_VERSION@-bare.la \
-                                       libmeta-treedb-@PACKAGE_API_VERSION@-bare-d.la \
-                                       libmeta-treedb-@PACKAGE_API_VERSION@-bare-d2.la \
-                                       libmeta-treedb-@PACKAGE_API_VERSION@.la \
-                                       libmeta-treedb-@PACKAGE_API_VERSION@-d.la \
-                                       libmeta-treedb-@PACKAGE_API_VERSION@-d2.la
+lib_LTLIBRARIES                      = libmeta-treedb-@PACKAGE_API_VERSION@.la \
+                                       libmeta-treedb-d-@PACKAGE_API_VERSION@.la \
+                                       libmeta-treedb-d2-@PACKAGE_API_VERSION@.la
 
 check_PROGRAMS                       = critter-test
 TESTS                                = $(check_PROGRAMS)
@@ -27,7 +24,7 @@ TESTS                                = $(check_PROGRAMS)
 aclocaldir                           = $(datadir)/aclocal
 aclocal_DATA                         = @PACKAGE@.m4
 
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_la_SOURCES = \
+libmeta_treedb_@PACKAGE_API_VERSION@_la_SOURCES = \
                                        meta-treedb.c \
                                        meta-treedb-array.c \
                                        meta-treedb-handle-array.c \
@@ -37,12 +34,12 @@ libmeta_treedb_@PACKAGE_API_VERSION@_bare_la_SOURCES = \
                                        meta-avl-allocator.c \
                                        meta-tree-dump.c \
                                        meta-treedb-file.c
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_la_CPPFLAGS = \
+libmeta_treedb_@PACKAGE_API_VERSION@_la_CPPFLAGS = \
                                        $(CPPFLAGS) $(AM_CPPFLAGS)
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_la_LDFLAGS = \
+libmeta_treedb_@PACKAGE_API_VERSION@_la_LDFLAGS = \
                                        -no-undefined @PACKAGE_LT_LDFLAGS@
 
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_d_la_SOURCES = \
+libmeta_treedb_d_@PACKAGE_API_VERSION@_la_SOURCES = \
                                        meta-treedb.c \
                                        meta-treedb-array.c \
                                        meta-treedb-handle-array.c \
@@ -52,15 +49,15 @@ libmeta_treedb_@PACKAGE_API_VERSION@_bare_d_la_SOURCES = \
                                        meta-avl-allocator.c \
                                        meta-tree-dump.c \
                                        meta-treedb-file.c
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_d_la_LDFLAGS = \
+libmeta_treedb_d_@PACKAGE_API_VERSION@_la_LDFLAGS = \
                                        -no-undefined @PACKAGE_LT_LDFLAGS@
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_d_la_CPPFLAGS = \
+libmeta_treedb_d_@PACKAGE_API_VERSION@_la_CPPFLAGS = \
                                        $(CPPFLAGS) $(AM_CPPFLAGS) \
                                        -DV3C_DEBUG \
                                        -DTREEDB_DEBUG \
                                        -DMETA_TREEDB_DEBUG
 
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_d2_la_SOURCES = \
+libmeta_treedb_d2_@PACKAGE_API_VERSION@_la_SOURCES = \
                                        meta-treedb.c \
                                        meta-treedb-array.c \
                                        meta-treedb-handle-array.c \
@@ -70,41 +67,20 @@ libmeta_treedb_@PACKAGE_API_VERSION@_bare_d2_la_SOURCES = \
                                        meta-avl-allocator.c \
                                        meta-tree-dump.c \
                                        meta-treedb-file.c
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_d2_la_LDFLAGS = \
+libmeta_treedb_d2_@PACKAGE_API_VERSION@_la_LDFLAGS = \
                                        -no-undefined @PACKAGE_LT_LDFLAGS@
 
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_d2_la_CPPFLAGS = \
+libmeta_treedb_d2_@PACKAGE_API_VERSION@_la_CPPFLAGS = \
                                        $(CPPFLAGS) $(AM_CPPFLAGS) \
                                        -DV3C_DEBUG \
                                        -DTREEDB_DEBUG \
                                        -DMETA_TREEDB_DEBUG
 
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_d2_la_CFLAGS = $(CFLAGS) \
+libmeta_treedb_d2_@PACKAGE_API_VERSION@_la_CFLAGS = $(CFLAGS) \
                                        -fstack-protector-all
-libmeta_treedb_@PACKAGE_API_VERSION@_bare_d2_la_CXXFLAGS = $(CXXFLAGS) \
+libmeta_treedb_d2_@PACKAGE_API_VERSION@_la_CXXFLAGS = $(CXXFLAGS) \
                                        -fstack-protector-all
 
-libmeta_treedb_@PACKAGE_API_VERSION@_la_SOURCES =
-libmeta_treedb_@PACKAGE_API_VERSION@_la_LDFLAGS = \
-                                       -no-undefined @PACKAGE_LT_LDFLAGS@
-libmeta_treedb_@PACKAGE_API_VERSION@_la_LIBADD = \
-                                       @meta_treedb_BARE_LIBS@ \
-                                       @treedb_LIBS@
-
-libmeta_treedb_@PACKAGE_API_VERSION@_d_la_SOURCES =
-libmeta_treedb_@PACKAGE_API_VERSION@_d_la_LDFLAGS = \
-                                       -no-undefined @PACKAGE_LT_LDFLAGS@
-libmeta_treedb_@PACKAGE_API_VERSION@_d_la_LIBADD = \
-                                       @meta_treedb_BARE_DEVEL_LIBS@ \
-                                       @treedb_DEVEL_LIBS@
-
-libmeta_treedb_@PACKAGE_API_VERSION@_d2_la_SOURCES =
-libmeta_treedb_@PACKAGE_API_VERSION@_d2_la_LDFLAGS = \
-                                       -no-undefined @PACKAGE_LT_LDFLAGS@
-libmeta_treedb_@PACKAGE_API_VERSION@_d2_la_LIBADD = \
-                                       @meta_treedb_BARE_DEVEL2_LIBS@ \
-                                       @treedb_DEVEL_LIBS@
-
 critter_test_SOURCES                 = critter.cpp
 
 includedir                           = $(prefix)/include/v3c
diff --git a/v3c/meta-treedb.m4.in b/v3c/meta-treedb.m4.in
index 791084b..6de5b47 100644
--- a/v3c/meta-treedb.m4.in
+++ b/v3c/meta-treedb.m4.in
@@ -13,10 +13,10 @@ export @PACKAGE_CAN@_DOXYGEN_BUILTIN_STL="@BUILTIN_STL@"
 export @PACKAGE_CAN@_CPPFLAGS="@PACKAGE_CPPFLAGS@"
 export @PACKAGE_CAN@_CXXFLAGS="@PACKAGE_CXXFLAGS@"
 export @PACKAGE_CAN@_CFLAGS="@PACKAGE_CFLAGS@"
-export @PACKAGE_CAN@_LIBS="@PACKAGE_RELEASE_LIBS@"
+export @PACKAGE_CAN@_LIBS="@PACKAGE_LIBS@"
 export @PACKAGE_CAN@_DEVEL_LIBS="@PACKAGE_DEVEL_LIBS@"
 export @PACKAGE_CAN@_DEVEL2_LIBS="@PACKAGE_DEVEL2_LIBS@"
-export @PACKAGE_CAN@_BARE_LIBS="@PACKAGE_BARE_RELEASE_LIBS@"
+export @PACKAGE_CAN@_BARE_LIBS="@PACKAGE_BARE_LIBS@"
 export @PACKAGE_CAN@_BARE_DEVEL_LIBS="@PACKAGE_BARE_DEVEL_LIBS@"
 export @PACKAGE_CAN@_BARE_DEVEL2_LIBS="@PACKAGE_BARE_DEVEL2_LIBS@"
 
#!/bin/bash
set -e
if test ! -f v3c-1.8.2-02.tar.gz; then
	wget http://downloads.sourceforge.net/project/v3c/v3c-1.8.2-02.tar.gz
fi
if test ! -f treedb-0.9.2-01.tar.gz; then
	wget http://downloads.sourceforge.net/project/v3c/treedb-0.9.2-01.tar.gz
fi
if test ! -f meta-treedb-1.2.2-01.tar.gz; then
	wget http://downloads.sourceforge.net/project/v3c/meta-treedb-1.2.2-01.tar.gz
fi

for a in `ls *.gz`; do b="${a%.tar.gz}"; rm -fr "$b" 2>/dev/null || true; tar xf $a; done

mkdir sandbox 2>/dev/null || true

opt_prefix="$(readlink -f sandbox)"

.. v3c-1.8.2-02/v3c/v3c-functions
new_PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w [<sandbox>] "
write_sandbox_env "$opt_prefix" "sandbox" "$new_PS1"

.. sandbox/setup-env
ln -fs ../v3c-1.8.2-02 sandbox/v3c-1.8.2-02
ln -fs ../treedb-0.9.2-01 sandbox/treedb-0.9.2-01
ln -fs ../meta-treedb-1.2.2-01 sandbox/meta-treedb-1.2.2-01

build_install_v3c()
{
	cd v3c-1.8.2-02; patch -p1 < ../v3c-1.8.2-03.patch
	make release
	make install
}
build_install_treedb()
{
	cd treedb-0.9.2-01; patch -p1 < ../treedb-1.0.0-01.patch
	make release
	make install
}
build_test_meta_treedb()
{
	cd meta-treedb-1.2.2-01; patch -p1 < ../meta-treedb-1.3.0-01.patch
	make release check
}
( build_install_v3c )
( build_install_treedb )
( build_test_meta_treedb )

--- End Message ---
--- Begin Message ---
Version: 4.6.4-7+rm

Dear submitter,

as the package gcc-4.6 has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/796274

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmaster@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Scott Kitterman (the ftpmaster behind the curtain)

--- End Message ---

Reply to: