discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] gr-audio-oss segfaults


From: Berndt Josef Wulf
Subject: Re: [Discuss-gnuradio] gr-audio-oss segfaults
Date: Fri, 7 Apr 2006 11:52:47 +0930
User-agent: KMail/1.9.1

On Friday 07 April 2006 11:35, Eric Blossom wrote:
> On Fri, Apr 07, 2006 at 07:50:53AM +0930, Berndt Josef Wulf wrote:
> > G'day,
> >
> > gr-audio-oss segfaults when built using the gr-audio-oss-0.8.tar.gz
> > tarball. The reason for this is that the tarball includes audio_oss.cc
> > which normally is created by swig. Consequently, the interfaces created
> > in this file may not be correct for the  every target system. I guess
> > this was overlooked during the  creation of the tarball.
> >
> > It would be nice if we can create a new tarball e.g
> > gr-audio-oss-0.8.1.tar.gz that excludes this file. I believe that package
> > maintainers would appreciate this.
> >
> > cheerio Berndt
>
> Hi Berndt,
>
> After taking a look at this, I think the problem is in the
> gnuradio-core build process.  All the tarballs that I checked
> designate the swig generated output files as BUILT_SOURCES, and all
> contain the output of running swig on the machine I built the tarballs
> on.
>
> That part is right.
>
> The part that's wrong, is that something in the gnuradio-core build
> process is triggering a dependency that's having gnuradio-core's swig
> output be regenerated.  This could lead to a situation where
> gnuradio-core's stuff is built with one version of swig, while all the
> others use a different version.  I suspect that some of the machine
> generated code (particularly the .i and .h files) in general and/or
> filter isn't labeled BUILT_SOURCES, and thus isn't in the tarball.
> Building that stuff would then force swig to be run, causing the
> potential swig version inconsistency.

Not quite sure what you mean. Currently I have to regenerate this file with 
swig in order to avoid the segfault.

The log below shows the part that does go wrong. Note that swig wasn't 
executed in order to regenerate audio_oss.cc

--------------------------------------------------------------------8<---------------------------------------------------------
gmake[3]: Entering directory 
`/usr/pkgsrc/ham/gnuradio-audio-oss/work/gr-audio-oss-0.8/src'
if /bin/sh ../libtool --tag=CXX --mode=compile c++ -DHAVE_CONFIG_H -I. -I. 
-I.. -pthread -I/usr/pkg/include/gnuradio    -I/usr/pkg/include/python2.4  
-I/usr/include -I/usr/pkg/include -I/usr/pkg/include/cppunit 
-I/usr/pkg/include/python2.4  -O2 -I/usr/include -I/usr/pkg/include 
-I/usr/pkg/include/cppunit -I/usr/pkg/include/python2.4 -Wall 
-Woverloaded-virtual  -pthread  -MT audio_oss.lo -MD -MP -MF 
".deps/audio_oss.Tpo" -c -o audio_oss.lo audio_oss.cc; \
then mv -f ".deps/audio_oss.Tpo" ".deps/audio_oss.Plo"; else rm -f 
".deps/audio_oss.Tpo"; exit 1; fi
mkdir .libs
 c++ -DHAVE_CONFIG_H -I. -I.. -pthread 
-I/usr/pkgsrc/ham/gnuradio-audio-oss/work/.buildlink/include/gnuradio 
-I/usr/pkgsrc/ham/gnuradio-audio-oss/work/.buildlink/include/python2.4 
-I/usr/pkgsrc/ham/gnuradio-audio-oss/work/.buildlink/include 
-I/usr/pkgsrc/ham/gnuradio-audio-oss/work/.buildlink/include/cppunit -O2 
-Wall -Woverloaded-virtual -pthread -MT audio_oss.lo -MD -MP 
-MF .deps/audio_oss.Tpo -c audio_oss.cc  -fPIC -DPIC -o .libs/audio_oss.o
audio_oss.cc:390: warning: `int SWIG_TypeCompare(const char*, const char*)'
   defined but not used
audio_oss.cc:437: warning: `swig_cast_info*
   SWIG_TypeCheckStruct(swig_type_info*, swig_type_info*)' defined but not 
used
audio_oss.cc:453: warning: `swig_type_info*
   SWIG_TypeDynamicCast(swig_type_info*, void**)' defined but not used
audio_oss.cc:684: warning: `const char* SWIG_UnpackDataName(const char*, 
void*,
   unsigned int, const char*)' defined but not used
audio_oss.cc:1032: warning: `void SWIG_Python_SetErrorObj(PyObject*, 
PyObject*)
   ' defined but not used
audio_oss.cc:1051: warning: `void SWIG_Python_SetConstant(PyObject*, const
   char*, PyObject*)' defined but not used
audio_oss.cc:1059: warning: `PyObject* SWIG_Python_AppendOutput(PyObject*,
   PyObject*)' defined but not used
audio_oss.cc:1949: warning: `int SWIG_Python_AcquirePtr(PyObject*, int)'
   defined but not used
audio_oss.cc:2044: warning: `int SWIG_Python_ConvertFunctionPtr(PyObject*,
   void**, swig_type_info*)' defined but not used
audio_oss.cc:2071: warning: `int SWIG_Python_ConvertPacked(PyObject*, void*,
   unsigned int, swig_type_info*)' defined but not used
audio_oss.cc:2179: warning: `PyObject*
   SWIG_Python_InitShadowInstance(PyObject*)' defined but not used
audio_oss.cc:2320: warning: `swig_type_info* SWIG_Python_TypeQuery(const 
char*)
   ' defined but not used
audio_oss.cc:2432: warning: `void* SWIG_Python_MustGetPtr(PyObject*,
   swig_type_info*, int, int)' defined but not used
audio_oss.cc:3960: warning: `int SWIG_AsVal_double(PyObject*, double*)' 
defined
   but not used
audio_oss.cc:7947: warning: `void SWIG_PropagateClientData()' defined but not
   used
audio_oss.cc:8137: warning: `void SWIG_Python_addvarlink(PyObject*, char*,
   PyObject*(*)(), int (*)(PyObject*))' defined but not used
audio_oss.cc:8154: warning: `PyObject* SWIG_globals()' defined but not used
 c++ -DHAVE_CONFIG_H -I. -I.. -pthread 
-I/usr/pkgsrc/ham/gnuradio-audio-oss/work/.buildlink/include/gnuradio 
-I/usr/pkgsrc/ham/gnuradio-audio-oss/work/.buildlink/include/python2.4 
-I/usr/pkgsrc/ham/gnuradio-audio-oss/work/.buildlink/include 
-I/usr/pkgsrc/ham/gnuradio-audio-oss/work/.buildlink/include/cppunit -O2 
-Wall -Woverloaded-virtual -pthread -MT audio_oss.lo -MD -MP 
-MF .deps/audio_oss.Tpo -c audio_oss.cc -o audio_oss.o >/dev/null 2>&1
--------------------------------------------------------------------8<---------------------------------------------------------

In contrast building from CVS
--------------------------------------------------------------------8<---------------------------------------------------------
/usr/pkg/bin/swig -c++ -fvirtual -python -modern -I/usr/pkg/include/python2.4 
-I/usr/pkg/include/gnuradio/swig -I/usr/pkg/include/gnuradio -module 
audio_oss -o audio_oss.cc audio_oss.i
gmake  all-am
gmake[1]: Entering directory `/usr/src/gnuradio/gr-audio-oss/src'
if /usr/pkg/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H 
-I. -I. -I.. -pthread -I/usr/pkg/include/gnuradio   -I/usr/pkg/include 
-I/usr/pkg/include/python2.4  -I/usr/pkg/include  -I/usr/pkg/include -Wall 
-Woverloaded-virtual -pthread -MT audio_oss.lo -MD -MP -MF 
".deps/audio_oss.Tpo" -c -o audio_oss.lo audio_oss.cc; \
then mv -f ".deps/audio_oss.Tpo" ".deps/audio_oss.Plo"; else rm -f 
".deps/audio_oss.Tpo"; exit 1; fi
mkdir .libs
 g++ -DHAVE_CONFIG_H -I. -I. -I.. -pthread -I/usr/pkg/include/gnuradio 
-I/usr/pkg/include -I/usr/pkg/include/python2.4 -I/usr/pkg/include 
-I/usr/pkg/include -Wall -Woverloaded-virtual -pthread -MT audio_oss.lo -MD 
-MP -MF .deps/audio_oss.Tpo -c audio_oss.cc  -fPIC -DPIC -o .libs/audio_oss.o
if /usr/pkg/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H 
-I. -I. -I.. -pthread -I/usr/pkg/include/gnuradio   -I/usr/pkg/include 
-I/usr/pkg/include/python2.4  -I/usr/pkg/include  -I/usr/pkg/include -Wall 
-Woverloaded-virtual -pthread -MT audio_oss_sink.lo -MD -MP -MF 
".deps/audio_oss_sink.Tpo" -c -o audio_oss_sink.lo audio_oss_sink.cc; \
--------------------------------------------------------------------8<---------------------------------------------------------

where swig regenerates the audio_oss.cc file

> I'll continue to investigate, but not right now.
>
>
> If someone else wants to help sort this out, please dive in.
>
> BTW, this problem isn't new.  It's been in all the tarballs generated
> over the last couple of years.  I think we're seeing it now because I
> used swig 1.3.29 on the build machine.  The swig generated code changed
> for the better between 1.3.27 and 1.3.28.

This would make sense as the version of swig used here is 1.3.27.

I was going to commit an update of the latest gnuradio release into pkgsrc and 
will have to work around it if no solution comes from here.

BTW: I've since create a package for gr-audio-portaudio which I hope to commit 
soon.

cheerio Berndt

Attachment: pgp69lWzPipX2.pgp
Description: PGP signature


reply via email to

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