[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OpenBSD -current compat_linux = Bad system call?



As predicted, recompiling with SVR4 fixes my immediate problem of
Linux emulation not working, glibc seems to work fine so no need to
find libc5 files.

Now if only I can figure out how to get the jdk working .... but that's for
another thread.

---- Ken

-----Original Message-----
From: Marc Espie <Marc_(_dot_)_Espie_(_at_)_liafa_(_dot_)_jussieu_(_dot_)_fr>
To: tech_(_at_)_openbsd_(_dot_)_org <tech_(_at_)_openbsd_(_dot_)_org>
Date: Sunday, November 22, 1998 9:04 PM
Subject: Re: OpenBSD -current compat_linux = Bad system call?


>On Sun, Nov 22, 1998 at 10:54:48AM -0500, Kenneth R Westerback wrote:
>
>
>> Following the instructions in 'man compat_linux' I get to the point
>> where I have created /emul/linux/etc/ld.so.conf and I want to run
>> /emul/linux/sbin/ldconfig. However, running ldconfig gives me the
>> error message 'Bad system call' and exits without creating the
>> hints.
>
>> A 'ktrace /emul/linux/sbin/ldconfig' followed by a
>> 'kdump -e linux -f ktrace.out' gives the following output:
>>
>>  18827 ktrace   RET   brk 0
>>  18827 ktrace   CALL  oldolduname(0xefbfd86f,0xefbfd7ec,0xefbfd7f4)
>>  18827 ktrace   NAMI  "/emul/linux/sbin/ldconfig"
>>  18827 ldconfig EMUL  "svr4"
>THIS is the important line.  You're calling svr4 emulation instead of linux
>emulation.
>Your kernel is compiled with both COMPAT_SVR4 and COMPAT_LINUX in, isn't it
?
>(if it's generic it is).
>>  18827 ldconfig RET   execve 0
>>  18827 ldconfig CALL  setegid(0)
>>  18827 ldconfig RET   setegid 0
>>  18827 ldconfig CALL  getpid
>>  18827 ldconfig RET   getpid 18827/0x498b
>>  18827 ldconfig CALL  #45 (unimplemented plock)
>linux's 45 is linux_sys_brk, which is implemented.
>unimplemented plock is definitely svr4's turf.
>
>[ snipping red herrings ]
>
>> Can anyone spot what I'm doing wrong? What I'm REALLY trying to do is get
>> the jdk installed and working. If someone has specific instructions on
the
>> best way of accomplishing that, I would be extremely interested in
getting
>> them.
>
>I don't know much more about the way compatibility goes... several
>possibilities:
>- you managed to put a svr4 ldconfig binary in /emul/linux/sbin/ldconfig
>(I doubt that).
>- openbsd should be able to differentiate between linux and svr4
executables,
>but it doesn't.
>- linux and svr4 executables are undistinguishable, in which case the
kernel
>should try harder (apply other criteria ?), or GENERIC and the
documentation
>are broken.
>
>In your case, the fix should be rather easy: rebuild a kernel with
>COMPAT_LINUX and *WITHOUT* COMPAT_SVR4
>--
> Marc Espie
>|anime, sf, juggling, unicycle, acrobatics, comics...
>|AmigaOS, OpenBSD, C++, perl, Icon, PostScript...
>| `real programmers don't die, they just get out of beta'
>