[plt-scheme] Problems installing on cygwin
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'