Re: Installing xinetd on Irix 6.5.18f

From: Thomas Jahns (Thomas.Jahns_at_epost.de)
Date: 02/24/04


Date: 24 Feb 2004 16:11:14 +0100

trevor@pleasant.net (Trevor Cullingsworth) writes:
> Hi Thomas,
>
> Thanks for your response. Here is what I think is the pertinent
> information for troubleshooting the compile that was taken from
> config.log:
>
> configure:5605: checking rpc/pmap_clnt.h usability
> configure:5618: gcc -c -g -O2 conftest.c >&5
> In file included from configure:5682:
> /usr/include/rpc/pmap_clnt.h:66: error: parse error before "pmap_set"
> /usr/include/rpc/pmap_clnt.h:67: error: parse error before
> "pmap_unset"
> /usr/include/rpc/pmap_clnt.h:68: error: parse error before
> "pmap_unset2"
> /usr/include/rpc/pmap_clnt.h:99: error: parse error before "xdrproc_t"
> /usr/include/rpc/pmap_clnt.h:102: error: parse error before
> "xdrproc_t"
> /usr/include/rpc/pmap_clnt.h:103: error: parse error before ')' token
> /usr/include/rpc/pmap_clnt.h:105: error: parse error before
> "xdrproc_t"
> /usr/include/rpc/pmap_clnt.h:106: error: parse error before ')' token
> /usr/include/rpc/pmap_clnt.h:108: error: parse error before

[...]

As far as I can see the compilation of any line containing rpc types
fails. This is because to include rpc/pmap_clnt.h, rpc/types.h needs to be
included first. On Linux rpc/pmap_clnt.h itself includes rpc/types.h
for you so we know where the problem comes from.

> configure:5621: $? = 1
> configure: failed program was:

[...]

> | /* end confdefs.h. */
> | #include <stdio.h>
> | #if HAVE_SYS_TYPES_H
> | # include <sys/types.h>
> | #endif
> | #if HAVE_SYS_STAT_H
> | # include <sys/stat.h>
> | #endif
> | #if STDC_HEADERS
> | # include <stdlib.h>
> | # include <stddef.h>
> | #else
> | # if HAVE_STDLIB_H
> | # include <stdlib.h>
> | # endif
> | #endif
> | #if HAVE_STRING_H
> | # if !STDC_HEADERS && HAVE_MEMORY_H
> | # include <memory.h>
> | # endif
> | # include <string.h>
> | #endif
> | #if HAVE_STRINGS_H
> | # include <strings.h>
> | #endif
> | #if HAVE_INTTYPES_H
> | # include <inttypes.h>
> | #else
> | # if HAVE_STDINT_H
> | # include <stdint.h>
> | # endif
> | #endif
> | #if HAVE_UNISTD_H
> | # include <unistd.h>
> | #endif
> | #include <rpc/pmap_clnt.h>

See? No #include <rpc/types.h>.

> configure:5637: result: no
> configure:5641: checking rpc/pmap_clnt.h presence
> configure:5652: gcc -E conftest.c
> configure:5658: $? = 0
> configure:5677: result: yes
> configure:5697: WARNING: rpc/pmap_clnt.h: present but cannot be
> compiled
> configure:5699: WARNING: rpc/pmap_clnt.h: check for missing
> prerequisite headers?
> configure:5701: WARNING: rpc/pmap_clnt.h: proceeding with the
> preprocessor's result
> configure:5713: checking for rpc/pmap_clnt.h
> configure:5720: result: yes

You will need to change the configure.in makro that is
responsible for this check. That can be tough work if you are not
familiar with autconf, but don't be afraid. Install autoconf from
freeware.sgi.com.

After I have now downloaded the xinetd source I see configure.in line 43:

AC_CHECK_HEADER(rpc/pmap_clnt.h, [AC_DEFINE(HAVE_RPC_PMAP_CLNT_H)])

you will need to correct this to something like:

AC_CHECK_HEADER([rpc/pmap_clnt.h],
  [AC_DEFINE([HAVE_RPC_PMAP_CLNT_H])],
  [#include <rpc/types.h>
  ])

Then run autoconf in the xinetd source directory. In my case (Indy
R4400, IRIX 6.5.19m) configure then processed fine.

But running gmake was no instant pleasure: changed xinetd/signals.c
as follows:

--- /usr/tmp/signals.c Tue Feb 24 16:09:25 2004
+++ xinetd/signals.c Tue Feb 24 16:08:11 2004
@@ -12,7 +12,9 @@
 #endif
 #include <sys/types.h>
 #include <sys/time.h>
+#define _SGIAPI 1
 #include <signal.h>
+#define sys_siglist _sys_siglist
 #include <syslog.h>
 #include <errno.h>
 #include <string.h>

Also I needed GNU make to process the Makefile generated by configure.

> Sorry for the lengthy post. Looking at the errors above I am not sure
> which headers pmap_clnt.h needs.

It seems to me everything's fine now. But as I have no intention to
use xinetd I haven't tried running it.

Thomas Jahns

-- 
"Computers are good at following instructions,
 but not at reading your mind."
D. E. Knuth, The TeXbook, Addison-Wesley 1984, 1986, 1996, p. 9


Relevant Pages

  • Re: Add name to combo box
    ... After carefully reading your response, ... Editor) open, click on Debug> Compile ProjectName, where ProjectName is the ... Dim db As DAO.Database ... Response = acDataErrContinue ...
    (microsoft.public.access.modulesdaovba)
  • Re: Add name to combo box
    ... Editor) open, click on Debug> Compile ProjectName, where ProjectName is the ... (NewData As String, Response As Integer) ... Dim db As DAO.Database ...
    (microsoft.public.access.modulesdaovba)
  • Re: satellite assemblies in ASP.NET 2.0
    ... Your solution will work but it does not lend ... itself to to easily adding a directory and resource dll after compile ... will keep on searching but thanks for the response. ... >Store the resources in an class library and compile them and add a reference ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Compiling for a different architecture?
    ... > Thomas> are willing to compile for. ... > Thomas> resulting binaries in differrent directories. ... then you can't install a new world ...
    (comp.unix.bsd.freebsd.misc)
  • Migrating batch app to web app
    ... We've got the Excelsior Jet product, ... compile the CLASSes and create the .EXE for it. ... and produce a response for the submitter. ... in it (with the API help files), but the web stuff I'm just starting ...
    (comp.lang.java.programmer)