help-smalltalk
[Top][All Lists]
Advanced

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

[Help-smalltalk] Compiling gst with mingw32


From: Cesar Rabak
Subject: [Help-smalltalk] Compiling gst with mingw32
Date: Tue, 25 Sep 2007 14:17:06 -0300

After some years used to run GNU smalltalk in Linux boxes, I've come
to a job where workstations and the products are Microsoft Windows.

So I'm trying to produce an installable package for Windows.

My machine is a Windows XP SP2, and I'm using MSYS environment in
order to compile using mingw32 (which I think is more amenable for
users than having to install Cygwin libraries).

I unpacked, ran configure and fired make.

Make stops with:

gcc -DHAVE_CONFIG_H -I. -I. -I..
-DKERNEL_PATH=\"/usr/local/share/smalltalk/kernel\"
-DIMAGE_PATH=\"/usr/local/share/smalltalk\"
-DMODULE_PATH=\"/usr/local/lib/smalltalk\" -I../lib-src
-I../libffi/include -I../libffi/include -I../snprintfv -I../snprintfv
-I../lib-src -I../lightning -I../lightning -I.. -I.. -g -O2 -Wall
-fstrict-aliasing -fno-gcse -Wno-strict-aliasing -Wno-switch
-Wno-format -Wpointer-arith -Wwrite-strings -MT interp.lo -MD -MP -MF
.deps/interp.Tpo -c interp.c  -DDLL_EXPORT -DPIC -fomit-frame-pointer
-o .libs/interp.o
In file included from interp.c:715:
prims.def: In function `VMpr_FileDescriptor_fileOp':
prims.def :5209: warning: implicit declaration of function `mkstemp'
prims.def:5421: warning: implicit declaration of function `ftruncate'
prims.def:5483: error: `ENOTSOCK' undeclared (first use in this function)
prims.def:5483: error: (Each undeclared identifier is reported only once
prims.def:5483: error: for each function it appears in.)
interp.c: In function `interrupt_handler':
interp.c:2453: warning: implicit declaration of function `strsignal'
dict.inl: At top level:
interp.c:225: warning: alignment of `method_cache' is greater than
maximum object file alignment. Using 16
interp.c:252: warning: alignment of `queued_async_signals' is greater
than maximum object file alignment. Using 16
interp.c:687: warning: alignment of `chunks' is greater than maximum
object file alignment. Using 16
interp.c:696: warning: alignment of `lifo_contexts' is greater than
maximum object file alignment. Using 16
make[3]: *** [interp.lo] Error 1
make[3]: Leaving directory
`/e/Programacao/Linguagens/Smalltalk/GNU/smalltalk-2.3.6/libgst'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/e/Programacao/Linguagens/Smalltalk/GNU/smalltalk- 2.3.6/libgst'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/e/Programacao/Linguagens/Smalltalk/GNU/smalltalk-2.3.6'
make: *** [all] Error 2

Compilation exited abnormally with code 2 at Mon Sep 24 11:36:36

Since config.log shows configure found correctly:

hostname = fuba
uname -m = i686
uname -r = 1.0.10(0.46/3/2)
uname -s = MINGW32_NT-5.1
uname -v = 2003-10-11 10:14

And at its  whereabouts of line 2900:

configure:16238: checking for strsignal
configure:16294: gcc -o conftest.exe -g -O2 -Wall -fstrict-aliasing
-fno-gcse -Wno-strict-aliasing -Wno-switch -Wno-format -Wpointer-arith
-Wwrite-strings    conftest.c -lm  >&5
C:/DOCUME~1/CESARS~1.RAB/CONFIG~1/Temp/ccsDaaaa.o(.text+0x16): In
function `main':
e:/Programacao/Linguagens/Smalltalk/GNU/smalltalk-2.3.6/conftest.c:89:
undefined reference to `strsignal'
configure:16300: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "GNU Smalltalk"
| #define PACKAGE_TARNAME "smalltalk"
| #define PACKAGE_VERSION "2.3.6"
| #define PACKAGE_STRING "GNU Smalltalk 2.3.6"
| #define PACKAGE_BUGREPORT "address@hidden"
| #define ST_MAJOR_VERSION 2
| #define ST_MINOR_VERSION 3
| #define ST_EDIT_VERSION 6
| #define MAINTAINER " address@hidden"
| #define PACKAGE "smalltalk"
| #define VERSION "2.3.6"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define restrict __restrict
| #define HAVE_GOTO_VOID_P 1
| #define HOST_SYSTEM "i686-pc-mingw32"
| #define ALIGNOF_DOUBLE 8
| #define ALIGNOF_LONG_DOUBLE 4
| #define SIZEOF_OFF_T 4
| #define SIZEOF_OOP 4
| #define RETSIGTYPE void
| #define _GNU_SOURCE 1
| #define HAVE_STDINT_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_STDDEF_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_SYS_TIMEB_H 1
| #define HAVE_SYS_FILE_H 1
| #define HAVE_UTIME_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_LONG_LONG_INT 1
| #define HAVE_INTMAX_T 1
| #define HAVE_INTPTR_T 1
| #define HAVE_UNSIGNED_LONG_LONG_INT 1
| #define HAVE_UINTMAX_T 1
| #define HAVE_UINTPTR_T 1
| #define HAVE_ALLOCA 1
| #define HAVE_LIBM 1
| #define poll rpl_poll
| #define HAVE_PUTENV 1
| #define HAVE_STRDUP 1
| #define HAVE_STRERROR 1
| /* end confdefs.h.  */
| /* Define strsignal to an innocuous variant, in case <limits.h>
declares strsignal.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define strsignal innocuous_strsignal
|
| /* System header to define __stub macros and hopefully few prototypes,
|     which can conflict with char strsignal (); below.
|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|     <limits.h> exists even on freestanding compilers.  */
|
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|
| #undef strsignal
|
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char strsignal ();
| /* The GNU C library defines this for functions which it implements
|     to always fail with ENOSYS.  Some functions are actually named
|     something starting with __ and the normal name is an alias.  */
| #if defined __stub_strsignal || defined __stub___strsignal
| choke me
| #endif
|
| int
| main ()
| {
| return strsignal ();
|   ;
|   return 0;
| }
configure:16318: result: no

I would surmise that configure machinery would find a way around (in
fact it would have to find ways around mkstemp, ftruncate, strsep,
etc.), or no?

TIA

--
Cesar Rabak




reply via email to

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