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: Query of type of memcpy (and sys_errlist) on Cygwin


> 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


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