This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Redefinition of `struct in6_addr'?


On Wed, Apr 24, 2013 at 6:15 PM, Max Balduino
>> On Apr 24 17:34, Max Balduino wrote:
>>> Dear all,
>>>
>>> Looks like there's something wrong here:
>>>
>>> userwinemt@ioxp /usr/src/vpnc-0.5.2
>>> $ make install
>>> LC_ALL=C perl -w ./enum2debug.pl isakmp.h >vpnc-debug.c 2>vpnc-debug.h
>>> gcc -O3 -g -W -Wall -Wmissing-declarations -Wwrite-strings
>>> -DVERSION=\"0.5.2\"   -c -o sysdep.o sysdep.c
>>> In file included from /usr/include/cygwin/in.h:267,
>>>                  from /usr/include/netinet/in.h:14,
>>>                  from sysdep.h:23,
>>>                  from sysdep.c:71:
>>> /usr/include/cygwin/in6.h:76: error: redefinition of `struct in6_addr'
>>>
>>> I'm compiling vpnc-0.5.2 on a fresh cygwin environment, just
>>> downloaded from stable distribution. I'm using gcc version 3.4.4
>>> (cygming special, gdc 0.12, using dmd 0.125). I've googled for it and
>>> found a post reading "Problems with latest cygwin + latest sources"
>>> that claims for the same error.
>>>
>>> Anybody has seen this before or has a quick workaround, please?
>>
>> - You are not using the right mailing list for this kind of question.
>>   Use the cygwin AT cygwin DOT com list instead.
>>
>> - You're using an old and outdated compiler.  Install the gcc4 package
>>   instead.
>>
>> - You're missing to paste the entire error message.  Gcc usually prints
>>   where the clashing definition is defined, too.  But maybe that's just
>>   in gcc 4.x.
>>
>> - Last but not least, a simple testcase would be helpful.
>>
>> Without that I can only guess: The file includes winsock.h because
>> it wrongly treats Cygwin as Windows environment.  Don't do that.
>>
>>
>> Corinna
>>
>> --
>> Corinna Vinschen                  Please, send mails regarding Cygwin to
>> Cygwin Maintainer                 cygwin AT cygwin DOT com
>> Red Hat
>
> First of all thanks a *LOT* for your quick answer!
>
> OK, sorry for having used the wrong mail-list! I re-compiled under gcc
> version 4.5.3 (GCC) getting same result.
>
> I'm trying to compile an app, that's why I was posting on cygwin-apps
> AT cygwin DOT com. You can find it at
> http://www.unix-ag.uni-kl.de/~massar/vpnc/ it's a cisco-compatible vpn
> client.
>
> I'm not sure what did you mean "a simple testcase would be helpful"?
> If it's the piece of code, then Here it is:
>
> from sysdep.h:
>
> <code>
> #ifndef __SYSDEP_H__
> #define __SYSDEP_H__
>
> /*
>  * Different systems define different macros.
>  * For vpnc, this list should be used as
>  * reference:
>  *
>  * __linux__
>  * __NetBSD__
>  * __OpenBSD__
>  * __FreeBSD__
>  * __DragonFly__
>  * __APPLE__      Darwin / MacOS X
>  * __sun__        SunOS / Solaris
>  * __CYGWIN__
>  * __SKYOS__
>  *
>  */
>
> #include <sys/types.h>
> #include <sys/socket.h>
> #include <netinet/in.h>
>
> #if !defined(__CYGWIN__)
> #include <net/if.h>
> #include <net/if_arp.h>
> #include <netinet/if_ether.h>
> #endif
>
> #include "config.h"
>
> int tun_open(char *dev, enum if_mode_enum mode);
> int tun_close(int fd, char *dev);
> int tun_write(int fd, unsigned char *buf, int len);
> int tun_read(int fd, unsigned char *buf, int len);
> int tun_get_hwaddr(int fd, char *dev, uint8_t *hwaddr);
>
> /***************************************************************************/
> #if defined(__linux__) || defined(__GLIBC__)
> #include <error.h>
>
> #define HAVE_VASPRINTF 1
> #define HAVE_ASPRINTF  1
> #define HAVE_ERROR     1
> #define HAVE_GETLINE   1
> #define HAVE_UNSETENV  1
> #define HAVE_SETENV    1
> #endif
> ...
> </code>
>
> As of the complete gcc error dump, here it also is:
>
> userwinemt@ioxp /usr/src/vpnc-0.5.3
> $ make install
> gcc -O3 -g -W -Wall -Wmissing-declarations -Wwrite-strings
> -DVERSION=\"0.5.3\"   -c -o sysdep.o sysdep.c
> In file included from /usr/include/cygwin/in.h:267:0,
>                  from /usr/include/netinet/in.h:14,
>                  from sysdep.h:23,
>                  from sysdep.c:71:
> /usr/include/cygwin/in6.h:75:8: error: redefinition of ‘struct in6_addr’
> /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../include/w32api/in6addr.h:17:16:
> note: originally defined here
> In file included from sysdep.h:31:0,
>                  from sysdep.c:71:
> config.h:131:83: warning: ‘struct debug_strings’ declared inside parameter list
> config.h:131:83: warning: its scope is only this definition or
> declaration, which is probably not what you want
> sysdep.c: In function ‘search_if’:
> sysdep.c:216:4: warning: pointer targets in passing argument 5 of
> ‘RegQueryValueExA’ differ in signedness
> /usr/include/w32api/winreg.h:183:25: note: expected ‘LPBYTE’ but
> argument is of type ‘char *’
> sysdep.c: In function ‘tun_open’:
> sysdep.c:392:4: warning: pointer targets in passing argument 5 of
> ‘RegQueryValueExA’ differ in signedness
> /usr/include/w32api/winreg.h:183:25: note: expected ‘LPBYTE’ but
> argument is of type ‘char *’
> sysdep.c:400:4: warning: pointer targets in passing argument 5 of
> ‘RegQueryValueExA’ differ in signedness
> /usr/include/w32api/winreg.h:183:25: note: expected ‘LPBYTE’ but
> argument is of type ‘char *’
> <builtin>: recipe for target `sysdep.o' failed
> make: *** [sysdep.o] Error 1
>
> As I told, this is not my own code. I could check if it compiles on
> debian Wheezy, if you think it's worth...
>
> BR,
> Max.


OK, I'm moving the thread in the right mailing list... Something I
forgot to mention is that I'm on XP Pro 64 bits, could that be of some
influence?

I tried to compile with x86_64-w64-mingw32-gcc, but then I get a lot
of missing libraries...

I'll more than appreciate any help! :-)

BR,
Max.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]