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
pgpiMRUrpqv4W.pgp
Description: PGP signature
_______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
