Bug#877261: jemalloc: FTBFS on 32-bit archs: operator new/delete symbols have changed

2017-09-30 Thread Andreas Beckmann
Control: retitle -1 jemalloc: FTBFS on 32-bit archs: incorrect symbols for 
operator new/delete
Control: tag -1 pending

On 09/30/2017 02:08 PM, Faidon Liambotis wrote:
> I've fixed this in git a while ago[1] but haven't uploaded because that
> version has a bunch of FTBFSes in other architectures, that I've been

No worries. I just wanted a bug to classify that build failure in a 
recent rebuild of experimental on amd64 and i386 that I did locally to 
ensure all the cruft that has been FTBFSing in experimental for years 
actually has a proper bug report. (jemalloc doesn't fall in that cruft 
category, it did just FTBFS)


Andreas



Bug#877261: jemalloc: FTBFS on 32-bit archs: operator new/delete symbols have changed

2017-09-30 Thread Faidon Liambotis
Hi Andreas,

Thanks for the bug report.

On Fri, Sep 29, 2017 at 10:55:59PM +0200, Andreas Beckmann wrote:
> jemalloc 5 FTBFS on all 32-bit architectures since the signatures for
> operator new/delete have changed with GCC 7:

I don't think it's a GCC 7 issue. I think it was just a packaging error
on my side, where I used "unsigned long" as the argument,
unconditionally, while it's (obviously, in hindsight) "unsigned int" on
32-bit architectures.  (Note that jemalloc 5.0.1-1 is the first one with
C++ ABI, so this is all new)

I've fixed this in git a while ago[1] but haven't uploaded because that
version has a bunch of FTBFSes in other architectures, that I've been
engaging with upstream about[2][3]. It's taking longer than I originally
expected, but still, it's in experimental, so I didn't think there was
much point in making a new upload that builds in a few more
architectures but still fails on many.

Regards,
Faidon

1: 
https://anonscm.debian.org/cgit/collab-maint/jemalloc.git/commit/?h=experimental=4dc71357fd2a3f77ab63476d0da4f0d5581463d9
2: https://github.com/jemalloc/jemalloc/issues/979
3: https://github.com/jemalloc/jemalloc/issues/999



Bug#877261: jemalloc: FTBFS on 32-bit archs: operator new/delete symbols have changed

2017-09-29 Thread Andreas Beckmann
Source: jemalloc
Version: 5.0.1-1
Severity: serious
Justification: fails to build from source (but built successfully in the past)

Hi,

jemalloc 5 FTBFS on all 32-bit architectures since the signatures for
operator new/delete have changed with GCC 7:

https://buildd.debian.org/status/package.php?p=jemalloc=experimental

--- debian/libjemalloc2.symbols (libjemalloc2_5.0.1-1_i386)
+++ dpkg-gensymbolsn_yQdM   2017-08-24 03:04:35.917535795 +
@@ -1,4 +1,10 @@
 libjemalloc.so.2 libjemalloc2 #MINVER#
+ _ZdaPvj@Base 5.0.1-1
+ _ZdlPvj@Base 5.0.1-1
+ _Znaj@Base 5.0.1-1
+ _ZnajRKSt9nothrow_t@Base 5.0.1-1
+ _Znwj@Base 5.0.1-1
+ _ZnwjRKSt9nothrow_t@Base 5.0.1-1
  (arch=gnu-any-any gnuabi64-any-any gnuabin32-any-any gnueabi-any-any 
gnueabihf-any-any gnuspe-any-any gnux33-any-any)__free_hook@Base 3.0.0
  (arch=gnu-any-any gnuabi64-any-any gnuabin32-any-any gnueabi-any-any 
gnueabihf-any-any gnuspe-any-any gnux33-any-any)__malloc_hook@Base 3.0.0
  (arch=gnu-any-any gnuabi64-any-any gnuabin32-any-any gnueabi-any-any 
gnueabihf-any-any gnuspe-any-any gnux33-any-any)__memalign_hook@Base 3.0.0
@@ -22,14 +28,14 @@
  nallocx@Base 3.5.0
  (c++)"operator delete(void*)@Base" 5.0.0
  (c++)"operator delete(void*, std::nothrow_t const&)@Base" 5.0.0
- (c++)"operator delete(void*, unsigned long)@Base" 5.0.0
+#MISSING: 5.0.1-1# (c++)"operator delete(void*, unsigned long)@Base" 5.0.0
  (c++)"operator delete[](void*)@Base" 5.0.0
  (c++)"operator delete[](void*, std::nothrow_t const&)@Base" 5.0.0
- (c++)"operator delete[](void*, unsigned long)@Base" 5.0.0
- (c++)"operator new(unsigned long)@Base" 5.0.0
- (c++)"operator new(unsigned long, std::nothrow_t const&)@Base" 5.0.0
- (c++)"operator new[](unsigned long)@Base" 5.0.0
- (c++)"operator new[](unsigned long, std::nothrow_t const&)@Base" 5.0.0
+#MISSING: 5.0.1-1# (c++)"operator delete[](void*, unsigned long)@Base" 5.0.0
+#MISSING: 5.0.1-1# (c++)"operator new(unsigned long)@Base" 5.0.0
+#MISSING: 5.0.1-1# (c++)"operator new(unsigned long, std::nothrow_t 
const&)@Base" 5.0.0
+#MISSING: 5.0.1-1# (c++)"operator new[](unsigned long)@Base" 5.0.0
+#MISSING: 5.0.1-1# (c++)"operator new[](unsigned long, std::nothrow_t 
const&)@Base" 5.0.0
  posix_memalign@Base 2.1.1
  rallocx@Base 3.5.0
  realloc@Base 2.1.1


Andreas