It appears that two ecasound function calls to READLINE are using function names that don't match the installed FBSD-4.7 READLINE: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Making all in ecasound gmake[2]: Entering directory `/usr/ports/audio/ecasound/work/ecasound-2.2.2/ecas ound' c++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/readline -I. -I.. -I../libecasou nd -I../kvutils -D_THREAD_SAFE -O -pipe -g -D_REENTRANT -D_REENTRANT -pthread -DNDEBUG -DENABLE_DBC -c ecasound.cpp c++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/readline -I. -I.. -I../libecasou nd -I../kvutils -D_THREAD_SAFE -O -pipe -g -D_REENTRANT -D_REENTRANT -pthread -DNDEBUG -DENABLE_DBC -c eca-curses.cpp eca-curses.cpp: In method `void ECA_CURSES::init_readline_support()': eca-curses.cpp:117: `rl_completion_func_t' undeclared (first use this function) eca-curses.cpp:117: (Each undeclared identifier is reported only once eca-curses.cpp:117: for each function it appears in.) eca-curses.cpp:117: syntax error before `)' eca-curses.cpp: In function `char ** ecasound_completion(char *, int, int)': eca-curses.cpp:148: `rl_compentry_func_t' undeclared (first use this function) eca-curses.cpp:148: syntax error before `)' eca-curses.cpp:148: implicit declaration of function `int rl_completion_matches( ...)' gmake[2]: *** [eca-curses.o] Error 1 gmake[2]: Leaving directory `/usr/ports/audio/ecasound/work - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - grep rl_completion /usr/include/readline/* /usr/include/readline/readline.h:extern Function *rl_completion_entry_function; /usr/include/readline/readline.h: rl_completion_entry_function to try to match , otherwise use the /usr/include/readline/readline.h:extern VFunction *rl_completion_display_matches _hook; /usr/include/readline/readline.h:extern int rl_completion_type; /usr/include/readline/readline.h:extern int rl_completion_append_character; /usr/include/readline/readline.h:extern int rl_completion_query_items;
I'll submit a fix for this ASAP, sorry for lagging behind. At the same time, I'll upgrade the port to 2.2.3, since it should solve the python problem that showed up on bento. Cheers, A.
Ok, here's another attempt at fixing this. This patch does the following: 0- unbreak the port (build tested on 4.7 and 5.1-BETA without python) 1- upgrade to 2.2.3 (which gets rid of python dependencies [1]) 2- don't use automake since this port doesn't hack Makefiles anymore 3- don't install shared libs (ecasound is now all-static) 4- don't depend on FreeBSD's readline anymore, use the ports' readline 5- remove commented stuff 6- remove useless runtime depends that ecasound can detect after being installed [1] note that there is still a bug here: ecasound python packages might get installed if python is indeed installed on the system, since ecasound configure routines auto-detect python and I have no way of turning this off... :( NB: this patch should apply on recent ports, but I can submit a shar if it doesn't. diff -ru /usr/ports/audio/ecasound/Makefile ecasound/Makefile --- /usr/ports/audio/ecasound/Makefile Wed May 14 18:08:53 2003 +++ ecasound/Makefile Tue May 13 22:51:03 2003 @@ -2,39 +2,22 @@ # Date created: 22 dec 2000 # Whom: The Anarcat <anarcat@anarcat.dyndns.org> # -# $FreeBSD: ports/audio/ecasound/Makefile,v 1.13 2003/05/06 07:02:47 kris Exp $ +# $FreeBSD: ports/audio/ecasound/Makefile,v 1.12 2003/04/06 00:04:59 arved Exp $ # PORTNAME= ecasound -PORTVERSION= 2.2.2 +PORTVERSION= 2.2.3 CATEGORIES= audio MASTER_SITES= http://ecasound.seul.org/download/ MAINTAINER= anarcat@anarcat.ath.cx COMMENT= Multitrack audio processing software -BROKEN= "Does not compile" - USE_GMAKE= yes -USE_AUTOMAKE_VER=14 USE_LIBTOOL= yes -INSTALLS_SHLIB= yes -CONFIGURE_ARGS+= --enable-sys-readline MAKE_ENV+= ${CONFIGURE_ENV} -.if defined(WITH_MPG123) -RUN_DEPENDS+= mpg123:${PORTSDIR}/audio/mpg123 -.endif - -.if defined(WITH_LAME) -RUN_DEPENDS+= lame:${PORTSDIR}/audio/lame -.endif - -.if defined(WITH_MIKMOD) -RUN_DEPENDS+= mikmod:${PORTSDIR}/audio/mikmod -.endif - .if defined(WITH_AUDIOFILE) # very crappy hack to detect audiofile properly CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include" \ @@ -46,13 +29,13 @@ CONFIGURE_ARGS+= --disable-audiofile .endif -#.if defined(WITH_PYECASOUND) -#USE_PYTHON= yes -#PLIST_SUB+= WITH_PYECASOUND="" -#.else -CONFIGURE_ARGS+= --disable-pyecasound +.if defined(WITH_PYECASOUND) +USE_PYTHON= yes +PLIST_SUB+= WITH_PYECASOUND="" +CONFIGURE_ARGS+= --enable-pyecasound +.else PLIST_SUB+= WITH_PYECASOUND="@comment " -#.endif +.endif .if !defined(WITH_OPTIMIZED_CFLAGS) EXTRA_PATCHES+= ${FILESDIR}/extra-patch-configure.in-optimizations @@ -76,9 +59,5 @@ .if !defined(WITH_OPTIMIZED_CFLAGS) @${PERL} -pi -e 's!-O2 -ffast-math!!' ${WRKSRC}/kvutils/Makefile.am .endif - -# strip ${PREFIX}/bin/ecaconvert ${PREFIX}/bin/ecafixdc \ -#${PREFIX}/bin/ecanormalize ${PREFIX}/bin/ecaplay ${PREFIX}/bin/ecasignalview \ -#${PREFIX}/bin/ecasound ${PREFIX}/bin/ecasound-config ${PREFIX}/bin/ecasoundc-config .include <bsd.port.mk> diff -ru /usr/ports/audio/ecasound/distinfo ecasound/distinfo --- /usr/ports/audio/ecasound/distinfo Sat Apr 5 20:24:51 2003 +++ ecasound/distinfo Tue May 13 20:23:37 2003 @@ -1 +1 @@ -MD5 (ecasound-2.2.2.tar.gz) = f40a2ea2cabf8b0cbd3663d522f74918 +MD5 (ecasound-2.2.3.tar.gz) = 40a3f0213c30b18e1b4e7879faa6b454 Only in /usr/ports/audio/ecasound/files: patch-ecasound::eca-curses.cpp -- Advertisers, not governments, are the primary censors of media content in the United States today. - C. Edwin Baker http://www.ad-mad.co.uk/quotes/freespeech.htm
Just a note: this is important, the patch on eca-curses *must* be remove in order to fix the build on both 4.x and 5.x. A. On Wed May 14, 2003 at 06:38:17PM -0400, The Anarcat wrote: > > Only in /usr/ports/audio/ecasound/files: patch-ecasound::eca-curses.cpp -- Nothing incites to money-crimes like great poverty or great wealth. - Mark Twain
This does not work for me: checking whether ln -s works... yes ./ltconfig: Can't open ./ltconfig: No such file or direct configure: error: libtool configure failed gmake: *** [config.status] Error 1 *** Error code 2 Stop in /usr/home/tilman/ports/ecasound.
I got the same error. On 19 May, Tilman Linneweh wrote: > This does not work for me: > > checking whether ln -s works... yes > ./ltconfig: Can't open ./ltconfig: No such file or direct > configure: error: libtool configure failed > gmake: *** [config.status] Error 1 > *** Error code 2 > > Stop in /usr/home/tilman/ports/ecasound.
[Kris, I cc this to you so you don't kill ecasound yet.. :) ] Yet another attempt at trying to fix this... Sorry again for the delay.. This does a few things: 1- upgrade to 2.2.3 (again) 2- import patches to disable python dependencies (while ecasound should technically use python, it can live without it and I'd rather cut down on dependencies while fixing the port) 3- fix the build errors and use the readline code packaged with ecasound so we don't get out of sync I hope this is the last one of those attempts :( Please note the removed and added (attached) files. diff -ur ./Makefile /usr/ecasound.private/Makefile --- ./Makefile Tue May 6 03:02:47 2003 +++ /usr/ecasound.private/Makefile Sat Jun 21 15:14:05 2003 @@ -6,21 +6,18 @@ # PORTNAME= ecasound -PORTVERSION= 2.2.2 +PORTVERSION= 2.2.3 CATEGORIES= audio MASTER_SITES= http://ecasound.seul.org/download/ MAINTAINER= anarcat@anarcat.ath.cx COMMENT= Multitrack audio processing software -BROKEN= "Does not compile" - USE_GMAKE= yes USE_AUTOMAKE_VER=14 USE_LIBTOOL= yes INSTALLS_SHLIB= yes -CONFIGURE_ARGS+= --enable-sys-readline MAKE_ENV+= ${CONFIGURE_ENV} .if defined(WITH_MPG123) diff -ur ./distinfo /usr/ecasound.private/distinfo --- ./distinfo Sat Apr 5 19:04:59 2003 +++ /usr/ecasound.private/distinfo Sat Jun 21 15:14:20 2003 @@ -1 +1 @@ -MD5 (ecasound-2.2.2.tar.gz) = f40a2ea2cabf8b0cbd3663d522f74918 +MD5 (ecasound-2.2.3.tar.gz) = 40a3f0213c30b18e1b4e7879faa6b454 Only in /usr/ecasound.private/files: patch-configure Only in /usr/ecasound.private/files: patch-configure.in Only in ./files: patch-ecasound::eca-curses.cpp Only in /usr/ecasound.private/files: patch-pyecasound::Makefile.am thanks for your patience everyone A. -- Advertisers, not governments, are the primary censors of media content in the United States today. - C. Edwin Baker http://www.ad-mad.co.uk/quotes/freespeech.htm
Hi Antoine, patch-configure looks uneccessary, since the configure is regenerated from configure.in, right? regards tilman
Well no... I don't regen configure since I haven't setup the port to use autoconf, but I guess I should... Maybe it would "just work" by adding USE_AUTOCONF in there... On Sun Jun 22, 2003 at 09:00:19PM +0200, Tilman Linneweh wrote: > Hi Antoine, > > patch-configure looks uneccessary, since the configure is regenerated from > configure.in, right? -- L'ennui avec la grande famille humaine, c'est que tout le monde veut en être le père. - Mafalda
* The Anarcat [Sun, 22 Jun 2003 15:30:20 -0400]: > Well no... I don't regen configure since I haven't setup the port to > use autoconf, but I guess I should... > > Maybe it would "just work" by adding USE_AUTOCONF in there... USE_AUTOMAKE implies USE_AUTOCONF
On Sun Jun 22, 2003 at 10:11:19PM +0200, Tilman Linneweh wrote: > * The Anarcat [Sun, 22 Jun 2003 15:30:20 -0400]: > > > Well no... I don't regen configure since I haven't setup the port to > > use autoconf, but I guess I should... > > > > Maybe it would "just work" by adding USE_AUTOCONF in there... > > USE_AUTOMAKE implies USE_AUTOCONF Doh! Then I guess the patch-configure file is unecessary then. A. -- Advertisers, not governments, are the primary censors of media content in the United States today. - C. Edwin Baker http://www.ad-mad.co.uk/quotes/freespeech.htm
On Sun Jun 22, 2003 at 10:11:19PM +0200, Tilman Linneweh wrote: > * The Anarcat [Sun, 22 Jun 2003 15:30:20 -0400]: > > > Well no... I don't regen configure since I haven't setup the port to > > use autoconf, but I guess I should... > > > > Maybe it would "just work" by adding USE_AUTOCONF in there... > > USE_AUTOMAKE implies USE_AUTOCONF Yet another attempt... This time, without the configure patch, and with a -N diff. :) Note that the two extra patches I'm throwing in there come from ecasound's CVS so they will have to be removed on next release. I just tested this on 5.x again and it works as well as without the configure patch. A. diff -Nru /usr/ports/audio/ecasound/Makefile ./Makefile --- /usr/ports/audio/ecasound/Makefile Tue May 6 03:02:47 2003 +++ ./Makefile Sun Jun 22 16:16:59 2003 @@ -6,21 +6,18 @@ # PORTNAME= ecasound -PORTVERSION= 2.2.2 +PORTVERSION= 2.2.3 CATEGORIES= audio MASTER_SITES= http://ecasound.seul.org/download/ MAINTAINER= anarcat@anarcat.ath.cx COMMENT= Multitrack audio processing software -BROKEN= "Does not compile" - USE_GMAKE= yes USE_AUTOMAKE_VER=14 USE_LIBTOOL= yes INSTALLS_SHLIB= yes -CONFIGURE_ARGS+= --enable-sys-readline MAKE_ENV+= ${CONFIGURE_ENV} .if defined(WITH_MPG123) diff -Nru /usr/ports/audio/ecasound/distinfo ./distinfo --- /usr/ports/audio/ecasound/distinfo Sat Apr 5 19:04:59 2003 +++ ./distinfo Sun Jun 22 16:19:46 2003 @@ -1 +1 @@ -MD5 (ecasound-2.2.2.tar.gz) = f40a2ea2cabf8b0cbd3663d522f74918 +MD5 (ecasound-2.2.3.tar.gz) = 40a3f0213c30b18e1b4e7879faa6b454 diff -Nru /usr/ports/audio/ecasound/files/patch-configure.in ./files/patch-configure.in --- /usr/ports/audio/ecasound/files/patch-configure.in Wed Dec 31 19:00:00 1969 +++ ./files/patch-configure.in Sun Jun 22 16:18:47 2003 @@ -0,0 +1,237 @@ +=================================================================== +RCS file: /home/cvspsrv/cvsroot/sound/ecasound/configure.in,v +retrieving revision 1.152 +retrieving revision 1.158 +diff -u -r1.152 -r1.158 +--- configure.in 2003/04/02 20:14:10 1.152 ++++ configure.in 2003/05/30 19:28:47 1.158 +@@ -1,6 +1,6 @@ + dnl --- + dnl configure.in for ecasound +-dnl last modified: 20030402-14 ++dnl last modified: 20030530-20 + dnl + dnl Many of the tests and macros in this file have been borrowed from + dnl other GPL-lisenced packages (Alsaplayer, ALSA, SIP, PyQt, +@@ -23,7 +23,7 @@ + dnl --- + dnl Init automake + dnl --- +-AM_INIT_AUTOMAKE(ecasound, 2.2.3) ++AM_INIT_AUTOMAKE(ecasound, 2.2.4) + AM_CONFIG_HEADER(config.h) + + dnl --- +@@ -32,15 +32,17 @@ + dnl defines: LIBECASOUND_VERSION, LIBECASOUNDC_VERSION, LIBKVUTILS_VERSION + dnl --- + +-LIBECASOUND_VERSION=10 +-LIBECASOUND_VERSION_AGE=1 ++LIBECASOUND_VERSION=11 ++LIBECASOUND_VERSION_AGE=2 + LIBECASOUNDC_VERSION=1 +-LIBKVUTILS_VERSION=5 +-LIBKVUTILS_VERSION_AGE=1 ++LIBECASOUNDC_VERSION_AGE=0 ++LIBKVUTILS_VERSION=6 ++LIBKVUTILS_VERSION_AGE=2 + + AC_SUBST(LIBECASOUND_VERSION) + AC_SUBST(LIBECASOUND_VERSION_AGE) + AC_SUBST(LIBECASOUNDC_VERSION) ++AC_SUBST(LIBECASOUNDC_VERSION_AGE) + AC_SUBST(LIBKVUTILS_VERSION) + AC_SUBST(LIBKVUTILS_VERSION_AGE) + +@@ -432,39 +434,46 @@ + dnl Checks for pyecasound + dnl + dnl defines: ECA_S_PYTHON_INCLUDES, ECA_S_PYTHON_DLMODULES, +-dnl ECA_AM_COMPILE_PYECASOUND, ECA_AM_HAVE_PYTHON ++dnl ECA_AM_PYECASOUND_CEXT, ECA_AM_PYECASOUND_INSTALL + dnl -- + +-compile_pyecasound=no ++pyecasound_support=python + + AC_ARG_ENABLE(pyecasound, +- [ --enable-pyecasound Enable compilation of pyecasound (default = no)], ++ [ --enable-pyecasound Enable compilation of pyecasound (default = python)], + [ + case "$enableval" in + y | yes) +- AC_MSG_RESULT(yes) +- compile_pyecasound=yes ++ pyecasound_support=c + ;; + +- n | no) +- AC_MSG_RESULT(no) +- compile_pyecasound=no ++ n | no | none) ++ pyecasound_support=none ++ ;; ++ ++ python) ++ pyecasound_support=python ++ ;; ++ ++ c) ++ pyecasound_support=c + ;; + + *) +- AC_MSG_ERROR([Invalid parameter value for --enable-pyecasound: $enableval]) ++ pyecasound_support=python + ;; + esac + ]) + + dnl -- +-dnl Python interpreter ++dnl Python interpreter and installation prefix + + AC_PATH_PROG(PYTHONPATH,python,none) + if test x$PYTHONPATH = xnone; then +- python_support=no ++ pyecasound_support=none ++ python_install_prefix="" + else +- python_support=yes ++ python_install_prefix=`python -c "import sys; print (sys.prefix)"` + fi + + dnl -- +@@ -497,7 +506,10 @@ + if test "X$ECA_S_PYTHON_INCLUDES" = "X" + then + AC_MSG_WARN([Python.h not found]) +- compile_pyecasound=no ++ if test x${pyecasound_support} = xc; then ++ dnl -- No python headers found, cannot compile C extension ++ pyecasound_support=python ++ fi + else + AC_MSG_RESULT($ECA_S_PYTHON_INCLUDES) + fi +@@ -511,14 +523,35 @@ + + if test "X$with_python_modules" = "X" + then +- pymoddirs="/usr/local/lib /usr/lib" +- dnl -- Double-brackets to espace the real brackets +- pymoddirsmore=`python -c "import sys; print (sys.prefix + '/lib/python' + sys.version[[:3]])"` +- pymoddirs="$pymoddirs $pymoddirsmore" ++ if test x${python_install_prefix} != x${ecaprefix} -a \ ++ x${ecaprefix} != x/usr -a \ ++ x${ecaprefix} != x/usr/local ; then ++ pyecasound_support=none ++ AC_MSG_RESULT([none]) ++ if test x$PYTHONPATH != xnone; then ++ python_prefix_tmp=`python -c "import sys; print (sys.prefix + '/lib/python' + sys.version[[:3]])"` ++ else ++ python_prefix_tmp="DIR" ++ fi ++ AC_MSG_WARN([ ++ *** ++ *** Python modules won't be installed as the module install prefix does ++ *** not match ecasound's build prefix! To override, set python ++ *** module directory explicitly (for example ++ *** "--with-python-modules=${python_prefix_tmp}"). ++ *** ++ ]) ++ else ++ pymoddirs="/usr/local/lib /usr/lib" ++ dnl -- Double-brackets to espace the real brackets ++ pymoddirsmore=`python -c "import sys; print (sys.prefix + '/lib/python' + sys.version[[:3]])"` ++ pymoddirs="$pymoddirs $pymoddirsmore" ++ AC_MSG_RESULT($pymoddirs) ++ fi + else + pymoddirs=$with_python_modules ++ AC_MSG_RESULT($pymoddirs) + fi +-AC_MSG_RESULT($pymoddirs) + + dnl --- + dnl a hack to support broken debian python installs +@@ -555,9 +588,9 @@ + AC_SUBST(ECA_S_PYTHON_MODULES) + AC_SUBST(ECA_S_PYTHON_DLMODULES) + +-dnl if test x$disable_pyecasound = xyes ; then compile_pyecasound=no ; fi +-AM_CONDITIONAL(ECA_AM_COMPILE_PYECASOUND, test x$compile_pyecasound = xyes) +-AM_CONDITIONAL(ECA_AM_HAVE_PYTHON, test x$python_support = xyes) ++dnl if test x$disable_pyecasound = xyes ; then pyecasound_support=no ; fi ++AM_CONDITIONAL(ECA_AM_PYECASOUND_CEXT, test x$pyecasound_support = xc) ++AM_CONDITIONAL(ECA_AM_PYECASOUND_INSTALL, test x$pyecasound_support != xnone) + + dnl ------------------------------------------------------------------ + +@@ -621,12 +654,12 @@ + case "$enableval" in + y | yes) + AC_MSG_RESULT(yes) +- termcap_library=yes ++ termcap_library=ncurses + ;; + + n | no) + AC_MSG_RESULT(no) +- termcap_library=no ++ termcap_library=none + ;; + + *) +@@ -788,8 +821,14 @@ + [AC_CHECK_HEADER(readline/history.h,, + AC_MSG_ERROR([*** readline history headers not installed ***]))]) + +- AC_CHECK_LIB(readline, main,, AC_MSG_ERROR([*** readline support not installed ***])) +- AC_CHECK_LIB(history, main,, AC_MSG_ERROR([*** readline history support not installed ***])) ++ if test x${termcap_library} = xnone; then ++ readline_extra_libs=""; ++ else ++ readline_extra_libs="-l${termcap_library}" ++ fi ++ ++ AC_CHECK_LIB(readline, main, readline_library="-lreadline", AC_MSG_ERROR([*** readline support not installed ***]), ${readline_extra_libs}) ++ AC_CHECK_LIB(history, main, readline_library="${readline_library} -lhistory", AC_MSG_ERROR([*** readline history support not installed ***]), ${readline_extra_libs}) + AC_SUBST(ECA_S_READLINE_INCLUDES) + else + AC_CONFIG_SUBDIRS(readline-4.0) +@@ -865,6 +904,9 @@ + AC_CHECK_FUNCS(sched_getparam) + AC_CHECK_FUNCS(sched_getscheduler) + AC_CHECK_FUNCS(sched_setscheduler) ++AC_CHECK_FUNCS(pthread_self) ++AC_CHECK_FUNCS(pthread_getschedparam) ++AC_CHECK_FUNCS(pthread_setschedparam) + AC_CHECK_FUNCS(sigprocmask) + AC_CHECK_FUNCS(sigwait) + +@@ -943,8 +985,12 @@ + echo "Following packages are now configured:" + echo "ecasound: yes (ecasound,libecasound,libecasoundc)" + echo "ecatools: yes" +-if test x$compile_pyecasound = xyes ; then +- echo "pyecasound: yes" ++if test x$pyecasound_support != xnone ; then ++ if test x$pyecasound_support = xc ; then ++ echo "pyecasound: yes (as Python C extension module)" ++ else ++ echo "pyecasound: yes (as native Python module)" ++ fi + else + echo "pyecasound: no" + fi +@@ -1011,7 +1057,7 @@ + echo "-----------------------------------------------------------------" + echo "Following directories are used:" + echo "Directory prefix: "$ECA_S_PREFIX +-if test x$compile_pyecasound = xyes ; then ++if test x$pyecasound_support != xnone ; then + echo "Python include dir: "$ECA_S_PYTHON_INCLUDES + echo "Python module dir: "$ECA_S_PYTHON_MODULES + fi diff -Nru /usr/ports/audio/ecasound/files/patch-ecasound::eca-curses.cpp ./files/patch-ecasound::eca-curses.cpp --- /usr/ports/audio/ecasound/files/patch-ecasound::eca-curses.cpp Sat Apr 5 19:04:59 2003 +++ ./files/patch-ecasound::eca-curses.cpp Wed Dec 31 19:00:00 1969 @@ -1,26 +0,0 @@ ---- ecasound/eca-curses.cpp.orig Thu Apr 3 19:52:32 2003 -+++ ecasound/eca-curses.cpp Thu Apr 3 19:54:32 2003 -@@ -114,11 +114,7 @@ - rl_readline_name = "ecasound"; - - /* we want to attempt completion first */ --#if RL_READLINE_VERSION >= 0x0402 - rl_attempted_completion_function = (rl_completion_func_t*)ecasound_completion; --#else -- Advertisers, not governments, are the primary censors of media content in the United States today. - C. Edwin Baker http://www.ad-mad.co.uk/quotes/freespeech.htm
State Changed From-To: open->closed The port was update to 2.2.3, Thanks for reporting