Proposing zaptel ebuild with OSLEC support. Oslec is an open source high performance line echo canceller. It works well on lines where the built-in Zaptel echo canceller fails. No tweaks like rxgain/txgain or fxotrain are required. Reproducible: Always Tested on x86 and works fine.
Created attachment 122795 [details] zaptel ebuild with OSLEC support
The current ebuild is based on zaptel-1.2.16 and is intented for beta testers. David Rowe, the author of OSLEC, will publish a tarball on his site soon (currently using SVN).
Created attachment 123097 [details] net-misc/zaptel-1.2-16 ebuild with oslec A stable release of OSLEC is available from the author's web site and the current ebuild proposal includes it (version 0.1).
(In reply to comment #3) > Created an attachment (id=123097) [edit] > net-misc/zaptel-1.2-16 ebuild with oslec > > A stable release of OSLEC is available from the author's web site and the > current ebuild proposal includes it (version 0.1). > After running "ebuild zaptel-1.2.16.ebuild digest", then emerging your zaptel ebuild, emerge can't find oslec patches. Should I just download manually?, e.g.: #cd /usr/local/portage/net-misc/zaptel/ #wget http://www.rowetel.com/ucasterisk/dowwget http://www.rowetel.com/ucasterisk/downloads/oslec-0.1.tar.gz # USE="-ecmg2 ecoslec" emerge zaptel * Zaptel * Zaptel is happy and continues... :) >>> Unpacking source... >>> Unpacking zaptel-1.2.16.tar.gz to /var/tmp/portage/net-misc/zaptel-1.2.16/work * Cannot find $EPATCH_SOURCE! Value for $EPATCH_SOURCE is: * * /usr/local/portage/net-misc/zaptel/files/zaptel-1.2.16-gentoo.diff * ( zaptel-1.2.16-gentoo.diff ) * * ERROR: net-misc/zaptel-1.2.16 failed. * Call stack: * ebuild.sh, line 1642: Called dyn_unpack * ebuild.sh, line 768: Called qa_call 'src_unpack' * ebuild.sh, line 44: Called src_unpack * zaptel-1.2.16.ebuild, line 196: Called epatch '/usr/local/portage/net-misc/zaptel/files/zaptel-1.2.16-gentoo.diff' * eutils.eclass, line 161: Called die * * Cannot find $EPATCH_SOURCE! * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/net-misc/zaptel-1.2.16/temp/build.log'. * This ebuild is from an overlay: '/usr/local/portage/' is happy and continues... :) >>> Unpacking source... >>> Unpacking zaptel-1.2.16.tar.gz to /var/tmp/portage/net-misc/zaptel-1.2.16/work * Cannot find $EPATCH_SOURCE! Value for $EPATCH_SOURCE is: * * /usr/local/portage/net-misc/zaptel/files/zaptel-1.2.16-gentoo.diff * ( zaptel-1.2.16-gentoo.diff ) * * ERROR: net-misc/zaptel-1.2.16 failed. * Call stack: * ebuild.sh, line 1642: Called dyn_unpack * ebuild.sh, line 768: Called qa_call 'src_unpack' * ebuild.sh, line 44: Called src_unpack * zaptel-1.2.16.ebuild, line 196: Called epatch '/usr/local/portage/net-misc/zaptel/files/zaptel-1.2.16-gentoo.diff' * eutils.eclass, line 161: Called die * * Cannot find $EPATCH_SOURCE! * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/net-misc/zaptel-1.2.16/temp/build.log'. * This ebuild is from an overlay: '/usr/local/portage/'
Hi (In reply to comment #4) > After running "ebuild zaptel-1.2.16.ebuild digest", then emerging > your zaptel ebuild, emerge can't find oslec patches. The error below is not related to the oslec zaptel patch. > >>> Unpacking zaptel-1.2.16.tar.gz to /var/tmp/portage/net-misc/zaptel-1.2.16/work > * Cannot find $EPATCH_SOURCE! Value for $EPATCH_SOURCE is: > * > * /usr/local/portage/net-misc/zaptel/files/zaptel-1.2.16-gentoo.diff > * ( zaptel-1.2.16-gentoo.diff ) You're probably missing the whole /usr/portage/net-misc/zaptel/files directory. Copy it over to your custom overlay /usr/local/portage. zaptel-1.2.16-gentoo.diff is not an oslec patch.
Thanks, after copying over zaptel cp /usr/portage/net-misc/zaptel /usr/local/portage/net-misc/ zaptel emerged fine.
doesn't compile for me, on x86 : [ebuild U ] net-misc/zaptel-1.2.16-r1 [1.2.16] USE="ecoslec%* -bri -ecaggressive -eckb1 -ecmark -ecmark2* -ecmark3 -ecmg2 -ecsteve -ecsteve2 -florz -rtc -watchdog -zapnet -zapras" 0 kB [1] make -C /usr/src/linux SUBDIRS=/var/tmp/portage/net-misc/zaptel-1.2.16-r1/work/zaptel-1.2.16 HOTPLUG_FIRMWARE=yes modules make[1]: Entering directory `/usr/src/linux-2.6.20-gentoo-r8' CC [M] /var/tmp/portage/net-misc/zaptel-1.2.16-r1/work/zaptel-1.2.16/zaptel-base.o /var/tmp/portage/net-misc/zaptel-1.2.16-r1/work/zaptel-1.2.16/zaptel-base.c:6821: error: unknown field 'readv' specified in initializer /var/tmp/portage/net-misc/zaptel-1.2.16-r1/work/zaptel-1.2.16/zaptel-base.c:6822: error: unknown field 'writev' specified in initializer make[2]: *** [/var/tmp/portage/net-misc/zaptel-1.2.16-r1/work/zaptel-1.2.16/zaptel-base.o] Error 1 make[1]: *** [_module_/var/tmp/portage/net-misc/zaptel-1.2.16-r1/work/zaptel-1.2.16] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.20-gentoo-r8' make: *** [all] Error 2 !!! ERROR: net-misc/zaptel-1.2.16-r1 failed. :-( I wanted to test this echo canceler which seems to be a good one.
compiles fine without ecoslec USE. [ebuild U ] net-misc/zaptel-1.2.16-r1 [1.2.16] USE="ecmark2 -bri -ecaggressive -eckb1 -ecmark -ecmark3 -ecmg2 -ecoslec% -ecsteve -ecsteve2 -florz -rtc -watchdog -zapnet -zapras" 0 kB [1]
(In reply to comment #7) > /var/tmp/portage/net-misc/zaptel-1.2.16-r1/work/zaptel-1.2.16/zaptel-base.c:6821: > error: unknown field 'readv' specified in initializer Trying to reproduce your error... I did: [ebuild R ] net-misc/zaptel-1.2.16-r1 USE="ecoslec -bri* -ecaggressive -eckb1 -ecmark -ecmark2 -ecmark3 -ecmg2 -ecsteve -ecsteve2 -florz -rtc* -watchdog -zapnet -zapras" 0 kB [1] (...) make -C /usr/src/linux SUBDIRS=/var/tmp/portage/net-misc/zaptel-1.2.16-r2/work/zaptel-1.2.16 HOTPLUG_FIRMWARE=yes modules make[1]: Entering directory `/usr/src/linux-2.6.17-gentoo-r8' CC [M] /var/tmp/portage/net-misc/zaptel-1.2.16-r2/work/zaptel-1.2.16/zaptel-base.o /var/tmp/portage/net-misc/zaptel-1.2.16-r2/work/zaptel-1.2.16/zaptel-base.c:188: warning: ‘fcstab’ defined but not used LD [M] /var/tmp/portage/net-misc/zaptel-1.2.16-r2/work/zaptel-1.2.16/zaptel.o CC [M] /var/tmp/portage/net-misc/zaptel-1.2.16-r2/work/zaptel-1.2.16/tor2.o (...) and it finishes compiling correctly. Apart from the obvious kernel version difference, which compiler are you using? Could you please post "emerge --info"?
(In reply to comment #7) > make[1]: Entering directory `/usr/src/linux-2.6.20-gentoo-r8' From http://lwn.net/Articles/201682/: The readv() and writev() methods in the file_operations structure have been removed in favor of aio_readv() and aio_writev() (whose prototypes have been changed). See this article (http://lwn.net/Articles/202449/) for more information. We could put a DEPEND in this ebuild to avoid building zaptel w/oslec when there's a 2.6.20+ kernel or wait for the author of oslec to change his code.
Ok, I think I understand. by the way : # gcc -v Utilisation des specs internes. Target: i686-pc-linux-gnu Configuré avec: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-multilib --enable-libmudflap --disable-libssp --disable-libgcj --enable-languages=c,c++ --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu Modèle de thread: posix version gcc 4.1.2 (Gentoo 4.1.2) # emerge --info Portage 2.1.2.9 (default-linux/x86/2007.0/server, gcc-4.1.2, glibc-2.5-r4, 2.6.20-gentoo-r8 i686) ================================================================= System uname: 2.6.20-gentoo-r8 i686 Intel(R) Celeron(R) CPU 2.66GHz Gentoo Base System release 1.12.9 Timestamp of tree: Wed, 11 Jul 2007 11:50:01 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r7 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.23b virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib/fax /var/bind /var/spool/fax/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer" DISTDIR="/download/Linux/gentoo/portage" FEATURES="buildsyspkg ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://cudlug.cudenver.edu/gentoo/ http://mirror.datapipe.net/gentoo http://gentoo.osuosl.org/" LANG="fr_FR@euro" LC_ALL="fr_FR@euro" LINGUAS="fr" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="a52 aac acl acpi alsa apache2 audiofile bash-completion bzip2 caps cdb cdparanoia cdr cli cracklib crypt ctype cups dedicated dvd dvdr dvdread encode exif fam ffmpeg flac foomaticdb ftp gd geoip gif iconv icq idn imagemagick imap imlib innodb iodbc ipv6 isdnlog jabber jpeg lcms ldap lm_sensors mad maildir matroska mbox mcal midi mime mmx mng mp3 mpeg msn mudflap mysql mysqli ncurses nls nptl nptlonly odbc ogg openmp oscar pam pcre perl php png posix postgres ppds pppd prelude python readline reflection samba sasl scanner sdl session sharedext simplexml slang slp snmp speex spell spl sse sse2 ssl tcpd theora tiff truetype truetype-fonts type1-fonts unicode usb v4l vhosts vorbis wmf x86 xml xsl xvid yahoo zlib" ALSA_CARDS="snd-intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS I think I'll have to wait a new version...
Stuck into zaptel-1.2.18-r1. Basically since readv/writev are NULL they can just be undef :-)
(In reply to comment #12) > Stuck into zaptel-1.2.18-r1. Splendid, but seems to be missing oslec-0.1-zaptel-1.2.18.diff * Applying oslec-0.1-zaptel-1.2.18 zaptel patch * Failed Patch: oslec-0.1-zaptel-1.2.18.diff ! * ( /var/tmp/portage/net-misc/zaptel-1.2.18-r1/work/oslec-0.1-zaptel-1.2.18.diff ) * * Include in your bugreport the contents of: * * /var/tmp/portage/net-misc/zaptel-1.2.18-r1/temp/oslec-0.1-zaptel-1.2.18.diff-32260.out
Actually it's a matter of time for the distfiles to propagate into the mirrors so if you try again today i'm sure it'll be able to get it.