[plt-scheme] Problems installing on cygwin

From: nanothief (nanothief at gmail.com)
Date: Wed Jun 27 01:55:33 EDT 2007

I've attempted to install mzscheme onto cygwin, but during the make 
install phase, I keep getting errors.
To configure I used ./configure --prefix=/usr/local/plt --enable-shared
Build command: make --unix && make install --unix

The errors I am having start with the lines beginning with 3 asterisks. 
They describe the linkers inability to find a library file, but the last 
file checked is the library file needed. I know I have -liconv 
installed, and -lmzgc I assume refers to a library made by the make 
process. I am using gcc version 3.4.4, and the source is from the file 
mz-370-src-unix.tgz

make install output:

make install-cgc
make[1]: Entering directory `/usr/src/mz-370/src'
make install-common-first
make[2]: Entering directory `/usr/src/mz-370/src'
mkdir -p "/usr/local/plt/bin" "/usr/local/plt/lib/plt/collects" 
"/usr/local/plt/share/plt/doc" "/usr/local/plt/lib" 
"/usr/local/plt/include/plt" "/usr/local/plt/lib/plt" "/usr/local/plt/man"
make[2]: Leaving directory `/usr/src/mz-370/src'
cd mzscheme; make install-cgc
make[2]: Entering directory `/usr/src/mz-370/src/mzscheme'
make headers
make[3]: Entering directory `/usr/src/mz-370/src/mzscheme'
./mzschemecgc -qr ./mkincludes.ss "/usr/local/plt/include/plt" "." .
Making /usr/local/plt/include/plt
Done.
make[3]: Leaving directory `/usr/src/mz-370/src/mzscheme'
make unix-cygwin-install
make[3]: Entering directory `/usr/src/mz-370/src/mzscheme'
make unix-install
make[4]: Entering directory `/usr/src/mz-370/src/mzscheme'
cd ..; rm -f "/usr/local/plt/bin/mzscheme"
cd ..; rm -f "/usr/local/plt/bin/mzscheme3m"
cd ..; cp mzscheme/starter "/usr/local/plt/lib/plt/starter"
cd ..; echo 'CC=/usr/src/mz-370/src/lt/libtool --mode=compile gcc' > 
"/usr/local/plt/lib/plt/buildinfo"
cd ..; echo 'CFLAGS=-g -O2   -Wall' >> "/usr/local/plt/lib/plt/buildinfo"
cd ..; echo 'OPTIONS=' >> "/usr/local/plt/lib/plt/buildinfo"
cd ..; echo 'MZOPTIONS= -DMZ_USES_SHARED_LIB' >> 
"/usr/local/plt/lib/plt/buildinfo"
cd ..; echo "LDFLAGS=" >> "/usr/local/plt/lib/plt/buildinfo"
cd ..; echo 'LIBS=-ldl -lm  -liconv ' >> "/usr/local/plt/lib/plt/buildinfo"
make[4]: Leaving directory `/usr/src/mz-370/src/mzscheme'
cd dynsrc; make cygwin-install-core
make[4]: Entering directory `/usr/src/mz-370/src/mzscheme/dynsrc'
gcc -c ./init.cc
gcc -c ./fixup.c
cp ./mzdyn.def mzdynx.def
dlltool --def mzdynx.def --output-exp mzdyn.exp
cd ../..; mkdir -p /usr/local/plt/lib/plt/gcc
cd ../..; cp mzscheme/dynsrc/mzdynx.def /usr/local/plt/lib/plt/gcc/mzdyn.def
cd ../..; cp mzscheme/dynsrc/init.o /usr/local/plt/lib/plt/gcc
cd ../..; cp mzscheme/dynsrc/fixup.o /usr/local/plt/lib/plt/gcc
make[4]: Leaving directory `/usr/src/mz-370/src/mzscheme/dynsrc'
make[3]: Leaving directory `/usr/src/mz-370/src/mzscheme'
make unix-cygwin-install-cgc
make[3]: Entering directory `/usr/src/mz-370/src/mzscheme'
make unix-install-cgc
make[4]: Entering directory `/usr/src/mz-370/src/mzscheme'
cd ..; /usr/src/mz-370/src/lt/libtool --mode=install cp 
mzscheme/libmzgc.la "/usr/local/plt/lib/libmzgc.la"
cp mzscheme/.libs/libmzgc.dll.a /usr/local/plt/lib/libmzgc.dll.a
base_file=`basename ${file}`
 dlpath=`/bin/sh 2>&1 -c '. mzscheme/.libs/'${base_file}'i;echo $dlname'`
 dldir=/usr/local/plt/lib/`dirname $dlpath`
 test -d $dldir || mkdir -p $dldir
 cp mzscheme/.libs/cygmzgc-370.dll $dldir/cygmzgc-370.dll
cp mzscheme/.libs/libmzgc.lai /usr/local/plt/lib/libmzgc.la
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/plt/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
cd ..; /usr/src/mz-370/src/lt/libtool --mode=install cp 
mzscheme/libmzscheme.la "/usr/local/plt/lib/libmzscheme.la"
(cd /usr/src/mz-370/src/mzscheme; /bin/sh /usr/src/mz-370/src/lt/libtool 
--mode=relink gcc -no-undefined -release 370 -rpath /usr/local/plt/lib 
-o libmzscheme.la src/bignum.lo src/bool.lo src/builtin.lo src/char.lo 
src/complex.lo src/dynext.lo src/env.lo src/error.lo src/eval.lo 
src/file.lo src/fun.lo src/gmp.lo src/hash.lo src/image.lo src/jit.lo 
src/list.lo src/module.lo src/network.lo src/numarith.lo src/number.lo 
src/numcomp.lo src/numstr.lo src/port.lo src/portfun.lo src/print.lo 
src/rational.lo src/read.lo src/regexp.lo src/salloc.lo src/sema.lo 
src/setjmpup.lo src/string.lo src/struct.lo src/stxobj.lo src/symbol.lo 
src/syntax.lo src/thread.lo src/type.lo src/vector.lo 
../foreign/foreign.lo ../foreign/gcc/libffi/libffi_convenience.la 
libmzgc.la -liconv )

*** Warning: linker path does not have real file for library -lmzgc.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libmzgc and none of the candidates passed a file format test
*** using a file magic. Last file checked: ./libmzgc.la

*** Warning: linker path does not have real file for library -liconv.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libiconv and none of the candidates passed a file format test
*** using a file magic. Last file checked: /usr/lib/libiconv.la
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.

*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
rm -fr .libs/libmzscheme.lax
mkdir .libs/libmzscheme.lax
rm -fr .libs/libmzscheme.lax/libffi_convenience.a
mkdir .libs/libmzscheme.lax/libffi_convenience.a
(cd .libs/libmzscheme.lax/libffi_convenience.a && ar x 
/usr/src/mz-370/src/mzscheme/../foreign/gcc/libffi/.libs/libffi_convenience.a)
make[4]: Leaving directory `/usr/src/mz-370/src/mzscheme'
make[3]: Leaving directory `/usr/src/mz-370/src/mzscheme'
make[2]: Leaving directory `/usr/src/mz-370/src/mzscheme'
make[1]: Leaving directory `/usr/src/mz-370/src'



Posted on the users mailing list.