Subject: Re: festival (voice synth. package)
To: Richard Rauch <rauch@eecs.ukans.edu>
From: Frederick Bruckman <fb@enteract.com>
List: netbsd-help
Date: 05/27/2001 11:17:42
On Sun, 27 May 2001, Richard Rauch wrote:
> > I see. It looks like mbrola is an a.out executable. Do you, by any
> > chance, have some of the COMPAT_* options disabled in your kernel?
>
> I only have COMPAT_14 as far as prior NetBSD versions go. I had no idea
> that I was dealing with a precompiled binary. (Odd, I can't find any
> COMPAT_AOUT options in GENERIC, much less my custom kernel config---but I
> have COMPAT_14... I cannot find COMPAT_AOUT in options(4), either.
>
> So, I need COMPAT_13 and (I assume) COMPAT_AOUT added to my kernel config.
> I assume that in addition to recompiling a kernel, I'll need to install
> the ...pkgsrc/emulators/compat1{3,4} packages. Am I missing anything?
> Is there a way that mbrola can be marked as depending upon these?
I doubt it. We did that for one packge that needed a particular
emulation to _install_ it (I forgot which), but in this case, it
doesn't affect the build. We don't want to place unnecessary
requirements on the build and package stage. It would be possible to
add an INSTALL script, if you think that would help. The INSTALL
script typically isn't run at all, though, if you build from source.
Here's a start, if you want to play with that...
if ! nm /"`sysctl -n machdep.booted_kernel`" | grep -q __fstat13 ;
then echo WARNING ; fi
There isn't any good reason, in my opinion, to run a kernel without
the COMPAT_NN options (at least on a system intended for general use).
The truly naive user wouldn't be running a custom kernel anyway. It
looks like you've run into the principle, "We give you enough rope to
hang yourself"!
> I'm a little surprised that this problem shows up as an FPE. Is that a
> design feature for a.out binaries (or for trying to run them on an ELF
> NetBSD system)?
I'm sure it isn't. What else is supposed to happen, besides dump core,
when an application invokes a non-existent syscall? If you begin to
debug the core file with "gdb .../program .../...core", and give the
"bt" command, you can usually see right away what's wrong, else
kdump/ktrace really shows it.
Frederick