Gentoo AMD64 32bit build problems

Jimmie Houchin jhouchin at texoma.net
Fri Dec 5 15:17:16 UTC 2003


Hello,

I am presuming that a 64bit clean Squeak is non-trivial.
And I can offer nothing but doing someones bidding.

I am running Gentoo Linux which is 64bit on the AMD64 platform.

Yesterday, I installed the 32bit environment and the multilib GCC 3.3.2.

I exported this CFLAGS="-m32 -O2 -pipe -fomit-frame-pointer"
The -m32 enters me into the 32bit environment on this machine.

This gets me a successful configure and the opportunity to make.
Make fails.

Below is the output of configure and make.

Any help on how to successfully build squeak on Gentoo greatly appreciated.

Thanks.

Jimmie Houchin




I edited the make output slightly. Hopefully to aid readability and for 
brevity. No true content is removed only repeated content substituted.

""" is:
gcc -m32 -O2 -pipe -fomit-frame-pointer -DLSB_FIRST=1  -DHAVE_CONFIG_H 
-DSQUEAK_BUILTIN_PLUGIN -I/home/squeak/Squeak-3.6g-2/bld 
-I/home/squeak/Squeak-3.6g-2/platforms/unix/vm 
-I/home/squeak/Squeak-3.6g-2/platforms/Cross/vm 
-I/home/squeak/Squeak-3.6g-2/platforms/Cross/vm 
-I/home/squeak/Squeak-3.6g-2/platforms/unix/vm 
-I/home/squeak/Squeak-3.6g-2/src/vm 
-I/home/squeak/Squeak-3.6g-2/platforms/Cross/plugins/FilePlugin 
-I/home/squeak/Squeak-3.6g-2/platforms/unix/plugins/B3DAcceleratorPlugin 
-I/home/squeak/Squeak-3.6g-2/bld 
-I/home/squeak/Squeak-3.6g-2/platforms/unix/vm 
-I/home/squeak/Squeak-3.6g-2/platforms/Cross/vm   -c -o

... is the directory tree


output of script...



# ../platforms/unix/config/configure
checking sanity of VMMaker src directory... okay
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu

Configuring Squeak 3.6g-2 (3.6g-5420) for x86_64-linux-gnu

checking whether make sets ${MAKE}... yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix...
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for as... as
checking for GNU as... yes
checking for ranlib... ranlib
checking for a BSD compatible install... /bin/install -c
checking for BSD-compatible nm... /usr/bin/nm -B
checking for ln... ln
checking "size of int"... "okay"
checking "size of time_t"... "okay"
checking "size of double"... "okay"
checking for 64-bit integer type... long long
checking for ld used by GCC... /usr/x86_64-pc-linux-gnu/bin/ld
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object 
files... -r
checking whether ln -s works... yes
checking how to recognise dependant libraries... file_magic ELF 
[0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )
checking command to parse /usr/bin/nm -B output... ok
checking how to run the C preprocessor... gcc -E
checking for dlfcn.h... yes
checking for file... /usr/bin/file
checking for ranlib... (cached) ranlib
checking for strip... strip
checking for objdir... .libs
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking whether the linker (/usr/x86_64-pc-linux-gnu/bin/ld) supports 
shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether -lc should be explicitly linked in... no
creating libtool
checking for ANSI C header files... yes
checking for unistd.h... yes
checking for string.h... yes
checking for fcntl.h... yes
checking for sys/file.h... yes
checking for sys/param.h... yes
checking for sys/time.h... yes
checking for sys/filio.h... no
checking for sys/select.h... yes
checking for features.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 opendir in -ldir... no
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... 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... yes
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... no
checking for sin in -lm... yes
checking for _dyld_present... no
checking for dlfcn.h... (cached) yes
checking for dlopen... no
checking for dlopen in -ldl... yes
checking for snprintf... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... (cached) 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... (cached) yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking for x86_64 optimization flags... (none)
checking for mawk... no
checking for gawk... gawk
checking whether we can gnuify interp.c... yes
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/X11R6/lib, headers
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... no
checking for XOpenDisplay in -lX11... no
******** disabling vm-display-X11
checking for linux/fb.h... yes
checking for Mac OS X CoreAudio... no
******** disabling vm-sound-MacOSX
checking for Network Audio System... no
******** disabling vm-sound-NAS
checking for Open Sound System... yes
checking for SunOS/Solaris audio... no
******** disabling vm-sound-Sun
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
******** disabling B3DAcceleratorPlugin
checking for Objective C support... no
******** disabling ObjectiveCPlugin
checking for util.h... no
checking for libutil.h... no
checking for pty.h... yes
checking for stropts.h... yes
checking for library containing openpty... -lutil
checking for FFI support... requires libffi
checking for ffi.h... no
******** disabling SqueakFFIPrims
checking for XOpenDisplay in -lX11... (cached) no
******** disabling XDisplayControlPlugin
configure: creating ./config.status
config.status: creating mkconfig
config.status: creating make.cfg
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
tail: `-1' option is obsolete; use `-n 1'
Try `tail --help' for more information.
tail: `-1' option is obsolete; use `-n 1'
Try `tail --help' for more information.
creating vm/Makefile
creating vm-display-fbdev/Makefile
creating vm-display-null/Makefile
creating vm-sound-OSS/Makefile
creating vm-sound-null/Makefile


bld # make
gawk -f /home/squeak/Squeak-3.6g-2/platforms/unix/config/gnuify 
/home/squeak/Squeak-3.6g-2/src/vm/interp.c > gnu-interp.c.out
copying first section of file
interpret: adding static register assignments
interpret: adding bytecode dispatch table
interpret: rewriting case labels and outer breaks
primitiveResponse: adding primitive dispatch table
primitiveResponse: rewriting case labels
primitiveResponse: adding primitive dispatch
copying last section of file
mv gnu-interp.c.out gnu-interp.c
""" gnu-interp.o gnu-interp.c
""" sqNamedPrims.o /.../Cross/vm/sqNamedPrims.c
""" sqVirtualMachine.o /.../Cross/vm/sqVirtualMachine.c
""" aio.o /.../unix/vm/aio.c
""" debug.o /.../unix/vm/debug.c
""" osExports.o /.../unix/vm/osExports.c
""" sqUnixExternalPrims.o /.../unix/vm/sqUnixExternalPrims.c
""" sqUnixMemory.o /.../unix/vm/sqUnixMemory.c
""" sqUnixCharConv.o /.../unix/vm/sqUnixCharConv.c
""" sqUnixMain.o /.../unix/vm/sqUnixMain.c
ar -rc vm.a gnu-interp.o sqNamedPrims.o sqVirtualMachine.o aio.o debug.o 
osExports.o sqUnixExternalPrims.o sqUnixMemory.o sqUnixCharConv.o 
sqUnixMain.o
ranlib vm.a
gcc -m32 -O2 -pipe -fomit-frame-pointer -DLSB_FIRST=1    -export-dynamic 
-c -o disabledPlugins.o disabledPlugins.c
/home/squeak/Squeak-3.6g-2/platforms/unix/config/verstamp version.c gcc
tail: `-1' option is obsolete; use `-n 1'
Try `tail --help' for more information.
gcc -m32 -O2 -pipe -fomit-frame-pointer -DLSB_FIRST=1    -export-dynamic 
-c -o version.o version.c
/bin/sh /home/squeak/Squeak-3.6g-2/bld/libtool --mode=link gcc -m32 -O2 
-pipe -fomit-frame-pointer -DLSB_FIRST=1    -export-dynamic 
-R/usr/local/lib -o squeak vm/vm.a disabledPlugins.o version.o -lutil 
-ldl -lm -lnsl   vm/vm.a
mkdir .libs
gcc -m32 -O2 -pipe -fomit-frame-pointer -DLSB_FIRST=1 -o squeak 
disabledPlugins.o version.o -Wl,--export-dynamic  vm/vm.a -lutil -ldl 
-lm -lnsl vm/vm.a -Wl,--rpath -Wl,/usr/local/lib
vm/vm.a(sqNamedPrims.o)(.data+0x8): undefined reference to 
`ADPCMCodecPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0xc): undefined reference to 
`AsynchFilePlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x10): undefined reference to 
`Squeak3D_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x14): undefined reference to 
`BMPReadWriterPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x18): undefined reference to 
`B2DPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x1c): undefined reference to 
`BitBltPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x20): undefined reference to 
`DSAPrims_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x24): undefined reference to 
`ZipPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x28): undefined reference to 
`DropPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x30): undefined reference to 
`FFTPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x34): undefined reference to 
`FileCopyPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x38): undefined reference to 
`FilePlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x3c): undefined reference to 
`FloatArrayPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x40): undefined reference to 
`GeniePlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x44): undefined reference to 
`JPEGReadWriter2Plugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x48): undefined reference to 
`JPEGReaderPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x4c): undefined reference to 
`JoystickTabletPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x50): undefined reference to `Klatt_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x54): undefined reference to 
`LargeIntegers_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x58): undefined reference to 
`MIDIPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x5c): undefined reference to 
`Matrix2x3Plugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x60): undefined reference to 
`MiscPrimitivePlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x64): undefined reference to 
`Mpeg3Plugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x68): undefined reference to 
`RePlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x6c): undefined reference to 
`SecurityPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x70): undefined reference to 
`SerialPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x74): undefined reference to 
`SocketPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x78): undefined reference to 
`SoundCodecPrims_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x7c): undefined reference to 
`SoundGenerationPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x80): undefined reference to 
`SoundPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x84): undefined reference to 
`StarSqueakPlugin_exports'
vm/vm.a(sqNamedPrims.o)(.data+0x88): undefined reference to 
`SurfacePlugin_exports'
collect2: ld returned 1 exit status
make: *** [squeak] Error 1




More information about the Squeak-dev mailing list