Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode

2006-11-19 Thread Steve Langasek
Mark,

On Sat, Nov 18, 2006 at 11:52:55AM +, Mark Purcell wrote:
> On Thursday 16 November 2006 06:03, Steve Langasek wrote:
> [...]
> > I don't know yet why this define isn't propagating; it seems to be part of
> > debian/patches/libgsm.patch though, and there's probably a race condition
> > in the autotools handling that's preventing it from getting where it needs
> > to be.  In a rebuild test on amd64, config.log looks right to me, yet it's
> > not *consistently* ending up in the generated src/twinkle_config.h, because
> > there's a race condition with whether src/twinkle_config.h gets regenerated
> > after autoheader is run.

> I think I have tracked it down.

> debian/patches/libgsm.patch was only applied to configure.in, the necessary 
> changes to configure wern't in the patch.

> As a result, if autoconf was called and configure was regenerated it would 
> dynamically link libgsm, but if configure wasn't regenerated twinkle would 
> try and both dynamically and static link libgsm, hence the race condition.

In my testing, configure was always regenerated but it wasn't guaranteed
that *autoheader* would be called at the right time to regenerate the
twinkle_config.h.in file.

To completely fix this race condition, I think you need to handle both the
autoheader-generated and the autoconf-generated pieces at patch time before
calling configure.

Cheers,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode

2006-11-18 Thread Mark Purcell
On Thursday 16 November 2006 06:03, Steve Langasek wrote:
[...]
> I don't know yet why this define isn't propagating; it seems to be part of
> debian/patches/libgsm.patch though, and there's probably a race condition
> in the autotools handling that's preventing it from getting where it needs
> to be.  In a rebuild test on amd64, config.log looks right to me, yet it's
> not *consistently* ending up in the generated src/twinkle_config.h, because
> there's a race condition with whether src/twinkle_config.h gets regenerated
> after autoheader is run.

Thanks Steve,

I think I have tracked it down.

debian/patches/libgsm.patch was only applied to configure.in, the necessary 
changes to configure wern't in the patch.

As a result, if autoconf was called and configure was regenerated it would 
dynamically link libgsm, but if configure wasn't regenerated twinkle would 
try and both dynamically and static link libgsm, hence the race condition.

Mark


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#394153: Fwd: Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode

2006-11-15 Thread Steve Langasek
On Wed, Nov 15, 2006 at 11:11:31AM +, Mark Purcell wrote:
> On Wednesday 15 November 2006 03:35, Julien Cristau wrote:
> > clone 394153 -1
> > reassign -1 libgsm
> > retitle -1 please add extern "C" declaration for use in c++ programs

> Julien, Kurt,

> libgsm1 does have an extern "C" declaration:

> /usr/include/gsm.h
> [...]
> #ifdef __cplusplus
> extern "C" {
> #endif

> I'm not sure why this is occurring...

Sure enough, this isn't a bug in libgsm.

#ifdef HAVE_GSM
#include 
#else
#include "gsm/inc/gsm.h"
#endif

this is the code in audio_encoder.h, and the HAVE_GSM check is failing --
which means the build is using a local copy of gsm in the src/audio/gsm
directory (bad) and the build is failing as a result (good :).

I don't know yet why this define isn't propagating; it seems to be part of
debian/patches/libgsm.patch though, and there's probably a race condition in
the autotools handling that's preventing it from getting where it needs to
be.  In a rebuild test on amd64, config.log looks right to me, yet it's not
*consistently* ending up in the generated src/twinkle_config.h, because
there's a race condition with whether src/twinkle_config.h gets regenerated
after autoheader is run.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#394153: Fwd: Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode

2006-11-15 Thread Mark Purcell
On Wednesday 15 November 2006 03:35, Julien Cristau wrote:
> clone 394153 -1
> reassign -1 libgsm
> retitle -1 please add extern "C" declaration for use in c++ programs

Julien, Kurt,

libgsm1 does have an extern "C" declaration:

/usr/include/gsm.h
[...]
#ifdef __cplusplus
extern "C" {
#endif

I'm not sure why this is occurring...

Twinkle version 1:0.9-3 built fine on AMD64, 1:0.9-4 built fine all all arch 
except AMD64.

There was no source change in the package between -3 & -4 and there has been 
no change to the libgsm package since 2004.

Can you assist with the debug of this issue as clearly something isn't quite 
right, but I'm not entirely sure it is in twinkle/ libgsm.

On i386 I did see a transitory issue with the build failing at this point, but 
it all appears fine as I can see it.

There are a lot of programmes with rdepends on libgsm1 and I don't think we 
have seen this issue with them?

Can we reschedule a build on amd64?

Mark


>
> On Wed, Nov 15, 2006 at 03:06:28 +0100, Julien Cristau wrote:
> > found 394153 1:0.9-4
> > thanks
> >
> > On Fri, Nov  3, 2006 at 06:41:30 +, Mark Purcell wrote:
> > > Version: 1:0.9-3
> > >
> > > This appears to be a transitory bug which was fixed by the subsequent
> > > reload of the application.
> > >
> > > It has built fine on amd64 now:
> > > http://buildd.debian.org/build.php?&pkg=twinkle&arch=amd64
> >
> > And the latest build failed again:
> > 
http://buildd.debian.org/fetch.cgi?pkg=twinkle;ver=1%3A0.9-4;arch=amd64;stamp=1162650577
>
> libgsm's headers aren't safe to use from c++ programs, they're missing
> an extern "C" declaration.
>
> Cheers,
> Julien


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Processed: Re: Bug#394153: Fwd: Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode

2006-11-14 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

> clone 394153 -1
Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode
Bug 394153 cloned as bug 398697.

> reassign -1 libgsm
Bug#398697: twinkle: FTBFS: undefined reference to gsm_decode
Bug reassigned from package `twinkle' to `libgsm'.

> severity -1 important
Bug#398697: twinkle: FTBFS: undefined reference to gsm_decode
Severity set to `important' from `serious'

> retitle -1 please add extern "C" declaration for use in c++ programs
Bug#398697: twinkle: FTBFS: undefined reference to gsm_decode
Changed Bug title.
(By the way, that Bug is currently marked as done.)

> thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#394153: Fwd: Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode

2006-11-14 Thread Julien Cristau
clone 394153 -1
reassign -1 libgsm
severity -1 important
retitle -1 please add extern "C" declaration for use in c++ programs
thanks

On Wed, Nov 15, 2006 at 03:06:28 +0100, Julien Cristau wrote:

> found 394153 1:0.9-4
> thanks
> 
> On Fri, Nov  3, 2006 at 06:41:30 +, Mark Purcell wrote:
> 
> > Version: 1:0.9-3
> > 
> > This appears to be a transitory bug which was fixed by the subsequent 
> > reload 
> > of the application.
> > 
> > It has built fine on amd64 now:
> > http://buildd.debian.org/build.php?&pkg=twinkle&arch=amd64
> > 
> And the latest build failed again:
> http://buildd.debian.org/fetch.cgi?pkg=twinkle;ver=1%3A0.9-4;arch=amd64;stamp=1162650577
> 
libgsm's headers aren't safe to use from c++ programs, they're missing
an extern "C" declaration.

Cheers,
Julien


signature.asc
Description: Digital signature


Bug#394153: Fwd: Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode

2006-11-14 Thread Julien Cristau
found 394153 1:0.9-4
thanks

On Fri, Nov  3, 2006 at 06:41:30 +, Mark Purcell wrote:

> Version: 1:0.9-3
> 
> This appears to be a transitory bug which was fixed by the subsequent reload 
> of the application.
> 
> It has built fine on amd64 now:
> http://buildd.debian.org/build.php?&pkg=twinkle&arch=amd64
> 
And the latest build failed again:
http://buildd.debian.org/fetch.cgi?pkg=twinkle;ver=1%3A0.9-4;arch=amd64;stamp=1162650577

Cheers,
Julien


signature.asc
Description: Digital signature


Processed: Re: Fwd: Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode

2006-11-14 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

> found 394153 1:0.9-4
Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode
Bug marked as found in version 1:0.9-4.

> thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#394153: twinkle: FTBFS: undefined reference to gsm_decode

2006-10-20 Thread Kurt Roeckx
Package: twinkle
Version: 1:0.9-2
Severity: serious

Hi,

Your package is failing to build (on amd64) with the following error:
g++  -g -Wall -O2 -D_GNU_SOURCE -L /usr/lib  -o twinkle  main.o libtwinkle.a 
../src/parser/libsipparser.a ../src/sdp/libsdpparser.a 
../src/sockets/libsocket.a ../src/threads/libthread.a ../src/audio/libaudio.a 
../src/audits/libaudits.a ../src/stun/libstun.a -pthread -lccrtp1 -lccgnu2 -ldl 
-lrt   -lboost_regex -lzrtpcpp -lspeex -lasound -lgsm -lsndfile  -L/usr/lib 
-lccext2 -lccgnu2 -lz -ldl -lrt -pthread -lresolv -lsndfile -lboost_regex 
-lboost_regex -lzrtpcpp -lspeex -lasound -lgsm -lsndfile  -L/usr/lib -lccext2 
-lccgnu2 -lz -ldl -lrt -pthread
../src/audio/libaudio.a(audio_decoder.o): In function `t_gsm_audio_decoder::dec
ode(unsigned char*, unsigned short, short*, unsigned short)':
/build/buildd/twinkle-0.9/src/audio/audio_decoder.cpp:152: undefined reference
to `gsm_decode(gsm_state*, unsigned char*, short*)'
../src/audio/libaudio.a(audio_decoder.o): In function `~t_gsm_audio_decoder':
/build/buildd/twinkle-0.9/src/audio/audio_decoder.cpp:140: undefined reference
to `gsm_destroy(gsm_state*)'
/build/buildd/twinkle-0.9/src/audio/audio_decoder.cpp:140: undefined reference
to `gsm_destroy(gsm_state*)'
/build/buildd/twinkle-0.9/src/audio/audio_decoder.cpp:140: undefined reference
to `gsm_destroy(gsm_state*)'
../src/audio/libaudio.a(audio_decoder.o): In function `t_gsm_audio_decoder':
/build/buildd/twinkle-0.9/src/audio/audio_decoder.cpp:136: undefined reference
to `gsm_create()'
/build/buildd/twinkle-0.9/src/audio/audio_decoder.cpp:136: undefined reference
to `gsm_create()'
../src/audio/libaudio.a(audio_encoder.o): In function `t_gsm_audio_encoder::enc
ode(short*, unsigned short, unsigned char*, unsigned short, bool&)':
/build/buildd/twinkle-0.9/src/audio/audio_encoder.cpp:140: undefined reference
to `gsm_encode(gsm_state*, short*, unsigned char*)'
../src/audio/libaudio.a(audio_encoder.o): In function `~t_gsm_audio_encoder':
/build/buildd/twinkle-0.9/src/audio/audio_encoder.cpp:132: undefined reference
to `gsm_destroy(gsm_state*)'
/build/buildd/twinkle-0.9/src/audio/audio_encoder.cpp:132: undefined reference
to `gsm_destroy(gsm_state*)'
/build/buildd/twinkle-0.9/src/audio/audio_encoder.cpp:132: undefined reference
to `gsm_destroy(gsm_state*)'
../src/audio/libaudio.a(audio_encoder.o): In function `t_gsm_audio_encoder':
/build/buildd/twinkle-0.9/src/audio/audio_encoder.cpp:128: undefined reference
to `gsm_create()'
/build/buildd/twinkle-0.9/src/audio/audio_encoder.cpp:128: undefined reference
to `gsm_create()'
collect2: ld returned 1 exit status


This looks like it's expecting C++ linkage, but it's a C library.  It
shouldn't have the complete prototype for the function for a C library.


Kurt



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]