cygport i686/x86 library build undefined type in sys/stat.h
Ken Brown
kbrown@cornell.edu
Sat May 15 13:36:47 GMT 2021
On 5/15/2021 12:16 AM, Brian Inglis wrote:
> Trying to build latest libssh2 1.9.0 using cygport, works under x86_64,
> but under i686/x86 fails with:
>
> In file included from */usr/i686-pc-cygwin/include/sys/stat.h*:22,
> from ...:
> /usr/include/cygwin/stat.h:27:3: error: unknown type name ‘timestruc_t’
> 27 | timestruc_t st_atim;
> | ^~~~~~~~~~~
>
> The equivalent include path to */usr/i686-pc-cygwin/include/sys/stat.h*
> does not exist under 64 bit as /usr/x86_64-pc-cygwin/include,
> and cygcheck -f does not come up with a hit.
>
> The only obvious work around the timeframe of these files appears to be a
> local test newlib-cygwin build and install for format_proc_cpuinfo and
> format_proc_swaps testing:
It looks like something went wrong with the install of your test build. In
particular, the headers went to the wrong place.
> $ head -v /proc/version
> ==> /proc/version <==
> CYGWIN_NT-10.0-19042-WOW64 version 3.2.1-340.i686 (...@...) (gcc version 10.2.0
> (GCC) ) 2021-04-30 12:55 UTC
>
> Has anyone any idea, from seeing anything similar happen on their installs,
> where this directory and these files may have come from,
> what may have installed them, and whether it is likely to be safe to
> rename or remove them?
Not only is it safe, but I would say it's mandatory. You should also look for
other remnants of your test install and remove them. In general, I think it's a
bad idea to do test installs in the same Cygwin installation that you use for
building packages.
Ken
More information about the Cygwin
mailing list