[Ecls-list] Need help compiling ECL 10.4.1 (32-bit) on Win7 64-bit via mingw32/msys

2010-10-29 Thread Paul Goins
Hi,

New to the list, so please forgive me if I've missed a thread that
covers this.

I'm trying to compile ECL 10.4.1 under Windows 7 64-bit.
Unfortunately, I'm having problems, and the Windows with
Mingw/Cygwin section of the reference guide is totally blank, so I
thought I should ask here.

(Note: already read some previous comments about 64-bit support.  I'm
just trying to build a 32-bit ECL via 32-bit MinGW, so don't worry,
I'm not barking up *that* tree.  However, the OS *is* 64-bit.)

1. I grabbed the CVS version of the Boehm GC.  Built it successfully
using ./configure  make  make install.  (7.1 failed to compile
via MSys in this way.)

2. I tried to ./configure and make ECL.  This did not pan out...

./configure --enable-threads=yes
# no problem, but did give some warnings:
#   configure: Configuring included GMP library:
#   configure: WARNING: you should use --build, --host, --target

make
# (This fails; output attached at the end)

 From here, I don't really know how to proceed.

I don't need to run 10.4.1, but I would really like to get some
version of ECL running on this system.  If anyone can advise me of
some way to get some version going, it'd really be appreciated.

Attached at the bottom is the error from running make, plus notes on
my MinGW configuration (in case it matters).

Thanks in advance.

Best Regards,
Paul Goins

--

Error in make on ECL 10.4.1:

gcc -DECLDIR=\/usr/local/lib/ecl-10.4.1\ -I. 
-Ic:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/build 
-I/c/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c -I../ecl/gc -DECL_API 
-DECL_NO_LEGACY   -g -O2   -D_THREAD_SAFE -Dmingw32 -c -o file.o tmp.c
In file included from 
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/../../../../include/unistd.h:13:0,
  from 
c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/file.d:29:
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/../../../../include/process.h:95:2: 
error: expected identifier or '(' before '{' token
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/../../../../include/process.h:95:16: 
error: expected identifier or '(' before 'void'
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/../../../../include/process.h:100:2: 
error: conflicting types for 'GC_beginthreadex'
c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/build/ecl/gc/gc.h:1049:21: 
note: previous declaration of 'GC_beginthreadex' was here
c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/file.d: In function 
'ecl_off_t_to_integer':
c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/file.d:4813:4: warning: 
right shift count = width of type
c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/file.d: In function 
'ecl_integer_to_off_t':
c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/file.d:4844:8: warning: 
left shift count = width of type
c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/file.d: In function 
'not_a_file_stream':
c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/file.d:4890:2: warning: 
function declared 'noreturn' has a 'return' statement
make[2]: *** [file.o] Error 1
make[2]: Leaving directory 
`/c/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/build/c'
make[1]: *** [libeclmin.a] Error 2
make[1]: Leaving directory 
`/c/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/build'
make: *** [all] Error 2

--

MinGW installation:

MinGW installed via mingw-get-inst-20100909.exe, using the latest
repository catalogues during installation.  All components except the
MSYS System Builder were installed.

(If there's a specific version of MinGW which is known to work, please
let me know what version and I will try it instead.)

Log:

 Pre-inst
 

 Installing:
   C Compiler
   C++ Compiler
   Fortran Compiler
   ObjC Compiler
   Ada Compiler
   MSYS Basic System
   MinGW Developer Toolkit

 Downloading latest repository catalogues

 Destination location:
   C:\MinGW

 Package download log
 

 downloading: mingwrt-3.18-mingw32-dll.tar.gz: 8122 b
 downloading: libgmp-5.0.1-1-mingw32-dll-10.tar.lzma: 159027 b
 downloading: libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma: 44 b
 downloading: libpthread-2.8.0-3-mingw32-dll-2.tar.lzma: 20862 b
 downloading: pthreads-w32-2.8.0-3-mingw32-dev.tar.lzma: 13727 b
 downloading: libgomp-4.5.0-1-mingw32-dll-1.tar.lzma: 17170 b
 downloading: libmpc-0.8.1-1-mingw32-dll-2.tar.lzma: 24146 b
 downloading: libssp-4.5.0-1-mingw32-dll-0.tar.lzma: 15900 b
 downloading: libgcc-4.5.0-1-mingw32-dll-1.tar.lzma: 41185 b
 downloading: w32api-3.15-1-mingw32-dev.tar.lzma: 1128210 b
 downloading: mingwrt-3.18-mingw32-dev.tar.gz: 568649 b
 downloading: binutils-2.20.51-1-mingw32-bin.tar.lzma: 3097316 b
 downloading: libexpat-2.0.1-1-mingw32-dll-1.tar.gz: 62787 b

Re: [Ecls-list] Need help compiling ECL 10.4.1 (32-bit) on Win7 64-bit via mingw32/msys

2010-10-29 Thread Paul Goins
Hello,

On 10/30/2010 5:24 AM, Gabriel Dos Reis wrote:
  On Fri, Oct 29, 2010 at 12:48 PM, Paul Goinsgene...@vultaire.net  wrote:
  Info: resolving _GC_dont_gc by linking to __imp__GC_dont_gc (auto-import)
  Info: resolving _GC_oom_fn by linking to __imp__GC_oom_fn (auto-import)
  Info: resolving _GC_no_dls by linking to __imp__GC_no_dls (auto-import)
  Info: resolving _GC_all_interior_pointers by linking to
  __imp__GC_all_interior_pointers (auto-import)
  Info: resolving _GC_time_limit by linking to __imp__GC_time_limit
  (auto-import)
  Info: resolving _GC_push_other_roots by linking to
  __imp__GC_push_other_roots (auto-import)
  Info: resolving _GC_start_call_back by linking to __imp__GC_start_call_back
  (auto-import)
  Info: resolving _GC_java_finalization by linking to
  __imp__GC_java_finalization (auto-import)
  Info: resolving _GC_print_stats by linking to __imp__GC_print_stats
  (auto-importc:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ld.exe:
  warning: auto-importing has been activated without --enable-auto-import
  specified on the command line.
  This should work unless it involves constant data structures referencing
  symbols from auto-imported DLLs.
  libeclmin.a(threads.o): In function `ecl_import_current_thread':
  c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/threads.d:248:
  undefined reference to `GC_register_my_thread'
  libeclmin.a(threads.o): In function `mp_process_enable':
  c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/threads.d:408:
  undefined reference to `gc_createthr...@24'
  libeclmin.a(threads.o): In function `ecl_release_current_thread':
  c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/threads.d:280:
  undefined reference to `GC_unregister_my_thread)
 
  It sounds as if tECL is able to pick up the GC library but only a few
  symbols are missing.  When you configured, did ECL really report
  that it was building a 32-bit program?

I logged the configure... it looks like it.  Things do look slightly
different between the GC configure and the ECL configure though;
namely that ECL has the target as pentium3 and Boehm as i686.

ECL:

Switching to directory `build' to continue configuration.
checking build system type... pentium3-pc-mingw32
checking host system type... pentium3-pc-mingw32
[...]
checking for architecture... PENTIUM3
checking for software type... mingw32 /
[...]
[...]
using ABI=32
   CC=gcc 
   CFLAGS=-g -O2  
   CPPFLAGS=-I/usr/local/include
   MPN_PATH= x86/p6/p3mmx x86/p6/mmx x86/p6 x86 generic

Boehm GC:

checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking target system type... i686-pc-mingw32

I can send the full configure logs from both if desired; I have them
saved.

- Paul

--
Nokia and ATT present the 2010 Calling All Innovators-North America contest
Create new apps  games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
___
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list


Re: [Ecls-list] Need help compiling ECL 10.4.1 (32-bit) on Win7 64-bit via mingw32/msys

2010-10-30 Thread Paul Goins
I've looked into things a bit further here.  Perhaps now it's not
problems with ECL per se, but with compiling the Boehm GC.

   On Fri, Oct 29, 2010 at 12:48 PM, Paul Goinsgene...@vultaire.net   wrote:
   libeclmin.a(threads.o): In function `ecl_import_current_thread':
   c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/threads.d:248:
   undefined reference to `GC_register_my_thread'
   libeclmin.a(threads.o): In function `mp_process_enable':
   c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/threads.d:408:
   undefined reference to `gc_createthr...@24'
   libeclmin.a(threads.o): In function `ecl_release_current_thread':
   c:/Users/Vultaire/Desktop/pauls_stuff/ecl-10.4.1/src/c/threads.d:280:
   undefined reference to `GC_unregister_my_thread)

The above are all threading related symbols.  A straight ./configure
on the Boehm GC build doesn't enable thread support.  Unfortunately,
./configure --enable-threads=win32 also seems not to work; I can
compile, but the symbols are non-existant.


**For those who don't want to read the reset of this log, my
   question is: has anyone got the Boehm GC compiled and working with
   ECL via MinGW, and if so, how exactly did you pull it off?**


More details:

The above symbols should be compiled into win32_threads.o, but nm
shows this:


$ nm win32_threads.o
 b .bss
 d .data
 N .debug_abbrev
 N .debug_info
 N .debug_line
 N .debug_pubtypes
 t .text


I retried the compile, adding CPPFLAGS=-DWIN32_THREADS to the
configure step.  In this case, win32_threads.o seems to turn out
alright:


$ nm win32_threads.o | grep -e GC_CreateThread -e GC_register_my_thread -e 
GC_unregister_my_thread
0ec8 T _gc_createthr...@24
039c T _GC_register_my_thread
00d8 T _GC_register_my_thread_inner
045c T _GC_unregister_my_thread


So, it looks like I've got the needed symbols for ECL now.  But, now
the Boehm compile doesn't finish (at which point I should probably be
switching this discussion to a different ML...):


/bin/sh ./libtool --tag=CC   --mode=link gcc -fexceptions -g -O2  -version-info 
1:3:0 -no-undefined  -o libgc.la -rpath /usr/local/lib allchblk.lo alloc.lo 
blacklst.lo checksums.lo dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo 
gcj_mlc.lo headers.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo 
new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo ptr_chck.lo real_malloc.lo 
reclaim.lo specific.lo stubborn.lo typd_mlc.lo backgraph.lo 
thread_local_alloc.lo   win32_threads.lo atomic_ops.lo mach_dep.lo
libtool: link: gcc -shared  .libs/allchblk.o .libs/alloc.o .libs/blacklst.o 
.libs/checksums.o .libs/dbg_mlc.o .libs/dyn_load.o .libs/finalize.o 
.libs/gc_dlopen.o .libs/gcj_mlc.o .libs/headers.o .libs/malloc.o 
.libs/mallocx.o .libs/mark.o .libs/mark_rts.o .libs/misc.o .libs/new_hblk.o 
.libs/obj_map.o .libs/os_dep.o .libs/pcr_interface.o .libs/ptr_chck.o 
.libs/real_malloc.o .libs/reclaim.o .libs/specific.o .libs/stubborn.o 
.libs/typd_mlc.o .libs/backgraph.o .libs/thread_local_alloc.o 
.libs/win32_threads.o .libs/atomic_ops.o .libs/mach_dep.o -o .libs/libgc-1.dll 
-Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libgc.dll.a
Creating library file: .libs/libgc.dll.a
.libs/win32_threads.o: In function `GC_check_finalizer_nested':
c:\Users\Vultaire\bdwgc/win32_threads.c:562: multiple definition of 
`GC_check_finalizer_nested'
.libs/finalize.o:c:\Users\Vultaire\bdwgc/finalize.c:510: first defined here
.libs/win32_threads.o: In function `GC_do_blocking_inner':
c:\Users\Vultaire\bdwgc/win32_threads.c:769: multiple definition of 
`GC_do_blocking_inner'
.libs/misc.o:c:\Users\Vultaire\bdwgc/misc.c:1541: first defined here
.libs/win32_threads.o: In function `GC_call_with_gc_active':
c:\Users\Vultaire\bdwgc/win32_threads.c:799: multiple definition of 
`GC_call_with_gc_active'
.libs/misc.o:c:\Users\Vultaire\bdwgc/misc.c:1496: first defined here
.libs/ptr_chck.o: In function `GC_is_visible':
c:\Users\Vultaire\bdwgc/ptr_chck.c:206: undefined reference to 
`GC_is_static_root'
c:\Users\Vultaire\bdwgc/ptr_chck.c:211: undefined reference to 
`GC_is_static_root'
.libs/win32_threads.o:win32_threads.c:(.text+0x7d8): undefined reference to 
`GC_write_cs'
.libs/win32_threads.o:win32_threads.c:(.text+0x828): undefined reference to 
`GC_write_cs'
collect2: ld returned 1 exit status
make[1]: *** [libgc.la] Error 1
make[1]: Leaving directory `/c/Users/Vultaire/bdwgc'
make: *** [all-recursive] Error 1


Anyway, that's as far as I've gotten so far.

- Paul


Re: [Ecls-list] Need help compiling ECL 10.4.1 (32-bit) on Win7 64-bit via mingw32/msys

2010-10-31 Thread Paul Goins
On 10/31/2010 5:11 PM, Gabriel Dos Reis wrote:
 On Sat, Oct 30, 2010 at 10:51 PM, Paul Goinsgene...@vultaire.net  wrote:
 I've looked into things a bit further here.  Perhaps now it's not
 problems with ECL per se, but with compiling the Boehm GC.

 Is this GC from CVS as of today?

 -- Gaby



Now it is; I just re-pulled.  However, I'm getting the exact same errors.

- Paul

--
Nokia and ATT present the 2010 Calling All Innovators-North America contest
Create new apps  games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
___
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list