Peter O'Gorman wrote: > /usr/include/stdlib.h has > int putenv(char *) __DARWIN_ALIAS(putenv); > > __DARWIN_ALIAS is defined as: > #define __DARWIN_ALIAS(sym) __asm("_" __STRING(sym) > __DARWIN_SUF_UNIX03) > > __DARWIN_SUF_UNIX03 is defined as "$UNIX2003" for 32 bit builds. > > $ grep putenv lib/config.h > /* Define to rpl_putenv if the replacement function should be used. */ > #define putenv rpl_putenv
Fortunately, most function replacements in gnulib are now done by including the original system header and then only doing the #define func rpl_func Only those replacements that use the old idiom of putting #define func rpl_func into config.h are affected. What's the extent of the problem? The following functions are using the __DARWIN_ALIAS or similar macros: dirent.h closedir opendir __opendir2 rewinddir seekdir telldir fnmatch.h fnmatch ftw.h ftw nftw getopt.h getopt pthread.h pthread_cancel pthread_cond_init pthread_cond_timedwait pthread_cond_wait pthread_join pthread_mutexattr_destroy pthread_rwlock_destroy pthread_rwlock_init pthread_rwlock_rdlock pthread_rwlock_tryrdlock pthread_rwlock_trywrlock pthread_rwlock_wrlock pthread_rwlock_unlock pthread_setcancelstate pthread_setcanceltype pthread_testcancel pthread_sigmask regex.h regcomp signal.h kill killpg pthread_sigmask sigaltstack sigpause sigsuspend sigwait stdio.h fputs freopen fwrite tempnam stdlib.h strtod strtof system initstate putenv realpath setenv setkey unsetenv string.h strerror sys/_select.h select sys/aio.h aio_suspend sys/fcntl.h open creat fcntl sys/mman.h mmap mprotect msync munmap sys/msg.h msgctl msgrcv msgsnd sys/poll.h poll sys/resource.h getrlimit setrlimit sys/select.h pselect sys/sem.h semctl sys/semaphore.h sem_wait sys/shm.h shmctl sys/socket.h accept bind connect getpeername getsockname listen recv recvfrom recvmsg send sendmsg sendto socketpair sys/stat.h chmod fchmod sys/termios.h tcdrain sys/uio.h readv writev sys/wait.h wait waitpid waitid time.h clock mktime strftime strptime nanosleep unistd.h close confstr encrypt fsync getopt lchown lockf nice pause pread pwrite read setpgrp setregid setreuid sleep ttyname_r usleep write setkey getattrlist setattrlist wchar.h wcsftime Out of these, the following are defined with #define in <config.h>: realpath mktime poll # not a problem since gnulib's poll.h does not include <poll.h> putenv regcomp # not a problem since gnulib's regex.h does not include <regex.h> strtod Can you please check these functions by doing ./gnulib-tool --test --with-tests canonicalize-lgpl mktime timegm putenv strtod ? Please show the "configure" output as well as all errors shown by "make -k". Bruno