chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] MINGW Build with make file and no MS Tools


From: Patrick Brannan
Subject: Re: [Chicken-users] MINGW Build with make file and no MS Tools
Date: Mon, 27 Feb 2006 09:32:45 -0600

Sergey,

I just reran the instructions in the read me. My console session and the output from make are attached. I think that the problem is the inclusion of posix.c intstead of posixwin.c. I believe that there will be a few others following that one.

On a separate topic. I just realized that the batch file in my readme was out of date. I will get it all together, rerun the build and send it in.

Pat

Instructions + Console Session

CURRENT MINGW BUILD FAILURE

MinGW:

Use the MSYS environment (http://www.mingw.org/msys.shtml)
available for MinGW.  This will let the installation be done
according to the UNIX instructions below.

(The BOOTSTRAP_PATH make option may be specified in a form like
C:/chicken-1.66 ... spaces in the path to the existing
CHICKEN installation will cause problems)

Sergey Khorev reported how to build Chicken under MinGW with support
      for shared libraries with some hacking involved:

1) Install MinGW and MSYS
2) Don't use rxvt (default MSYS shortcut), better run MSYS's shell using command
      sh --login -i
3) ./configure
4) edit Makefile to set BOOTSTRAP_PATH if required
5) patch libtool with
      sed -e 's/\(deplibs_check_method=\).*/\1"pass_all"/' libtool > libtool.new
      cp libtool.new libtool
(it seems that libtool tries to be too smart, giving stupid results).
6) mkdir $MINGWDIR/lib/.libs;
   cp $MINGWDIR/lib/libws2_32.a $MINGWDIR/lib/.libs/libws2_32.dll.a
   where MINGWDIR is the where MinGW is installed
7) make, make install, enjoy


  You might want to use C regular expressions package instead of the
  default one, written in Scheme.
  In this case you should download latest packages from
  http://gnuwin32.sf.net
  (either pcre-*-bin.zip, pcre-*-dep.zip, pcre-*-lib.zip
      or regex-spencer-*-bin.zip and regex-spencer-*-lib.zip).
  Unpack downloaded zip files into one directory.
  Steps 1) and 2) as above.
  3a)
  For simplicity create environment variable with its path, e.g.
      export RE_DIR=c:/Devel/pcre
  Then copy import libraries:
      cd RE_DIR/lib
      mkdir .libs
  If you use PCRE, issue
      cp libpcre.dll.a .libs
  else
      cp libregex.dll.a .libs
  Put libpcre0.dll or regex.dll somewhere to PATH
              (e.g. WINDOWS\System32)
  3b)
      CFLAGS=-I$RE_DIR/include CPPFLAGS=-I$RE_DIR/include LDFLAGS=-L$RE_DIR/lib ./configure
  Other steps like in normal MinGW build

Console Session:
$ env
...
!C:=C:\msys\1.0\bin
...
SYSTEMDRIVE=C:
WINDIR=C:\WINDOWS
$
MACHTYPE=i686-pc-msys
PROCESSOR_IDENTIFIER=x86 Family 6 Model 9 Stepping 5, GenuineIntel
OS=Windows_NT
MSYSTEM=MINGW32
PROCESSOR_ARCHITECTURE=x86
TEMP=/tmp
PROCESSOR_LEVEL=6
SYSTEMROOT=C:\WINDOWS
HOMEDRIVE=\\
MAKE_MODE=unix
SHELL=/bin/sh
HOSTTYPE=i686
SESSIONNAME=Console
OSTYPE=msys
TERM=cygwin
PATH=.:/usr/local/bin:/mingw/bin:/bin:/c/WINDOWS/system32
_=/bin/env

...
$ ./configure
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking for gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking for a BSD-compatible install... /bin/install -c
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for ld used by gcc... C:/mingw/mingw32/bin/ld.exe
checking if the linker (C:/mingw/mingw32/bin/ld.exe) is GNU ld... yes
checking for C:/mingw/mingw32/bin/ld.exe option to reload object files... -r
checking for BSD-compatible nm... /mingw/bin/nm
checking whether ln -s works... yes
checking how to recognise dependent libraries... file_magic ^x86 archive import|
^x86 DLL
checking for dlltool... dlltool
checking for as... as
checking for objdump... objdump
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... no
checking dlfcn.h presence... no
checking for dlfcn.h... no
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for gfortran... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 8192
checking command to parse /mingw/bin/nm output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag  works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT
checking if gcc PIC flag -DDLL_EXPORT works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (C:/mingw/mingw32/bin/ld.exe) supports shared li
braries... yes
checking whether -lc should be explicitly linked in... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... Win32 ld.exe
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... C:/mingw/mingw32/bin/ld.exe
checking if the linker (C:/mingw/mingw32/bin/ld.exe) is GNU ld... yes
checking whether the g++ linker (C:/mingw/mingw32/bin/ld.exe) supports shared li
braries... yes
checking for g++ option to produce PIC... -DDLL_EXPORT
checking if g++ PIC flag -DDLL_EXPORT works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (C:/mingw/mingw32/bin/ld.exe) supports shared li
braries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... Win32 ld.exe
appending configuration tag "F77" to libtool
checking for gmake... no
checking for make... make
checking whether make is GNU Make... yes
checking GCC version...
checking whether we are in a MinGW system...
checking whether __MINGW32__ is declared... yes
checking for C:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/bin/ld.ex
e/libws2_32.a... no
unknown MinGW configuration
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for unistd.h... (cached) yes
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking netinet/in.h usability... no
checking netinet/in.h presence... no
checking for netinet/in.h... no
missing header files
checking netdb.h usability... no
checking netdb.h presence... no
checking for netdb.h... no
missing header files
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking for sys/types.h... (cached) yes
checking sys/socket.h usability... no
checking sys/socket.h presence... no
checking for sys/socket.h... no
missing header files
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking pcre.h usability... no
checking pcre.h presence... no
checking for pcre.h... no
checking regex.h usability... no
checking regex.h presence... no
checking for regex.h... no
checking sysexits.h usability... no
checking sysexits.h presence... no
checking for sysexits.h... no
checking for dlfcn.h... (cached) no
checking dl.h usability... no
checking dl.h presence... no
checking for dl.h... no
checking alloca.h usability... no
checking alloca.h presence... no
checking for alloca.h... no
checking for stdint.h... (cached) yes
checking windows.h usability... yes
checking windows.h presence... yes
checking for windows.h... yes
checking grp.h usability... no
checking grp.h presence... no
checking for grp.h... no
checking ffi.h usability... no
checking ffi.h presence... no
checking for ffi.h... no
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for working alloca.h... no
checking for alloca... yes
checking return type of signal handlers... void
checking for strtod... yes
checking for strtol... yes
checking for strtoul... yes
checking for gcvt... yes
checking for pcre_compile in -lpcre... no
no PCRE regex package available
checking for regcomp... no
no POSIX regex package available
checking for regcomp in -lregex... no
no separate POSIX regex library available
checking for dlopen in -ldl... no
using pregexp
checking for ffi_prep_cif in -lffi... no
checking whether LoadLibrary is declared... yes
checking whether GetProcAddress is declared... yes
checking for shl_load in -ldld... no
checking for modf in -lm... yes
checking for t_open in -lnsl... no
checking for gethostbyname in -linet... no
checking for socket in -lsocket... no
checking for library containing nanosleep... no
checking stack growth direction... Your C stack grows downward.
checking for better CFLAGS... -Os -fno-strict-aliasing -Wall -Wno-unused -Wno-un
initialized
checking whether the linker supports -export-dynamic... yes
checking supplied nursery size... default nursery size will be determined by ben
chmark
(use NURSERY=nnnn on the make command line to set the default nursery size by ha
nd)
configure: creating ./config.status
config.status: creating chicken.spec
config.status: creating Makefile
config.status: creating chicken-config.h
config.status: executing depfiles commands

/c/working/mingw-test/chicken-2.3
$ sed -e 's/\(deplibs_check_method=\).*/\1"pass_all"/' libtool > libtool.new

/c/working/mingw-test/chicken-2.3
$ cp libtool.new libtool

/c/working/mingw-test/chicken-2.3
$ mkdir /mingw/lib/.libs/
mkdir: cannot create directory `/mingw/lib/.libs': File exists
*** I already did this so the directory and file are still present

/c/working/mingw-test/chicken-2.3
$ make > make.log 2>&1
*** The make log is attached



On 2/27/06, Sergey Khorev <address@hidden> wrote:
PB> By the way - the existing mingw installation instructions, in the readme, do
PB> not work at all.

Could you please explain what didn't work for you?

Attachment: make.log
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]