Query of type of memcpy (and sys_errlist) on Cygwin
Tatsuro MATSUOKA
tmacchant2@yahoo.co.jp
Sun Apr 10 22:48:00 GMT 2016
> From: Hans-Bernhard Bröker
> To: cygwin@cygwin.com
> Cc:
> Date: 2016/4/10, Sun 16:10
> Subject: Re: Query of type of memcpy (and sys_errlist) on Cygwin
>
> Am 10.04.2016 um 05:14 schrieb Tatsuro MATSUOKA:
>> Hello
>> The topic was discussed on gnuplot mailing list.
>>
> http://gnuplot.10905.n7.nabble.com/stdfn-h-error-conflicting-types-for-memcopy-and-sys-errlist-on-Cygwin-build-td20061.html
>> Frorm discussion there (the topic is now pending.) ,
>> I decided ask here.
>> In compling gnuplot I have met errors:
>> ../../gnuplot/src/stdfn.h:67:8: error: conflicting types for
> 'memcpy'
>> char * memcpy __PROTO((char *, char *, size_t));
>
> Before everybody gets entirely confused, let me interject that this is quite
> certainly not an actual problem about the memcpy() declaration itself, but
> rather an extremely surprising failure of an autoconf-generated configure
> script.
>
> The configure script in question never failed like that in years of usage.
> Well, setting aside occasional, remarkably stubborn rebase problems with
> Cygwin's Perl DLLs, that is. See the thread "makeinfo causes perl
> error ? Cygwin X86 download today" from last week, also started by Tatsuro
> Matsuoka.
The zipped config.log is available here:
http://www.geocities.jp/tmacchant2/config.log.20160411.zip
Related part of config.log
configure:9591: checking for memcpy
configure:9591: gcc -o conftest.exe -g -O2 -I/usr/local/include -L/usr/local/lib -lcerf conftest.c >&5
conftest.c:86:6: warning: conflicting types for built-in function 'memcpy'
char memcpy ();
^
/usr/lib/gcc/x86_64-pc-cygwin/5.3.0/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lcerf
collect2: error: ld returned 1 exit status
configure:9591: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "gnuplot"
| #define PACKAGE_TARNAME "gnuplot"
| #define PACKAGE_VERSION "5.1"
| #define PACKAGE_STRING "gnuplot 5.1"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define DEVELOPMENT_VERSION 1
| #define PACKAGE "gnuplot"
| #define VERSION "5.1"
| #define VERSION_MAJOR "5.1"
| #define PATCHLEVEL "0"
| #define PROTOTYPES 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define __EXTENSIONS__ 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define HAVE_STRINGIZE 1
| #define HAVE_OFF_T 1
| #define HAVE_FSEEKO 1
| #define X_DISPLAY_MISSING 1
| #define STDC_HEADERS 1
| #define HAVE_DIRENT_H 1
| #define HAVE_ERRNO_H 1
| #define HAVE_FLOAT_H 1
| #define HAVE_LANGINFO_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_MATH_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_TIME_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TIMEB_H 1
| #define HAVE_SYS_UTSNAME_H 1
| #define HAVE_MALLOC_H 1
| #define HAVE_POLL_H 1
| #define HAVE_TERMIOS_H 1
| #define HAVE_DIRENT_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE__BOOL 1
| #define HAVE_STDBOOL_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_TIME_T_IN_TIME_H 1
| /* end confdefs.h. */
| /* Define memcpy to an innocuous variant, in case <limits.h> declares memcpy.
| For example, HP-UX 11i <limits.h> declares gettimeofday. */
| #define memcpy innocuous_memcpy
|
| /* System header to define __stub macros and hopefully few prototypes,
| which can conflict with char memcpy (); below.
| Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
| <limits.h> exists even on freestanding compilers. */
|
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|
| #undef memcpy
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char memcpy ();
| /* The GNU C library defines this for functions which it implements
| to always fail with ENOSYS. Some functions are actually named
| something starting with __ and the normal name is an alias. */
| #if defined __stub_memcpy || defined __stub___memcpy
| choke me
| #endif
|
| int
| main ()
| {
| return memcpy ();
| ;
| return 0;
| }
configure:9591: result: no
Tatsuro
--
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
More information about the Cygwin
mailing list