Subject: Re: Re: FVWM: Can't install on solaris

From: "Reto Buchli" <[email-masked]>
Date: Thu, 21 Aug 2003 19:43:01 +0200

[email-masked] schrieb am 21.08.03 19:27:44:
> 
> "Reto Buchli" <[email-masked]> writes:
> > Dan Espen <[email-masked]> schrieb am 21.08.03 18:21:37:
> > > 
> > > "Reto Buchli" <[email-masked]> writes:
> > > > Dan Espen <[email-masked]> schrieb am 21.08.03 16:11:16:
> > > > > 
> > > > > "Reto Buchli" <[email-masked]> writes:
> > > > > > Hi,
> > > > > > I'd like to use fvwm instead of CDE on a SunBlade with Solaris 5.9
> > > > > > This worked fine with 5.8, but now when I run
> > > > > > ./configure --prefix=/usr
> > > > > > 
> > > > > > I get the following:
> > > > > > .
> > > > > > checking for sig_atomic_t... yes
> > > > > > checking for function prototypes... yes
> > > > > > checking whether setvbuf arguments are reversed... no
> > > > > > checking for select... yes
> > > > > > checking for unistd.h... (cached) yes
> > > > > > checking for sys/types.h... (cached) yes
> > > > > > checking for sys/time.h... (cached) yes
> > > > > > checking for sys/select.h... (cached) yes
> > > > > > checking sys/socket.h usability... no
> > > > > > checking sys/socket.h presence... yes
> > > > > > configure: WARNING: sys/socket.h: present but cannot be compiled
> > > > > > configure: WARNING: sys/socket.h: check for missing prerequisite head
> > > > > > configure: WARNING: sys/socket.h: proceeding with the preprocessor's 
> > > > > > configure: WARNING:     ## ------------------------------------ ##
> > > > > > configure: WARNING:     ## Report this to [email-masked]. ##
> > > > > > configure: WARNING:     ## ------------------------------------ ##
> > > > > > checking for sys/socket.h... yes
> > > > > > checking argument types of select()... configure: error: can't determ
> > > > > With autoconf 2.13 it builds without problems.
> > > > Thank's for the answer, but  if I try autoconf 2.13 I get the same error 
> > > > as with 2.57.
> > > 
> > > Respond to [email-masked].
> > Sorry about that.
> > > 
> > > Time for more information.
> > > 
> > > I'm configured to use gcc, I can try cc if that's what you are using.
> > I have both, but when I see it correct, I'ts using gcc. 
> > It states it finds gnu c. I'm not sure how to say which one it uses really.
> > 
> > > 
> > > Did you remove config-cache?
> > Yes, I did.
> > > 
> > > Are you using a snapshot or CVS?
> > Just the ordinary download function, no CVS.
> 
> Hmm, works on my Solaris 9 system, but not yours, using the
> same autoconf and compiler...
> 
> Either you are missing a Solaris patch or ...
> 
> I'm pretty sure you will see details on the problem its having
> with sys/socket.h in config.log.  Maybe you should look at that.

Yes, but I'm not able to find a solution. I found the following two errors (and more of the first one) in config.log
----
configure:13483: checking sys/socket.h usability
configure:13496: gcc -c -g -O2 -Wall -Wno-implicit-int  conftest.c >&5
In file included from /usr/include/netinet/in.h:41,
                 from /usr/include/sys/socket.h:203,
                 from configure:13605:
/usr/include/sys/stream.h:307: syntax error before "projid_t"
configure:13499: $? = 1
configure: failed program was:
| #line 13485 "configure"
| /* confdefs.h.  */

----

| #include <sys/socket.h>
configure:13515: result: no
configure:13519: checking sys/socket.h presence
configure:13530: gcc -E  conftest.c
configure:13536: $? = 0
configure:13555: result: yes
configure:13575: WARNING: sys/socket.h: present but cannot be compiled
configure:13577: WARNING: sys/socket.h: check for missing prerequisite headers?
configure:13579: WARNING: sys/socket.h: proceeding with the preprocessor's result
configure:13591: checking for sys/socket.h
configure:13598: result: yes
configure:13611: checking argument types of select()
configure:13655: gcc -c -g -O2 -Wall -Wno-implicit-int  conftest.c >&5
In file included from /usr/include/netinet/in.h:41,
                 from /usr/include/sys/socket.h:203,
                 from configure:13722:
/usr/include/sys/stream.h:307: syntax error before "projid_t"
configure:13658: $? = 1
configure: failed program was:
| #line 13622 "configure"
| /* confdefs.h.  */

Do you know a solution? My patches are from yesterday, so they should be ok.

Thanks. Reto
> 
> -- 
> Dan Espen                           E-mail: [email-masked]
> --
> Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
> To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
> message to [email-masked].
> To report problems, send mail to [email-masked].

__________________________________________________________________________
Die sicherste Form der Kommunikation: E-Mails verschluesseln, Spam-Filter,
Adressverifizierung, digitale Unterschrift: http://freemail.web.de

--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Dan Espen <[email-masked]>
Date: Thu, 21 Aug 2003 14:03:31 -0400

"Reto Buchli" <[email-masked]> writes:
> > > > > > > configure: WARNING: sys/socket.h: check for missing prerequisite 
> > > > > > > configure: WARNING: sys/socket.h: proceeding with the preprocesso
> > > > > > > configure: WARNING:     ## ------------------------------------ #
> > > > > > > configure: WARNING:     ## Report this to [email-masked]. #
> > > > > > > configure: WARNING:     ## ------------------------------------ #
> > > > > > > checking argument types of select()... configure: error: can't de
> > > > > Thank's for the answer, but  if I try autoconf 2.13 I get the same er
> > > > > as with 2.57.
> > > > 

"projid_t" should be typedefd as an "id_t" in sys/types.h
like this:

typedef id_t    projid_t;

In the same file "id_t" should be defined like this:

#if defined(_LP64) || defined(_I32LPx)
typedef uint_t nlink_t;                 /* file link type       */
typedef int     pid_t;                  /* process id type      */
#else
typedef ulong_t nlink_t;                /* (historical version) */
typedef long    pid_t;                  /* (historical version) */
#endif

You might have to create a test module and compile with -E to verify
that sys/types.h is getting included.

If you can be root, you can just go into
/usr/include/sys/stream.h and change projid_t to an int to verify
thats the problem.  Change it back when done.