[Ecls-list] Re: Ecls-list digest, Vol 1 #462 - 6 msgs

karol skocik karol.skocik at gmail.com
Tue Jun 14 16:51:00 UTC 2005


Hi,

  from the problem here :

> >the user system where the application runs must not depend on cygwin,
> >and now i actually dont know how to build it without that. it would be
> >great to have a makefile which works the same way as the makefile for
> >microsoft's compiler, but i dont want to use that.
> >
> You can install Cygwin and Mingw32 side by side. Just make sure that
> neither PATH nor other environment variables point to either of them. To
> build ECL, do it from the Msys terminal, which sets all variables right.
> 
> Regards,
> 
> Juanjo

i have installed MSys, everything went ok until this appears :

mkdir .libs
libtool: link: warning: undefined symbols not allowed in
i686-pc-mingw32 shared libraries
rm -fr .libs/libgc.la .libs/libgc.* .libs/libgc.*
ar cru .libs/libgc.a  allchblk.o alloc.o blacklst.o checksums.o
dbg_mlc.o dyn_load.o finalize.o gc_dlopen.o gcj_mlc.o headers.o
aix_irix_threads.o malloc.o mallocx.o mark.o mark_rts.o misc.o
new_hblk.o obj_map.o os_dep.o pcr_interface.o ptr_chck.o real_malloc.o
reclaim.o solaris_pthreads.o solaris_threads.o specific.o stubborn.o
typd_mlc.o backgraph.o win32_threads.o pthread_support.o
pthread_stop_world.o darwin_stop_world.o mach_dep.o
ranlib .libs/libgc.a
creating libgc.la
(cd .libs && rm -f libgc.la && ln -s ../libgc.la libgc.la)
make[4]: Entering directory `/d/ecl/build/gc'
/bin/sh /d/ecl/src/gc/mkinstalldirs /d/ecl/build
 /bin/sh ./libtool --mode=install /bin/install -c  libgc.la
/d/ecl/build/libgc.la
/bin/install -c .libs/libgc.lai /d/ecl/build/libgc.la
/bin/install -c .libs/libgc.a /d/ecl/build/libgc.a
ranlib /d/ecl/build/libgc.a
chmod 644 /d/ecl/build/libgc.a
----------------------------------------------------------------------
Libraries have been installed in:
   /d/ecl/build

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.
----------------------------------------------------------------------
/bin/sh /d/ecl/src/gc/mkinstalldirs /d/ecl/build/h
 /bin/install -c -m 644 /d/ecl/src/gc/include/gc.h /d/ecl/build/h/gc.h
 /bin/install -c -m 644 /d/ecl/src/gc/include/gc_local_alloc.h
/d/ecl/build/h/gc_local_alloc.h
 /bin/install -c -m 644 /d/ecl/src/gc/include/gc_pthread_redirects.h
/d/ecl/build/h/gc_pthread_redirects.h
 /bin/install -c -m 644 /d/ecl/src/gc/include/gc_config_macros.h
/d/ecl/build/h/gc_config_macros.h
 /bin/install -c -m 644 /d/ecl/src/gc/include/leak_detector.h
/d/ecl/build/h/leak_detector.h
 /bin/install -c -m 644 /d/ecl/src/gc/include/gc_typed.h
/d/ecl/build/h/gc_typed.h
make[4]: Leaving directory `/d/ecl/build/gc'
make[3]: Leaving directory `/d/ecl/build/gc'
make[2]: Leaving directory `/d/ecl/build/gc'
cd c; make
make[2]: Entering directory `/d/ecl/build/c'
sed 's,__declspec(dllimport),,g' /d/ecl/src/h/external.h > external.h
if test -f ../CROSS-DPP ; then ../CROSS-DPP /d/ecl/src/c/main.d main.c
; else ./dpp.exe /d/ecl/src/c/main.d main.c ; fi
dpp: d:/ecl/src/c/main.d -> main.c

Unknown symbol: mp::*current-process*

Unknown symbol: mp::+load-compile-lock+

Unknown symbol: mp::+load-compile-lock+

Unknown symbol: si::*record-source-pathname-p*
gcc -c -I./ -I/d/ecl/src/c -I/d/ecl/src/h -I../h  -I../include -g -O2 
-fstrict-aliasing -Dmingw32  -o main.o main.c
if test -f ../CROSS-DPP ; then ../CROSS-DPP /d/ecl/src/c/symbol.d
symbol.c ; else ./dpp.exe /d/ecl/src/c/symbol.d symbol.c ; fi
dpp: d:/ecl/src/c/symbol.d -> symbol.c
gcc -c -I./ -I/d/ecl/src/c -I/d/ecl/src/h -I../h  -I../include -g -O2 
-fstrict-aliasing -Dmingw32  -o symbol.o symbol.c
if test -f ../CROSS-DPP ; then ../CROSS-DPP /d/ecl/src/c/package.d
package.c ; else ./dpp.exe /d/ecl/src/c/package.d package.c ; fi
dpp: d:/ecl/src/c/package.d -> package.c
gcc -c -I./ -I/d/ecl/src/c -I/d/ecl/src/h -I../h  -I../include -g -O2 
-fstrict-aliasing -Dmingw32  -o package.o package.c
d:/ecl/src/c/package.d: In function `cl_make_package':
d:/ecl/src/c/package.d:730: error: initializer element is not constant
d:/ecl/src/c/package.d:730: error: (near initialization for `KEYS[0]')
d:/ecl/src/c/package.d:730: error: initializer element is not constant
d:/ecl/src/c/package.d:730: error: (near initialization for `KEYS[1]')
make[2]: *** [package.o] Error 1
rm main.c symbol.c package.c
make[2]: Leaving directory `/d/ecl/build/c'
make[1]: *** [libeclmin.a] Error 2
make[1]: Leaving directory `/d/ecl/build'
make: *** [all] Error 2

---- what to do? it previously complained about this : 

/bin/sh /d/ecl/src/gc/mkinstalldirs /d/ecl/build/h
 /bin/install -c -m 644 /d/ecl/src/gc/include/gc.h /d/ecl/build/h/gc.h
 /bin/install -c -m 644 /d/ecl/src/gc/include/gc_local_alloc.h
/d/ecl/build/h/gc_local_alloc.h
 /bin/install -c -m 644 /d/ecl/src/gc/include/gc_pthread_redirects.h
/d/ecl/build/h/gc_pthread_redirects.h
 /bin/install -c -m 644 /d/ecl/src/gc/include/gc_config_macros.h
/d/ecl/build/h/gc_config_macros.h
 /bin/install -c -m 644 /d/ecl/src/gc/include/leak_detector.h
/d/ecl/build/h/leak_detector.h
 /bin/install -c -m 644 /d/ecl/src/gc/include/gc_typed.h
/d/ecl/build/h/gc_typed.h
make[4]: Leaving directory `/d/ecl/build/gc'
make[3]: Leaving directory `/d/ecl/build/gc'
make[2]: Leaving directory `/d/ecl/build/gc'
sed -e 's, at ecldir@,d:/ecl/build-mingw32/lib/ecl,g' < lsp/config.pre >
lsp/config.lsp
cd c; make
make[2]: Entering directory `/d/ecl/build/c'
cat /d/ecl/src/c/symbols_list.h | \
sed -e 's%{\([A-Z ]*.*".*"\),[^,]*,[ ]*NULL,.*}%{\1,NULL}%g' \
    -e 's%{\([A-Z ]*.*".*"\),[^,]*,[ ]*\([^,]*\),.*}%{\1,"\2"}%g' \
    -e 's%{NULL.*%{NULL,NULL}};%' > symbols_list2.h
if test -f ../CROSS-DPP; then touch dpp; else \
gcc -I../include -g -O2  -fstrict-aliasing -Dmingw32 -I../h -I./
-I/d/ecl/src/h  /d/ecl/src/c/dpp.c  -o dpp.exe ; \
fi
d:/ecl/src/c/dpp.c:76:27: symbols_list2.h: No such file or directory
d:/ecl/src/c/dpp.c: In function `search_keyword':
d:/ecl/src/c/dpp.c:229: error: `cl_symbols' undeclared (first use in
this function)
d:/ecl/src/c/dpp.c:229: error: (Each undeclared identifier is reported only once
d:/ecl/src/c/dpp.c:229: error: for each function it appears in.)
d:/ecl/src/c/dpp.c: In function `search_symbol':
d:/ecl/src/c/dpp.c:242: error: `cl_symbols' undeclared (first use in
this function)
d:/ecl/src/c/dpp.c: In function `search_function':
d:/ecl/src/c/dpp.c:288: error: `cl_symbols' undeclared (first use in
this function)
make[2]: *** [dpp.exe] Error 1
make[2]: Leaving directory `/d/ecl/build/c'
make[1]: *** [libeclmin.a] Error 2
make[1]: Leaving directory `/d/ecl/build'
make: *** [all] Error 2

but i did the sed ... manually - looks like bad path in script where
the symbols_list2.h go? then i did make clean and started again but
the error written at the beginning appeared.

anybody has some idea what could be wrong? 

thanks for your time,
  karol




More information about the ecl-devel mailing list