[ecasound] Porting ecasound to FreeBSD 4.2 (take 2)

New Message Reply Date view Thread view Subject view Author view Other groups

Subject: [ecasound] Porting ecasound to FreeBSD 4.2 (take 2)
From: Anarcat (beaupran@IRO.UMontreal.CA)
Date: Tue Dec 19 2000 - 06:18:42 EET

Hello everyone.

I took me a while to realise I did not mentionned that I was not
subscribed to the list. So I just got your reply to my initial
mail. I'll go over this mail and then expose my attempt to port
ecasound-1.8.5d15 to FreeBSD 4.2-stable.

> On Thu, 19 Oct 2000, Antoine Beaupre wrote:
> > I'm trying to port ecasound 1.8.2r14 to FreeBSD. I have succeeded in
> > compiling ecasound in itself, but only after a few hacks. Here are the
> > modifications I made to the dist in order to have it compile on FreeBSD:
> Great, thanks for the patches! I know a few people have tried
> ecasound on FreeBSD before, but they haven't had the energy to solve
> all issues. But it seems that you've done just this. Last week I
> also received a report that ecasound was succesfully running on
> Solarix 2.6. So although slowly, ecasound is getting more portable
> all the time.

If you give me a hand, I'll stick with you and make it work out
completely for FBSD.
> > Yay. But I do not like the text interface. Also, I'm curious about the
> Any suggestions for improvement? ;)

Not really. It was more something like "I don't like a text interface
for sound manipulations" type of thing. :) The interface in itself
seems to be very good, on the contrary.

Well, in fact, there *would* be something. I (as a new/dumb user) am
disoriented by the usage message displayed when starting ecasound as
just "ecasound". I think it should go interactive right there, with an
help message. I could also be nice to have some kind of reference
there on all the commands documented in the man pages. Even if it's
just a small listing.


cs-edit this:
-b:1024 -sr:44100 -n:test -i:/dev/dsp


(eca-chainsetup) Setting buffersize to (samples) 1024.
(eca-chainsetup) Setting internal sample rate to: 44100
(eca-chainsetup) Setting chainsetup name to "test".
(eca-controller) Selected chainsetup: "test".
(eca-controller) Loaded chainsetup from file "/var/tmp/tmp.0.M47429.ecs".
ecasound ('h' for help)> -i:/dev/audio
Segmentation fault (core dumped)

Yay. Examining:

(gdb) bt
#0 0x0 in ?? ()
#1 0x281ce922 in ECA_AUDIO_OBJECTS::interpret_audioio_device ()
   from /usr/local/lib/libecasound.so.6
#2 0x28170737 in ECA_CHAINSETUP::interpret_options ()
   from /usr/local/lib/libecasound.so.6
#3 0x2818576e in ECA_CONTROL::action () from /usr/local/lib/libecasound.so.6
#4 0x28184655 in ECA_CONTROL::direct_command ()
   from /usr/local/lib/libecasound.so.6
#5 0x28182dea in ECA_CONTROL::command () from /usr/local/lib/libecasound.so.6
#6 0x804cf10 in start_iactive_readline ()
#7 0x804b8ee in main ()
#8 0x804b2f9 in _start ()

I would have to recompile with debugging symbols, but only if you tell
me it's worth it (and how to do it, d$/&*$mn libtool :).

> [ecawave]
> > checking for libecasound... checking for main in -lecasound... no
> > configure: error: ** libecasound not installed/found **
> What version of ecawave?

Trying with ecawave 0.3.3d3.
> > /usr/libexec/elf/ld: cannot find -lecasound
> Have you run /sbin/ldconfig to create the symbolic links (so that
> link /usr/local/lib/libecasound.so exists).

$ ls -l /usr/local/lib/libecas*
-rw-r--r-- 1 root wheel 5247154 Oct 19 12:59 /usr/local/lib/libecasound.a
-rwxr-xr-x 1 root wheel 736 Oct 19 12:59 /usr/local/lib/libecasound.la
lrwxr-xr-x 1 root wheel 16 Oct 19 12:59 /usr/local/lib/libecasound.so -> libecasound.so.6
-rwxr-xr-x 1 root wheel 2011268 Oct 19 12:59 /usr/local/lib/libecasound.so.6
$ # Everything seems fine here...
$ ldconfig -r |grep eca
        122:-lgnomecanvaspixbuf.1 => /usr/X11R6/lib/libgnomecanvaspixbuf.so.1
        258:-lecasound.6 => /usr/local/lib/libecasound.so.6
$ # but not here!

I don't know why "-lecasound" is not in there itself... But looking at
other libs, I don't think this is really a problem. It should link
just fine. And anyways, doesn't ecasound need this to run _at all_??

> > I don't understand. There are also strange things happening during
> > ecasound's compilation. When linking:
> [...]
> > ../libecasound/.libs/libecasound.so: warning: tmpnam() possibly used
> > unsafely; consider using mkstemp()
> Hmm, theses shouldn't be too critical. Ecasound uses tmpnam() only in a
> few places.
> It might also be a security issue (tmpnam() potentially dangerous, so
> compiler wants to warn about it).

FBSD has a nice tendency of being parano´d on that matter. :)

As a side note, I am now try to port ecasound-1.8.5d15 to FreeBSD

$ ./configure --enable-sys-readline --prefix=/u/an_temp

(I also tried with --with-gnu-ld)

Problem 1:

In the file libecasound/eca-object-map.cpp:23 , the #include <regex.h>
directive is used without the necessary #include <sys/types.h>. (man
regex(3): http://www.freebsd.org/cgi/man.cgi?regex).

Problem 2 (linking, again):

This time I really can't tell. I don't know libtool at all and it
gives me headaches. The error is:

      /usr/libexec/elf/ld: cannot find -lecasound

,again. :)

Curiously, there *could* be no way of locating ecasound now since no
ldconfig has been made and its path is not specified on the command

However, please note that I have *not* removed the ecasound-1.8.2r14
libraries that were successfully installed ('was hard enough.. :).

That about the farther I can go for now...

[The end of the compilation output:

Making all in libecasoundc
/bin/sh ../libtool --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../libecasound -D_THREAD_SAFE -O2 -D_REENTRANT -DNDEBUG -ffast-math -fstrict-aliasing -funroll-loops -pthread -c ecasoundc.cpp
mkdir .libs
c++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../libecasound -D_THREAD_SAFE -O2 -D_REENTRANT -DNDEBUG -ffast-math -fstrict-aliasing -funroll-loops -pthread -c -fPIC -DPIC ecasoundc.cpp -o .libs/ecasoundc.lo
c++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../libecasound -D_THREAD_SAFE -O2 -D_REENTRANT -DNDEBUG -ffast-math -fstrict-aliasing -funroll-loops -pthread -c ecasoundc.cpp -o ecasoundc.o >/dev/null 2>&1
mv -f .libs/ecasoundc.lo ecasoundc.lo
/bin/sh ../libtool --mode=link c++ -O2 -D_REENTRANT -DNDEBUG -ffast-math -fstrict-aliasing -funroll-loops -pthread -o libecasoundc.la -rpath /u/an_temp/lib -export-dynamic -s -version-info 0:0:0 ecasoundc.lo -lecasound -L../kvutils/.libs -lkvutils -lhistory -lreadline -lc_r -lm
rm -fr .libs/libecasoundc.la .libs/libecasoundc.* .libs/libecasoundc.*
c++ -shared ecasoundc.lo -lecasound -L../kvutils/.libs -lkvutils -lhistory -lreadline -lc_r -lm -lc -Wl,-soname -Wl,libecasoundc.so.0 -o .libs/libecasoundc.so.0
/usr/libexec/elf/ld: cannot find -lecasound]

Thanks for any help. Please to forget to CC: me personnally as I am
not on the list...


To unsubscribe send message 'unsubscribe' in the body of the
message to <ecasound-list-request@wakkanet.fi>.

New Message Reply Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Dec 19 2000 - 06:25:11 EET