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

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

Subject: Re: [ecasound] Porting ecasound to FreeBSD 4.2 (take 2)
From: Kai Vehmanen (kaiv@wakkanet.fi)
Date: Wed Dec 20 2000 - 11:19:17 EET


On Tue, 19 Dec 2000, Anarcat wrote:

> c++ -O2 -D_REENTRANT -DNDEBUG -ffast-math -fstrict-aliasing -funroll-loops -pthread -o ecasound eca-text.o textdebug.o -lncurses -L../libecasound/.libs -lecasound -L../kvutils/.libs -lkvutils -lhistory -lreadline -lc_r -lm
> ../libecasound/.libs/libecasound.so: warning: tmpnam() possibly used unsafely; consider using mkstemp()
> /usr/lib/libc.so.4: WARNING! setkey(3) not present in the system!
> /usr/lib/libc.so.4: warning: this program uses gets(), which is unsafe.
> /usr/lib/libc.so.4: warning: mktemp() possibly used unsafely; consider using mkstemp()
> /usr/lib/libc.so.4: WARNING! des_setkey(3) not present in the system!
> /usr/lib/libc.so.4: WARNING! encrypt(3) not present in the system!
> /usr/lib/libc.so.4: warning: this program uses f_prealloc(), which is stupid.
> /usr/lib/libc.so.4: WARNING! des_cipher(3) not present in the system!
> /usr/lib/libc.so.4: warning: tempnam() possibly used unsafely; consider using mkstemp()
> ../libecasound/.libs/libecasound.so: undefined reference to `mlockall'

Hmm, this is curious. The mlockall(2) man page says "Conforming to
POSIX.1b, SVr4. SVr4 documents an additional EAGAIN error code.".
But I guess for the moment, you can just use dirty tricks to get around
the problem, ie. in libecasound/eca-session.cpp, comment the following
section out:

// if (::mlockall (MCL_CURRENT|MCL_FUTURE)) {
// ecadebug->msg("(eca-session) Warning! Couldn't lock all memory!");
// }
// else
// ecadebug->msg(ECA_DEBUG::system_objects, "(eca-session) Memory locked!");

... doesn't affect normal operation (code is triggered only when -r is
specified).

> I find a lot of these messages confusing, as some are from libc.so! I
> can understand that libc warns about uses of gets(), mktemp(),

Yup, replaceing all *tmp() variants with stemp() on my todo-list.
gets() is a weird one, as I don't remember using it anywhere. I guess
some of the libraries used by ecasound use it.

> I might have to check with fbsd people about these messages from
> libc. They're weird. I never saw these elsewhere than when compiling
> ecasound... There has to be something not nice done in there. :)

Ok, if you get some info, I'd be interested to hear it also...

> This is the result of a make in the source dir, without cleaning
> it. And, by the way, on FreeBSD, the standard Make is BSD make, and
> not GNU Make. And, of course, using bsd make breaks things:
[...]
> So it might just be a good idea to put a little message
> like: "Remember to use GNU Make, often installed as gmake". Some put
> it at the end of their configure script.

Uhm, on the other hand, the same set of restrictions applies all apps
using the GNU autoconf-automake-libtool combination. But I guess a
warning wouldn't hurt. It's just that this might confuse some Linux
folks ("gmake? but it doesn't work on my system, where can I get it?
:)).

-- 
 . http://www.eca.cx ... [ audio software for linux ] /\ . 
 . http://www.eca.cx/sculpscape [ my armchair-tunes mp3/ra/wav ]

-- 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 : Wed Dec 20 2000 - 10:33:13 EET