This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: struct passwd problem : running on XP
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 16 Jan 2007 11:29:18 +0100
- Subject: Re: struct passwd problem : running on XP
- References: <loom.20070116T095321-153@post.gmane.org>
- Reply-to: cygwin at cygwin dot com
On Jan 16 08:53, DEMARCHE wrote:
> Here is the history ; Gcc compiled correctly my program with default options.
> "gcc -c mqutils.c ".
> I wanted to have my program independant of the Cygwin environment using -mno-
> cygwin option. "gcc -mno-cygwin -c mqutils.c ". My aim was to deploy my program
> onto Windows Operating system wihtout cygwin installed.
>
> Here is the result :
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> gcc -mno-cygwin -g -I. -I"/cygdrive/c/Program Files/IBM/WebSphere
> MQ/Tools/c/include" -c mqutils.c
> In file included from mqutils.c:34:
> /usr/include/pwd.h:53: error: parse error before "uid_t"
> /usr/include/pwd.h:53: warning: no semicolon at end of struct or union
> /usr/include/pwd.h:54: warning: data definition has no type or storage class
> /usr/include/pwd.h:59: error: parse error before '}' token
> /usr/include/pwd.h:62: warning: parameter names (without types) in function
> declaration
> /usr/include/pwd.h:66: error: parse error before "struct"
> mqutils.c: In function `PutMsg':
> mqutils.c:106: error: dereferencing pointer to incomplete type
> make: *** [mqutils.o] Error 1
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
> Here is my program :
> line 100 if(strlen(userId) == 0) {
> line 101 struct passwd *pwd;
> line 102
> line 103 memset(userId, 0, sizeof(userId));
> line 104 pwd = getpwuid(getuid());
> line 105 if(pwd)
> line 106 strcpy(userId, pwd->pw_name);
> line 107 }
> line 108
>
>
> I hope these information will help you.
Your header files seem to be broken. The above error is generated
because it can't find the definition for uid_t which is available in
cygwin/types.h, which is included automatically by pwd.h through
including sys/type.h. Somehow your header files are mixed up.
gcc -E might be helpful. Do you have a fresh Cygwin install?
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/