MC runs on QNX Neutrino


I have successfully compiled MC on QNX Neutrino.

Few notes about the process:

Only very recent config.guess and config.sub know about QNX Neutrino.
Which means that they need to be updated in every project you are trying
to compile. MC already includes the latest versions of those files, but it
cannot be said about glib.

glib has a bug in the configure script. It erroneously sets NO_FD_SET in
config.h. This define should be removed from config.h after running
configure and before running make.

MC uses __QNX__ in preprocessor directives. However, QNX Neutrino is much
closer to POSIX that to the old QNX. I'll fix those directives to use
defined(__QNX__) || !defined(__QNXNTO__), but to compile it I simply put
#undef __QNX__ to config.h.

telldir() and seekdir() are missing on QNX. They are used in vfs/local.c.
I had to remove them. In fact, I don't see where they are used. I believe
that they shouldn't be in the VFS library - they are emulated on virtual
filesystems anyways, and now it turns out that they are not quite portable
even on the localfs. Another solution would be to emulate telldir() and
seekdir() on localfs, but it's ugly.

socketpair() is missing on QNX Neutrino. Background execution support
relies on that function (see src/background.c), however, it is not
disabled it HAVE_SOCKETPAIR is not defined. I'm going to unset
WITH_BACKGROUND if HAVE_SOCKETPAIR is unset, unless I find a replacement
implementation of socketpair().

I also compiled bash-2.05. In this case I had to edit config.status to
remove "-Dqnx -F -3s" and "-3s -lunix" from it. But the subshell doesn't
work in MC. In fact, it hangs unless I specify "-u".

Please note that I don't distribute binaries. If anybody can give me web
or ftp space to put my binaries on I'll gladly do it, but please don't ask
me to send them individually by e-mail.

Pavel Roskin

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