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 "[email protected]" | #define ST_MAJOR_VERSION 2 | #define ST_MINOR_VERSION 3 | #define ST_EDIT_VERSION 6 | #define MAINTAINER " [EMAIL PROTECTED]" | #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 _______________________________________________ help-smalltalk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-smalltalk
