Hi,
I'm trying to build a recent VM on OpenSolaris (the Solaris Express distribution) on x86 but I have the same problem on recent Solaris 10.
It looks to me like the build is not making any of the plugins, causing the link phase to fail.
It feels like I'm missing some obvious switch or env var that's breaking the build.
Does anyone have any clues?
Build transcript follows.
Thanks in advance,
Boyd
boyd@maelstrom:Squeak-3.10-1/builddir$ ../platforms/unix/config/configure --with-ffi=/opt/BOYD </platforms/unix/config/configure --with-ffi=/opt/BOYD using built-in src directory /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src checking sanity of generated src directory... okay checking build system type... i386-pc-solaris2.11 checking host system type... i386-pc-solaris2.11
Configuring Squeak 3.10-1 (3.10-7159) for i386-pc-solaris2.11
checking whether make sets $(MAKE)... yes checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for as... as checking for GNU as... no checking for ranlib... ranlib checking for a BSD-compatible install... /usr/bin/ginstall -c checking for BSD-compatible nm... /usr/bin/nm -p checking for ln... ln checking "size of int"... "okay" checking "size of double"... "okay" checking for 64-bit integer type... long long checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/ggrep checking for egrep... /usr/bin/ggrep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for int... yes checking size of int... 4 checking for long... yes checking size of long... 4 checking for long long... yes checking size of long long... 8 checking for void *... yes checking size of void *... 4 checking for a sed that does not truncate output... /usr/bin/gsed checking for ld used by gcc... /usr/ccs/bin/ld checking if the linker (/usr/ccs/bin/ld) is GNU ld... no checking for /usr/ccs/bin/ld option to reload object files... -r checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking how to run the C++ preprocessor... g++ -E checking for g77... g77 checking whether we are using the GNU Fortran 77 compiler... yes checking whether g77 accepts -g... yes checking the maximum length of command line arguments... 262144 checking command to parse /usr/bin/nm -p output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... (cached) ranlib checking for strip... strip checking if gcc static flag works... yes checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/ccs/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking dynamic linker characteristics... solaris2.11 ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/ccs/bin/ld checking if the linker (/usr/ccs/bin/ld) is GNU ld... no checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC checking if g++ PIC flag -fPIC works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking dynamic linker characteristics... solaris2.11 ld.so appending configuration tag "F77" to libtool checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for g77 option to produce PIC... -fPIC checking if g77 PIC flag -fPIC works... yes checking if g77 supports -c -o file.o... yes checking whether the g77 linker (/usr/ccs/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking dynamic linker characteristics... solaris2.11 ld.so checking for ANSI C header files... (cached) yes checking for unistd.h... (cached) yes checking for string.h... (cached) yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking sys/file.h usability... yes checking sys/file.h presence... yes checking for sys/file.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/filio.h usability... yes checking sys/filio.h presence... yes checking for sys/filio.h... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking features.h usability... no checking features.h presence... no checking for features.h... no checking alloca.h usability... yes checking alloca.h presence... yes checking for alloca.h... yes checking whether time.h and sys/time.h may both be included... yes checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking whether struct tm is in sys/time.h or time.h... time.h checking for struct tm.tm_zone... no checking whether tzname is declared... yes checking for tzname... yes checking for socklen_t in sys/socket.h... yes checking for atexit or on_exit... atexit checking for tzset... yes checking for gmtoff in struct tm... no checking for timezone and daylight variables... yes checking for gethostname in unistd.h... yes checking for yp_bind in -lnsl... yes checking for socket in -lsocket... yes checking for sin in -lm... yes checking for _dyld_present... no checking for dlfcn.h... (cached) yes checking for dlopen... yes checking for snprintf... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for working alloca.h... yes checking for alloca... yes checking for i386 optimisation flags... "-fomit-frame-pointer" checking for gawk... no checking for mawk... no checking for nawk... nawk checking whether we can gnuify interp.c... no checking for prefix to use for loadable modules... (none) checking for compiler flags to force 32-bit addresses... checking whether byte ordering is bigendian... no checking whether unaligned access to doubles is ok... yes checking whether doubles are stored in Squeak order... no ******** disabling vm-display-Quartz checking for X... libraries /usr/openwin/lib, headers /usr/openwin/include checking whether -R must be followed by a space... no checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for XOpenDisplay in -lX11... yes checking for XShmAttach in -lXext... yes checking GL/gl.h usability... yes checking GL/gl.h presence... yes checking for GL/gl.h... yes checking GL/glx.h usability... yes checking GL/glx.h presence... yes checking for GL/glx.h... yes checking for glIsEnabled in -lGL... yes checking X11/extensions/Xrender.h usability... yes checking X11/extensions/Xrender.h presence... yes checking for X11/extensions/Xrender.h... yes checking for XRenderQueryVersion in -lXrender... yes checking for custom display support... no ******** disabling vm-display-custom checking linux/fb.h usability... no checking linux/fb.h presence... no checking for linux/fb.h... no ******** disabling vm-display-fbdev checking for Advanced Linux Sound Architecture... no ******** disabling vm-sound-ALSA checking for Mac OS X CoreAudio... no ******** disabling vm-sound-MacOSX checking for Network Audio System... no ******** disabling vm-sound-NAS checking for Advanced Linux Sound Architecture... no ******** disabling vm-sound-OSS checking for SunOS/Solaris audio... yes checking for custom sound support... no ******** disabling vm-sound-custom checking iconv.h usability... yes checking iconv.h presence... yes checking for iconv.h... yes checking for _dyld_present... (cached) no checking for iconv_open in -liconv... no checking for libiconv_open in -liconv... no checking for nl_langinfo and CODESET... yes checking for nanosleep... yes checking for MIDI support via ALSA... no ******** disabling MIDIPlugin checking util.h usability... no checking util.h presence... no checking for util.h... no checking libutil.h usability... no checking libutil.h presence... no checking for libutil.h... no checking pty.h usability... no checking pty.h presence... no checking for pty.h... no checking stropts.h usability... yes checking stropts.h presence... yes checking for stropts.h... yes checking for library containing openpty... no checking for grantpt... yes checking for FFI support... /opt/BOYD checking for UUID support... yes checking for uuid_generate in -luuid... yes checking for unsetenv... yes checking for pthread_kill in -lpthread... yes checking for VideoForLinux support... no ******** disabling VideoForLinuxPlugin checking for XOpenDisplay in -lX11... (cached) yes configure: creating ./config.status config.status: creating mkconfig config.status: creating make.cfg config.status: WARNING: ../platforms/unix/config/make.cfg.in seems to ignore the --datarootdir setting config.status: creating make.int config.status: creating make.ext config.status: creating make.prg config.status: creating inisqueak config.status: creating Makefile config.status: creating config.h config.status: executing default commands creating vm/Makefile creating vm-display-X11/Makefile creating vm-display-null/Makefile creating vm-sound-Sun/Makefile creating vm-sound-null/Makefile boyd@maelstrom:Squeak-3.10-1/builddir$ gmake gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o interp.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.c:7: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.c:23249:3: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqNamedPrims.o /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqNamedPrims.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqNamedPrims.c:14: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqNamedPrims.c:23: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/sqNamedPrims.h:81:3: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqVirtualMachine.o /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.h:15, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:6: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o aio.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/aio.c gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o debug.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/debug.c gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o osExports.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/osExports.c gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqUnixExternalPrims.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixExternalPrims.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixExternalPrims.c:35: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqUnixMemory.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixMemory.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixMemory.c:51: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqUnixCharConv.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixCharConv.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixCharConv.c:33: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixCharConv.c: In function `convertChars': /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixCharConv.c:289: warning: passing arg 2 of `iconv' from incompatible pointer type gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqUnixMain.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixMain.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixMain.c:33: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file ar -rc vm.a interp.o sqNamedPrims.o sqVirtualMachine.o aio.o debug.o osExports.o sqUnixExternalPrims.o sqUnixMemory.o sqUnixCharConv.o sqUnixMain.o ranlib vm.a gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -export-dynamic -c -o disabledPlugins.o disabledPlugins.c /var/tmp/squeak/Squeak-3.10-1/platforms/unix/config/verstamp version.c gcc gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -export-dynamic -c -o version.o version.c /bin/bash /var/tmp/squeak/Squeak-3.10-1/builddir/libtool --mode=link gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -export-dynamic -R/usr/local/lib -o squeak vm/vm.a disabledPlugins.o version.o -lm -lsocket -lnsl vm/vm.a mkdir .libs gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -o squeak disabledPlugins.o version.o vm/vm.a -lm -lsocket -lnsl vm/vm.a -R/usr/local/lib Undefined first referenced symbol in file SqueakFFIPrims_exports vm/vm.a(sqNamedPrims.o) JPEGReaderPlugin_exports vm/vm.a(sqNamedPrims.o) ADPCMCodecPlugin_exports vm/vm.a(sqNamedPrims.o) BMPReadWriterPlugin_exports vm/vm.a(sqNamedPrims.o) StarSqueakPlugin_exports vm/vm.a(sqNamedPrims.o) JoystickTabletPlugin_exports vm/vm.a(sqNamedPrims.o) GeniePlugin_exports vm/vm.a(sqNamedPrims.o) FloatArrayPlugin_exports vm/vm.a(sqNamedPrims.o) SoundCodecPrims_exports vm/vm.a(sqNamedPrims.o) SerialPlugin_exports vm/vm.a(sqNamedPrims.o) SecurityPlugin_exports vm/vm.a(sqNamedPrims.o) SoundPlugin_exports vm/vm.a(sqNamedPrims.o) FloatMathPlugin_exports vm/vm.a(sqNamedPrims.o) MiscPrimitivePlugin_exports vm/vm.a(sqNamedPrims.o) FileCopyPlugin_exports vm/vm.a(sqNamedPrims.o) AsynchFilePlugin_exports vm/vm.a(sqNamedPrims.o) JPEGReadWriter2Plugin_exports vm/vm.a(sqNamedPrims.o) SurfacePlugin_exports vm/vm.a(sqNamedPrims.o) CroquetPlugin_exports vm/vm.a(sqNamedPrims.o) LocalePlugin_exports vm/vm.a(sqNamedPrims.o) SocketPlugin_exports vm/vm.a(sqNamedPrims.o) Mpeg3Plugin_exports vm/vm.a(sqNamedPrims.o) DSAPrims_exports vm/vm.a(sqNamedPrims.o) FilePlugin_exports vm/vm.a(sqNamedPrims.o) DropPlugin_exports vm/vm.a(sqNamedPrims.o) Klatt_exports vm/vm.a(sqNamedPrims.o) FFTPlugin_exports vm/vm.a(sqNamedPrims.o) B2DPlugin_exports vm/vm.a(sqNamedPrims.o) ZipPlugin_exports vm/vm.a(sqNamedPrims.o) RePlugin_exports vm/vm.a(sqNamedPrims.o) SoundGenerationPlugin_exports vm/vm.a(sqNamedPrims.o) Matrix2x3Plugin_exports vm/vm.a(sqNamedPrims.o) BitBltPlugin_exports vm/vm.a(sqNamedPrims.o) LargeIntegers_exports vm/vm.a(sqNamedPrims.o) ld: fatal: Symbol referencing errors. No output written to squeak collect2: ld returned 1 exit status gmake: *** [squeak] Error 1 boyd@maelstrom:Squeak-3.10-1/builddir$
I've no experience with Solaris & Squeak and very little experience with unix/config/configure so I'm probably wrong. Check VPATH both in the configure script and in the resulting Makefile. I guess it needs to include the plugin directories, which could be in src/plugins/* and src/vm/intplugins or elsewhere.
Check whether you have the plugin source.
Check that the Makefile includes plugins.ext & plugins.int, that these files contain the names of the plugins you're missing, and that the makefile translates these includes into dependencies to be made for the VM target.
HTH
On Mon, Sep 29, 2008 at 11:45 PM, Boyd Adamson boyd-adamson@usa.net wrote:
Hi,
I'm trying to build a recent VM on OpenSolaris (the Solaris Express distribution) on x86 but I have the same problem on recent Solaris 10.
It looks to me like the build is not making any of the plugins, causing the link phase to fail.
It feels like I'm missing some obvious switch or env var that's breaking the build.
Does anyone have any clues?
Build transcript follows.
Thanks in advance,
Boyd
boyd@maelstrom:Squeak-3.10-1/builddir$ ../platforms/unix/config/configure --with-ffi=/opt/BOYD </platforms/unix/config/configure --with-ffi=/opt/BOYD using built-in src directory /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src checking sanity of generated src directory... okay checking build system type... i386-pc-solaris2.11 checking host system type... i386-pc-solaris2.11
Configuring Squeak 3.10-1 (3.10-7159) for i386-pc-solaris2.11
checking whether make sets $(MAKE)... yes checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for as... as checking for GNU as... no checking for ranlib... ranlib checking for a BSD-compatible install... /usr/bin/ginstall -c checking for BSD-compatible nm... /usr/bin/nm -p checking for ln... ln checking "size of int"... "okay" checking "size of double"... "okay" checking for 64-bit integer type... long long checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/ggrep checking for egrep... /usr/bin/ggrep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for int... yes checking size of int... 4 checking for long... yes checking size of long... 4 checking for long long... yes checking size of long long... 8 checking for void *... yes checking size of void *... 4 checking for a sed that does not truncate output... /usr/bin/gsed checking for ld used by gcc... /usr/ccs/bin/ld checking if the linker (/usr/ccs/bin/ld) is GNU ld... no checking for /usr/ccs/bin/ld option to reload object files... -r checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking how to run the C++ preprocessor... g++ -E checking for g77... g77 checking whether we are using the GNU Fortran 77 compiler... yes checking whether g77 accepts -g... yes checking the maximum length of command line arguments... 262144 checking command to parse /usr/bin/nm -p output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... (cached) ranlib checking for strip... strip checking if gcc static flag works... yes checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/ccs/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking dynamic linker characteristics... solaris2.11 ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/ccs/bin/ld checking if the linker (/usr/ccs/bin/ld) is GNU ld... no checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC checking if g++ PIC flag -fPIC works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking dynamic linker characteristics... solaris2.11 ld.so appending configuration tag "F77" to libtool checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for g77 option to produce PIC... -fPIC checking if g77 PIC flag -fPIC works... yes checking if g77 supports -c -o file.o... yes checking whether the g77 linker (/usr/ccs/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking dynamic linker characteristics... solaris2.11 ld.so checking for ANSI C header files... (cached) yes checking for unistd.h... (cached) yes checking for string.h... (cached) yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking sys/file.h usability... yes checking sys/file.h presence... yes checking for sys/file.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/filio.h usability... yes checking sys/filio.h presence... yes checking for sys/filio.h... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking features.h usability... no checking features.h presence... no checking for features.h... no checking alloca.h usability... yes checking alloca.h presence... yes checking for alloca.h... yes checking whether time.h and sys/time.h may both be included... yes checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking whether struct tm is in sys/time.h or time.h... time.h checking for struct tm.tm_zone... no checking whether tzname is declared... yes checking for tzname... yes checking for socklen_t in sys/socket.h... yes checking for atexit or on_exit... atexit checking for tzset... yes checking for gmtoff in struct tm... no checking for timezone and daylight variables... yes checking for gethostname in unistd.h... yes checking for yp_bind in -lnsl... yes checking for socket in -lsocket... yes checking for sin in -lm... yes checking for _dyld_present... no checking for dlfcn.h... (cached) yes checking for dlopen... yes checking for snprintf... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for working alloca.h... yes checking for alloca... yes checking for i386 optimisation flags... "-fomit-frame-pointer" checking for gawk... no checking for mawk... no checking for nawk... nawk checking whether we can gnuify interp.c... no checking for prefix to use for loadable modules... (none) checking for compiler flags to force 32-bit addresses... checking whether byte ordering is bigendian... no checking whether unaligned access to doubles is ok... yes checking whether doubles are stored in Squeak order... no ******** disabling vm-display-Quartz checking for X... libraries /usr/openwin/lib, headers /usr/openwin/include checking whether -R must be followed by a space... no checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for XOpenDisplay in -lX11... yes checking for XShmAttach in -lXext... yes checking GL/gl.h usability... yes checking GL/gl.h presence... yes checking for GL/gl.h... yes checking GL/glx.h usability... yes checking GL/glx.h presence... yes checking for GL/glx.h... yes checking for glIsEnabled in -lGL... yes checking X11/extensions/Xrender.h usability... yes checking X11/extensions/Xrender.h presence... yes checking for X11/extensions/Xrender.h... yes checking for XRenderQueryVersion in -lXrender... yes checking for custom display support... no ******** disabling vm-display-custom checking linux/fb.h usability... no checking linux/fb.h presence... no checking for linux/fb.h... no ******** disabling vm-display-fbdev checking for Advanced Linux Sound Architecture... no ******** disabling vm-sound-ALSA checking for Mac OS X CoreAudio... no ******** disabling vm-sound-MacOSX checking for Network Audio System... no ******** disabling vm-sound-NAS checking for Advanced Linux Sound Architecture... no ******** disabling vm-sound-OSS checking for SunOS/Solaris audio... yes checking for custom sound support... no ******** disabling vm-sound-custom checking iconv.h usability... yes checking iconv.h presence... yes checking for iconv.h... yes checking for _dyld_present... (cached) no checking for iconv_open in -liconv... no checking for libiconv_open in -liconv... no checking for nl_langinfo and CODESET... yes checking for nanosleep... yes checking for MIDI support via ALSA... no ******** disabling MIDIPlugin checking util.h usability... no checking util.h presence... no checking for util.h... no checking libutil.h usability... no checking libutil.h presence... no checking for libutil.h... no checking pty.h usability... no checking pty.h presence... no checking for pty.h... no checking stropts.h usability... yes checking stropts.h presence... yes checking for stropts.h... yes checking for library containing openpty... no checking for grantpt... yes checking for FFI support... /opt/BOYD checking for UUID support... yes checking for uuid_generate in -luuid... yes checking for unsetenv... yes checking for pthread_kill in -lpthread... yes checking for VideoForLinux support... no ******** disabling VideoForLinuxPlugin checking for XOpenDisplay in -lX11... (cached) yes configure: creating ./config.status config.status: creating mkconfig config.status: creating make.cfg config.status: WARNING: ../platforms/unix/config/make.cfg.in seems to ignore the --datarootdir setting config.status: creating make.int config.status: creating make.ext config.status: creating make.prg config.status: creating inisqueak config.status: creating Makefile config.status: creating config.h config.status: executing default commands creating vm/Makefile creating vm-display-X11/Makefile creating vm-display-null/Makefile creating vm-sound-Sun/Makefile creating vm-sound-null/Makefile boyd@maelstrom:Squeak-3.10-1/builddir$ gmake gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o interp.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.c:7: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.c:23249:3: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqNamedPrims.o /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqNamedPrims.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqNamedPrims.c:14: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqNamedPrims.c:23: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/sqNamedPrims.h:81:3: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqVirtualMachine.o /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.h:15, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:6: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o aio.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/aio.c gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o debug.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/debug.c gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o osExports.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/osExports.c gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqUnixExternalPrims.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixExternalPrims.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixExternalPrims.c:35: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqUnixMemory.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixMemory.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixMemory.c:51: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqUnixCharConv.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixCharConv.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixCharConv.c:33: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixCharConv.c: In function `convertChars': /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixCharConv.c:289: warning: passing arg 2 of `iconv' from incompatible pointer type gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I/usr/openwin/include -c -o sqUnixMain.o /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixMain.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixMain.c:33: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file ar -rc vm.a interp.o sqNamedPrims.o sqVirtualMachine.o aio.o debug.o osExports.o sqUnixExternalPrims.o sqUnixMemory.o sqUnixCharConv.o sqUnixMain.o ranlib vm.a gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -export-dynamic -c -o disabledPlugins.o disabledPlugins.c /var/tmp/squeak/Squeak-3.10-1/platforms/unix/config/verstamp version.c gcc gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -export-dynamic -c -o version.o version.c /bin/bash /var/tmp/squeak/Squeak-3.10-1/builddir/libtool --mode=link gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -export-dynamic -R/usr/local/lib -o squeak vm/vm.a disabledPlugins.o version.o -lm -lsocket -lnsl vm/vm.a mkdir .libs gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -o squeak disabledPlugins.o version.o vm/vm.a -lm -lsocket -lnsl vm/vm.a -R/usr/local/lib Undefined first referenced symbol in file SqueakFFIPrims_exports vm/vm.a(sqNamedPrims.o) JPEGReaderPlugin_exports vm/vm.a(sqNamedPrims.o) ADPCMCodecPlugin_exports vm/vm.a(sqNamedPrims.o) BMPReadWriterPlugin_exports vm/vm.a(sqNamedPrims.o) StarSqueakPlugin_exports vm/vm.a(sqNamedPrims.o) JoystickTabletPlugin_exports vm/vm.a(sqNamedPrims.o) GeniePlugin_exports vm/vm.a(sqNamedPrims.o) FloatArrayPlugin_exports vm/vm.a(sqNamedPrims.o) SoundCodecPrims_exports vm/vm.a(sqNamedPrims.o) SerialPlugin_exports vm/vm.a(sqNamedPrims.o) SecurityPlugin_exports vm/vm.a(sqNamedPrims.o) SoundPlugin_exports vm/vm.a(sqNamedPrims.o) FloatMathPlugin_exports vm/vm.a(sqNamedPrims.o) MiscPrimitivePlugin_exports vm/vm.a(sqNamedPrims.o) FileCopyPlugin_exports vm/vm.a(sqNamedPrims.o) AsynchFilePlugin_exports vm/vm.a(sqNamedPrims.o) JPEGReadWriter2Plugin_exports vm/vm.a(sqNamedPrims.o) SurfacePlugin_exports vm/vm.a(sqNamedPrims.o) CroquetPlugin_exports vm/vm.a(sqNamedPrims.o) LocalePlugin_exports vm/vm.a(sqNamedPrims.o) SocketPlugin_exports vm/vm.a(sqNamedPrims.o) Mpeg3Plugin_exports vm/vm.a(sqNamedPrims.o) DSAPrims_exports vm/vm.a(sqNamedPrims.o) FilePlugin_exports vm/vm.a(sqNamedPrims.o) DropPlugin_exports vm/vm.a(sqNamedPrims.o) Klatt_exports vm/vm.a(sqNamedPrims.o) FFTPlugin_exports vm/vm.a(sqNamedPrims.o) B2DPlugin_exports vm/vm.a(sqNamedPrims.o) ZipPlugin_exports vm/vm.a(sqNamedPrims.o) RePlugin_exports vm/vm.a(sqNamedPrims.o) SoundGenerationPlugin_exports vm/vm.a(sqNamedPrims.o) Matrix2x3Plugin_exports vm/vm.a(sqNamedPrims.o) BitBltPlugin_exports vm/vm.a(sqNamedPrims.o) LargeIntegers_exports vm/vm.a(sqNamedPrims.o) ld: fatal: Symbol referencing errors. No output written to squeak collect2: ld returned 1 exit status gmake: *** [squeak] Error 1 boyd@maelstrom:Squeak-3.10-1/builddir$
Well, thanks to your help, I've made some progress. Turns out that the files:
platforms/unix/src/plugins.int platforms/unix/src/plugins.ext
have mac line endings (CR) out of the box, which causes the code in mkconfig to populate int_plugins and ext_plugins with empty strings. This was causing none of the plugins to be built.
Now to move on to the later build errors :)
"Eliot Miranda" eliot.miranda@gmail.com writes:
GC Warning: Large stack limit(10485760): only scanning 8 MB I've no experience with Solaris & Squeak and very little experience with unix/ config/configure so I'm probably wrong.
Check VPATH both in the configure script and in the resulting Makefile. I guess it needs to include the plugin directories, which could be in src/plugins /* and src/vm/intplugins or elsewhere.
Check whether you have the plugin source.
Check that the Makefile includes plugins.ext & plugins.int, that these files contain the names of the plugins you're missing, and that the makefile translates these includes into dependencies to be made for the VM target.
HTH
On Mon, Sep 29, 2008 at 11:45 PM, Boyd Adamson boyd-adamson@usa.net wrote:
Hi, I'm trying to build a recent VM on OpenSolaris (the Solaris Express distribution) on x86 but I have the same problem on recent Solaris 10. It looks to me like the build is not making any of the plugins, causing the link phase to fail. It feels like I'm missing some obvious switch or env var that's breaking the build. Does anyone have any clues? Build transcript follows. Thanks in advance, Boyd boyd@maelstrom:Squeak-3.10-1/builddir$ ../platforms/unix/config/configure --with-ffi=/opt/BOYD </platforms/unix/config/configure --with-ffi=/opt/BOYD using built-in src directory /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src checking sanity of generated src directory... okay checking build system type... i386-pc-solaris2.11 checking host system type... i386-pc-solaris2.11 Configuring Squeak 3.10-1 (3.10-7159) for i386-pc-solaris2.11 checking whether make sets $(MAKE)... yes checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for as... as checking for GNU as... no checking for ranlib... ranlib checking for a BSD-compatible install... /usr/bin/ginstall -c checking for BSD-compatible nm... /usr/bin/nm -p checking for ln... ln checking "size of int"... "okay" checking "size of double"... "okay" checking for 64-bit integer type... long long checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/ggrep checking for egrep... /usr/bin/ggrep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for int... yes checking size of int... 4 checking for long... yes checking size of long... 4 checking for long long... yes checking size of long long... 8 checking for void *... yes checking size of void *... 4 checking for a sed that does not truncate output... /usr/bin/gsed checking for ld used by gcc... /usr/ccs/bin/ld checking if the linker (/usr/ccs/bin/ld) is GNU ld... no checking for /usr/ccs/bin/ld option to reload object files... -r checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking how to run the C++ preprocessor... g++ -E checking for g77... g77 checking whether we are using the GNU Fortran 77 compiler... yes checking whether g77 accepts -g... yes checking the maximum length of command line arguments... 262144 checking command to parse /usr/bin/nm -p output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... (cached) ranlib checking for strip... strip checking if gcc static flag works... yes checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/ccs/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking dynamic linker characteristics... solaris2.11 ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/ccs/bin/ld checking if the linker (/usr/ccs/bin/ld) is GNU ld... no checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC checking if g++ PIC flag -fPIC works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking dynamic linker characteristics... solaris2.11 ld.so appending configuration tag "F77" to libtool checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for g77 option to produce PIC... -fPIC checking if g77 PIC flag -fPIC works... yes checking if g77 supports -c -o file.o... yes checking whether the g77 linker (/usr/ccs/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking dynamic linker characteristics... solaris2.11 ld.so checking for ANSI C header files... (cached) yes checking for unistd.h... (cached) yes checking for string.h... (cached) yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking sys/file.h usability... yes checking sys/file.h presence... yes checking for sys/file.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/filio.h usability... yes checking sys/filio.h presence... yes checking for sys/filio.h... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking features.h usability... no checking features.h presence... no checking for features.h... no checking alloca.h usability... yes checking alloca.h presence... yes checking for alloca.h... yes checking whether time.h and sys/time.h may both be included... yes checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking whether struct tm is in sys/time.h or time.h... time.h checking for struct tm.tm_zone... no checking whether tzname is declared... yes checking for tzname... yes checking for socklen_t in sys/socket.h... yes checking for atexit or on_exit... atexit checking for tzset... yes checking for gmtoff in struct tm... no checking for timezone and daylight variables... yes checking for gethostname in unistd.h... yes checking for yp_bind in -lnsl... yes checking for socket in -lsocket... yes checking for sin in -lm... yes checking for _dyld_present... no checking for dlfcn.h... (cached) yes checking for dlopen... yes checking for snprintf... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for working alloca.h... yes checking for alloca... yes checking for i386 optimisation flags... "-fomit-frame-pointer" checking for gawk... no checking for mawk... no checking for nawk... nawk checking whether we can gnuify interp.c... no checking for prefix to use for loadable modules... (none) checking for compiler flags to force 32-bit addresses... checking whether byte ordering is bigendian... no checking whether unaligned access to doubles is ok... yes checking whether doubles are stored in Squeak order... no ******** disabling vm-display-Quartz checking for X... libraries /usr/openwin/lib, headers /usr/openwin/include checking whether -R must be followed by a space... no checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for XOpenDisplay in -lX11... yes checking for XShmAttach in -lXext... yes checking GL/gl.h usability... yes checking GL/gl.h presence... yes checking for GL/gl.h... yes checking GL/glx.h usability... yes checking GL/glx.h presence... yes checking for GL/glx.h... yes checking for glIsEnabled in -lGL... yes checking X11/extensions/Xrender.h usability... yes checking X11/extensions/Xrender.h presence... yes checking for X11/extensions/Xrender.h... yes checking for XRenderQueryVersion in -lXrender... yes checking for custom display support... no ******** disabling vm-display-custom checking linux/fb.h usability... no checking linux/fb.h presence... no checking for linux/fb.h... no ******** disabling vm-display-fbdev checking for Advanced Linux Sound Architecture... no ******** disabling vm-sound-ALSA checking for Mac OS X CoreAudio... no ******** disabling vm-sound-MacOSX checking for Network Audio System... no ******** disabling vm-sound-NAS checking for Advanced Linux Sound Architecture... no ******** disabling vm-sound-OSS checking for SunOS/Solaris audio... yes checking for custom sound support... no ******** disabling vm-sound-custom checking iconv.h usability... yes checking iconv.h presence... yes checking for iconv.h... yes checking for _dyld_present... (cached) no checking for iconv_open in -liconv... no checking for libiconv_open in -liconv... no checking for nl_langinfo and CODESET... yes checking for nanosleep... yes checking for MIDI support via ALSA... no ******** disabling MIDIPlugin checking util.h usability... no checking util.h presence... no checking for util.h... no checking libutil.h usability... no checking libutil.h presence... no checking for libutil.h... no checking pty.h usability... no checking pty.h presence... no checking for pty.h... no checking stropts.h usability... yes checking stropts.h presence... yes checking for stropts.h... yes checking for library containing openpty... no checking for grantpt... yes checking for FFI support... /opt/BOYD checking for UUID support... yes checking for uuid_generate in -luuid... yes checking for unsetenv... yes checking for pthread_kill in -lpthread... yes checking for VideoForLinux support... no ******** disabling VideoForLinuxPlugin checking for XOpenDisplay in -lX11... (cached) yes configure: creating ./config.status config.status: creating mkconfig config.status: creating make.cfg config.status: WARNING: ../platforms/unix/config/make.cfg.in seems to ignore the --datarootdir setting config.status: creating make.int config.status: creating make.ext config.status: creating make.prg config.status: creating inisqueak config.status: creating Makefile config.status: creating config.h config.status: executing default commands creating vm/Makefile creating vm-display-X11/Makefile creating vm-display-null/Makefile creating vm-sound-Sun/Makefile creating vm-sound-null/Makefile boyd@maelstrom:Squeak-3.10-1/builddir$ gmake gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/ tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/ Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/ FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/ B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/ squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /usr/openwin/include -c -o interp.o /var/tmp/squeak/Squeak-3.10-1/ platforms/unix/src/vm/interp.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/ interp.c:7: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.c:23249:3: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/ tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/ Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/ FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/ B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/ squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /usr/openwin/include -c -o sqNamedPrims.o /var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm/sqNamedPrims.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqNamedPrims.c:14: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqNamedPrims.c:23: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/sqNamedPrims.h:81:3: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/ tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/ Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/ FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/ B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/ squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /usr/openwin/include -c -o sqVirtualMachine.o /var/tmp/squeak/ Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqVirtualMachine.h:15, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqVirtualMachine.c:6: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/ tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/ Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/ FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/ B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/ squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /usr/openwin/include -c -o aio.o /var/tmp/squeak/Squeak-3.10-1/platforms/ unix/vm/aio.c gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/ tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/ Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/ FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/ B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/ squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /usr/openwin/include -c -o debug.o /var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm/debug.c gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/ tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/ Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/ FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/ B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/ squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /usr/openwin/include -c -o osExports.o /var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm/osExports.c gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/ tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/ Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/ FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/ B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/ squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /usr/openwin/include -c -o sqUnixExternalPrims.o /var/tmp/squeak/ Squeak-3.10-1/platforms/unix/vm/sqUnixExternalPrims.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/ sqUnixExternalPrims.c:35: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/ tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/ Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/ FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/ B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/ squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /usr/openwin/include -c -o sqUnixMemory.o /var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm/sqUnixMemory.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/ sqUnixMemory.c:51: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/ tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/ Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/ FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/ B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/ squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /usr/openwin/include -c -o sqUnixCharConv.o /var/tmp/squeak/Squeak-3.10-1 /platforms/unix/vm/sqUnixCharConv.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/ sqUnixCharConv.c:33: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixCharConv.c: In function `convertChars': /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/sqUnixCharConv.c:289: warning: passing arg 2 of `iconv' from incompatible pointer type gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/ tmp/squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm -I/var/tmp/squeak/ Squeak-3.10-1/platforms/unix/src/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/Cross/plugins/ FilePlugin -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/plugins/ B3DAcceleratorPlugin -I/var/tmp/squeak/Squeak-3.10-1/builddir -I/var/tmp/ squeak/Squeak-3.10-1/platforms/unix/vm -I/var/tmp/squeak/Squeak-3.10-1/ platforms/Cross/vm -I/var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm -I /usr/openwin/include -c -o sqUnixMain.o /var/tmp/squeak/Squeak-3.10-1/ platforms/unix/vm/sqUnixMain.c In file included from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sqMemoryAccess.h:22, from /var/tmp/squeak/Squeak-3.10-1/platforms/Cross/vm/ sq.h:19, from /var/tmp/squeak/Squeak-3.10-1/platforms/unix/vm/ sqUnixMain.c:33: /var/tmp/squeak/Squeak-3.10-1/platforms/unix/src/vm/interp.h:5:31: warning: no newline at end of file ar -rc vm.a interp.o sqNamedPrims.o sqVirtualMachine.o aio.o debug.o osExports.o sqUnixExternalPrims.o sqUnixMemory.o sqUnixCharConv.o sqUnixMain.o ranlib vm.a gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -export-dynamic -c -o disabledPlugins.o disabledPlugins.c /var/tmp/squeak/Squeak-3.10-1/platforms/unix/config/verstamp version.c gcc gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -export-dynamic -c -o version.o version.c /bin/bash /var/tmp/squeak/Squeak-3.10-1/builddir/libtool --mode=link gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -export-dynamic -R/usr/local/lib -o squeak vm/vm.a disabledPlugins.o version.o -lm -lsocket -lnsl vm/vm.a mkdir .libs gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -o squeak disabledPlugins.o version.o vm/vm.a -lm -lsocket -lnsl vm/vm.a -R/usr/local/lib Undefined first referenced symbol in file SqueakFFIPrims_exports vm/vm.a(sqNamedPrims.o) JPEGReaderPlugin_exports vm/vm.a(sqNamedPrims.o) ADPCMCodecPlugin_exports vm/vm.a(sqNamedPrims.o) BMPReadWriterPlugin_exports vm/vm.a(sqNamedPrims.o) StarSqueakPlugin_exports vm/vm.a(sqNamedPrims.o) JoystickTabletPlugin_exports vm/vm.a(sqNamedPrims.o) GeniePlugin_exports vm/vm.a(sqNamedPrims.o) FloatArrayPlugin_exports vm/vm.a(sqNamedPrims.o) SoundCodecPrims_exports vm/vm.a(sqNamedPrims.o) SerialPlugin_exports vm/vm.a(sqNamedPrims.o) SecurityPlugin_exports vm/vm.a(sqNamedPrims.o) SoundPlugin_exports vm/vm.a(sqNamedPrims.o) FloatMathPlugin_exports vm/vm.a(sqNamedPrims.o) MiscPrimitivePlugin_exports vm/vm.a(sqNamedPrims.o) FileCopyPlugin_exports vm/vm.a(sqNamedPrims.o) AsynchFilePlugin_exports vm/vm.a(sqNamedPrims.o) JPEGReadWriter2Plugin_exports vm/vm.a(sqNamedPrims.o) SurfacePlugin_exports vm/vm.a(sqNamedPrims.o) CroquetPlugin_exports vm/vm.a(sqNamedPrims.o) LocalePlugin_exports vm/vm.a(sqNamedPrims.o) SocketPlugin_exports vm/vm.a(sqNamedPrims.o) Mpeg3Plugin_exports vm/vm.a(sqNamedPrims.o) DSAPrims_exports vm/vm.a(sqNamedPrims.o) FilePlugin_exports vm/vm.a(sqNamedPrims.o) DropPlugin_exports vm/vm.a(sqNamedPrims.o) Klatt_exports vm/vm.a(sqNamedPrims.o) FFTPlugin_exports vm/vm.a(sqNamedPrims.o) B2DPlugin_exports vm/vm.a(sqNamedPrims.o) ZipPlugin_exports vm/vm.a(sqNamedPrims.o) RePlugin_exports vm/vm.a(sqNamedPrims.o) SoundGenerationPlugin_exports vm/vm.a(sqNamedPrims.o) Matrix2x3Plugin_exports vm/vm.a(sqNamedPrims.o) BitBltPlugin_exports vm/vm.a(sqNamedPrims.o) LargeIntegers_exports vm/vm.a(sqNamedPrims.o) ld: fatal: Symbol referencing errors. No output written to squeak collect2: ld returned 1 exit status gmake: *** [squeak] Error 1 boyd@maelstrom:Squeak-3.10-1/builddir$
On Wed, Oct 01, 2008 at 10:57:09PM +1000, Boyd Adamson wrote:
Well, thanks to your help, I've made some progress. Turns out that the files:
platforms/unix/src/plugins.int platforms/unix/src/plugins.ext
have mac line endings (CR) out of the box, which causes the code in mkconfig to populate int_plugins and ext_plugins with empty strings. This was causing none of the plugins to be built.
Aha. Well, actually those are Smalltalk line endings. The files you are looking at are generated by VMMaker, which is using a CrLfFileStream to write the files with what it hopes are the correct line terminators. It does this by using a CrLfFileStream to do the writing, which is supposed to be smart enough to convert the Smalltalk line terminators (CR) to whatever is most likely to make sense on Solaris (LF).
Have a look at MultiByteFileStream class>>guessDefaultLineEndConvention and CrLfFileStream class>>guessDefaultLineEndConvention. These are supposed to figure out the right line end convention for your platform, and set the class variable #LineEndDefault accordingly (for Solaris it should be #lf, such that the files created by VMMaker will use unix line end conventions). If these are not setting #LineEndDefault to #cr, that would be the cause of (some of) your VM building errors, and the next step is to figure out why #guessDefaultLineEndConvention is broken on Solaris.
Dave
"David T. Lewis" lewis@mail.msen.com writes:
On Wed, Oct 01, 2008 at 10:57:09PM +1000, Boyd Adamson wrote:
Well, thanks to your help, I've made some progress. Turns out that the files:
platforms/unix/src/plugins.int platforms/unix/src/plugins.ext
have mac line endings (CR) out of the box, which causes the code in mkconfig to populate int_plugins and ext_plugins with empty strings. This was causing none of the plugins to be built.
Aha. Well, actually those are Smalltalk line endings. The files you are looking at are generated by VMMaker, which is using a CrLfFileStream to write the files with what it hopes are the correct line terminators. It does this by using a CrLfFileStream to do the writing, which is supposed to be smart enough to convert the Smalltalk line terminators (CR) to whatever is most likely to make sense on Solaris (LF).
Have a look at MultiByteFileStream class>>guessDefaultLineEndConvention and CrLfFileStream class>>guessDefaultLineEndConvention. These are supposed to figure out the right line end convention for your platform, and set the class variable #LineEndDefault accordingly (for Solaris it should be #lf, such that the files created by VMMaker will use unix line end conventions). If these are not setting #LineEndDefault to #cr, that would be the cause of (some of) your VM building errors, and the next step is to figure out why #guessDefaultLineEndConvention is broken on Solaris.
Except the catch is that I'm using the sources as they come from SVN (or tarball, same problem) since I don't have a working Solaris VM.
There may be something I'm missing. I've never built a VM before and I'm just following the instructions in:
platforms/unix/doc/HowToBuildFromSource.txt
Which basically just says "Run make or run configure; make; make install"
Boyd
On Thu, Oct 02, 2008 at 02:25:54PM +1000, Boyd Adamson wrote:
"David T. Lewis" lewis@mail.msen.com writes:
On Wed, Oct 01, 2008 at 10:57:09PM +1000, Boyd Adamson wrote:
platforms/unix/src/plugins.int platforms/unix/src/plugins.ext
have mac line endings (CR) out of the box, which causes the code in mkconfig to populate int_plugins and ext_plugins with empty strings. This was causing none of the plugins to be built.
Aha. Well, actually those are Smalltalk line endings. The files you are looking at are generated by VMMaker, which is using a CrLfFileStream to write the files with what it hopes are the correct line terminators. It does this by using a CrLfFileStream to do the writing, which is supposed to be smart enough to convert the Smalltalk line terminators (CR) to whatever is most likely to make sense on Solaris (LF).
Except the catch is that I'm using the sources as they come from SVN (or tarball, same problem) since I don't have a working Solaris VM.
I'm sorry, I misunderstood (d'oh!). The plugins.int and plugins.ext in the platforms/unix/src directory do have <cr> line endings, while the ones that I get when generating them from VMMaker have the <cr> line endings. I suspect (but don't know) that the files you are using were generated with an older version of VMMaker, and that Tim may have fixed something in VMMaker since that time.
Sorry for adding to the confusion.
There may be something I'm missing. I've never built a VM before and I'm just following the instructions in:
platforms/unix/doc/HowToBuildFromSource.txt
Which basically just says "Run make or run configure; make; make install"
Generally that will work fine, although the configure process is rather arcane and may do strange things on a platform that it has not seen before.
Dave
Boyd Adamson wrote:
Hi,
I'm trying to build a recent VM on OpenSolaris (the Solaris Express distribution) on x86 but I have the same problem on recent Solaris 10.
It looks to me like the build is not making any of the plugins, causing the link phase to fail.
It feels like I'm missing some obvious switch or env var that's breaking the build.
Does anyone have any clues?
We had some trouble with compiling lots of software (openLDAP, several perl modules, imageMagick) for Solaris 10 - reason for it was Suns ld:
checking for ld used by gcc... /usr/ccs/bin/ld checking if the linker (/usr/ccs/bin/ld) is GNU ld... no checking for /usr/ccs/bin/ld option to reload object files... -r
So, I would suggest trying GNU ld:
mv /usr/ccs/bin/ld /usr/ccs/bin/ld_Solaris
install GNU ld
ln -s <gnuld_binary> /usr/ccs/bin/ld
and then try again.
If it does not work, just undo the mv and ln and your system is as before.
Claus Kick claus_kick@web.de writes:
Boyd Adamson wrote:
Hi,
I'm trying to build a recent VM on OpenSolaris (the Solaris Express distribution) on x86 but I have the same problem on recent Solaris 10.
It looks to me like the build is not making any of the plugins, causing the link phase to fail.
It feels like I'm missing some obvious switch or env var that's breaking the build.
Does anyone have any clues?
We had some trouble with compiling lots of software (openLDAP, several perl modules, imageMagick) for Solaris 10 - reason for it was Suns ld:
checking for ld used by gcc... /usr/ccs/bin/ld checking if the linker (/usr/ccs/bin/ld) is GNU ld... no checking for /usr/ccs/bin/ld option to reload object files... -r
So, I would suggest trying GNU ld:
mv /usr/ccs/bin/ld /usr/ccs/bin/ld_Solaris
install GNU ld
ln -s <gnuld_binary> /usr/ccs/bin/ld
and then try again.
If it does not work, just undo the mv and ln and your system is as before.
Hmm.. just tried that, since it seemed the easier option :), especially since gld is there in /usr/sfw/bin.
Unfortunately it seems it's not (just) the linker this time, since I got the same problem (albeit with slightly differently formatted errors from GNU ld).
Thanks,
Boyd
squeak-dev@lists.squeakfoundation.org