From: Markus M. <qw...@ch...> - 2005-12-30 18:40:48
|
Hi, I built make-3.18beta4 (-> ftp://alpha.gnu.org/gnu/make) both under cygwin and under mingw/msys, using basically the same commands inside cygwin's and msys' bash: --- srcroot=/c/usr/src dstroot=/c/mau/out/cyg <------ for cygwin dstroot=/c/mau/out/mss <------ for msys/mingw pkg=make-3.81beta4 src=$srcroot/$pkg dst=$dstroot/$pkg [ -d $dst ] || mkdir $dst && cd $dst $src/configure --enable-case-insensitive-file-system --disable-rpath make CFLAGS='-O3 -s' --- 100% ok for cygwin. 99% ok for msys -- the last build instruction fails: --- gcc -O3 -s -o loadavg.exe loadavg-getloadavg.o loadavg-getloadavg.o:getloadavg.c:(.text+0xd5): undefined reference to `sleep' collect2: ld returned 1 exit status make[2]: *** [loadavg.exe] Error 1 make[2]: Leaving directory `/c/mau/out/mss/make-3.81beta4' --- ... getloadavg.c unconditionally uses POSIX sleep() which comes from <unistd.h> ... but it has #ifdef HAVE_UNISTD_H #include <unistd.h> #endif. And config.h has "#define HAVE_UNISTD_H 1" ... looks like we are missing the corresponding lib during linking. Q: Is this a problem of my msys/mingw installation|usage, or a general problem of current msys/mingw ? Thanks, Markus. |