Hello I am attempting to build a VM on Linux (Ubuntu), Athlon.
gcc 3.4.2 -O3 -pipe -fomit-frame-pointer
3.7-5989-full.image VMMaker 3.7b-5 unix sources
Here is the output of configure and an edited make.
My Ubuntu install did not have dev tools or any headers. So I've over the course of events added what I saw I needed as much as could see.
If I am missing any tools or headers which I should have let me know. If there are any better CFLAGS options than I listed at the top for an optimized Linux build let me know.
Any help greatly appreciated.
Jimmie Houchin
jimmie@squirrel:~/Desktop/b-3.7b-5/Squeak-3.7b-5/bld$ ../platforms/unix/config/configure checking sanity of VMMaker src directory... okay checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu
Configuring Squeak 3.7b-5 (3.7b-5868) for i686-pc-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 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 ANSI C... none needed checking for as... as checking for GNU as... yes checking for ranlib... ranlib checking for a BSD-compatible install... /usr/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 a sed that does not truncate output... /bin/sed checking for egrep... grep -E checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking how to run the C preprocessor... gcc -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 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... no checking for f77... no checking for xlf... no checking for frt... no checking for pgf77... no checking for fl32... no checking for af77... no checking for fort77... no checking for f90... no checking for xlf90... no checking for pgf90... no checking for epcf90... no checking for f95... no checking for fort... no checking for xlf95... no checking for lf95... no checking for g95... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 32768 checking command to parse /usr/bin/nm -B 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/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 configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking whether the g++ linker (/usr/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/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 appending configuration tag "F77" to libtool 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... no checking sys/filio.h presence... no checking for sys/filio.h... no checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking features.h usability... yes checking features.h presence... 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 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... 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 stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for i686 optimization flags... "-fomit-frame-pointer" checking for gawk... no checking for mawk... mawk 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/X11R6/lib, headers /usr/X11R6/include 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... no checking GL/gl.h presence... no checking for GL/gl.h... no checking linux/fb.h usability... yes checking linux/fb.h presence... yes 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 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 ******** disabling B3DAcceleratorPlugin checking for Objective C support... no ******** disabling ObjectiveCPlugin 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... yes checking pty.h presence... yes checking for pty.h... yes checking stropts.h usability... yes checking stropts.h presence... yes checking for stropts.h... yes checking for library containing openpty... -lutil checking for FFI support... x86-sysv checking for XOpenDisplay in -lX11... (cached) yes 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 config.status: executing default commands creating vm/Makefile creating vm-display-X11/Makefile creating vm-display-fbdev/Makefile creating vm-display-null/Makefile creating vm-sound-OSS/Makefile creating vm-sound-null/Makefile creating ADPCMCodecPlugin/Makefile creating AsynchFilePlugin/Makefile creating Squeak3D/Makefile creating BMPReadWriterPlugin/Makefile creating B2DPlugin/Makefile creating BitBltPlugin/Makefile creating DSAPrims/Makefile creating ZipPlugin/Makefile creating DropPlugin/Makefile creating SqueakFFIPrims/Makefile creating FFTPlugin/Makefile creating FileCopyPlugin/Makefile creating FilePlugin/Makefile creating FloatArrayPlugin/Makefile creating JPEGReadWriter2Plugin/Makefile creating JPEGReaderPlugin/Makefile creating LargeIntegers/Makefile creating Matrix2x3Plugin/Makefile creating MiscPrimitivePlugin/Makefile creating RePlugin/Makefile creating SecurityPlugin/Makefile creating SerialPlugin/Makefile creating SocketPlugin/Makefile creating SoundPlugin/Makefile
jimmie@squirrel:~/Desktop/b-3.7b-5/Squeak-3.7b-5/bld$ make gcc -O3 -pipe -fomit-frame-pointer -fomit-frame-pointer -DLSB_FIRST=1 -DHAVE_CONFIG_H -DSQUEAK_BUILTIN_PLUGIN -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/bld -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/platforms/unix/vm -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/platforms/Cross/vm -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/platforms/Cross/vm -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/platforms/unix/vm -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/src/vm -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/platforms/Cross/plugins/FilePlugin -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/platforms/unix/plugins/B3DAcceleratorPlugin -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/bld -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/platforms/unix/vm -I/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/platforms/Cross/vm -I/usr/X11R6/include -c -o interp.o /home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/src/vm/interp.c /home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/src/vm/interp.c:734: error: syntax error before "const"warning: initialization makes integer from pointer without a cast ... warning: initialization makes integer from pointer without a cast make[1]: *** [interp.o] Error 1 make: *** [vm/vm.a] Error 2
Am 14.11.2004 um 00:44 schrieb Jimmie Houchin:
Hello I am attempting to build a VM on Linux (Ubuntu), Athlon. e output of configure and an edited make.
You shouldn't have to edit the makefile.
If I am missing any tools or headers which I should have let me know.
...
checking for gawk... no checking for mawk... mawk checking whether we can gnuify interp.c... no
This is bad. Without gnuifying you will get a sub-par performance. Install gawk. However, the compile should work.
/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/src/vm/interp.c:734: error: syntax error before "const"
Can you attach the source code lines surrounding that error? This should not happen. Did you try without -O3?
Did you generate the interpreter sources on your own? This is the stuff inside the src/ dir, as opposed to the platforms/ tree.
- Bert -
Bert Freudenberg wrote:
Am 14.11.2004 um 00:44 schrieb Jimmie Houchin:
Hello I am attempting to build a VM on Linux (Ubuntu), Athlon. e output of configure and an edited make.
You shouldn't have to edit the makefile.
My apologies. I was unclear above. I edited the lines in the output of the attempted make, not the make file. The "..." in the output represented a few hundered almost identical lines.
If I am missing any tools or headers which I should have let me know.
...
checking for gawk... no checking for mawk... mawk checking whether we can gnuify interp.c... no
This is bad. Without gnuifying you will get a sub-par performance. Install gawk. However, the compile should work.
Will do.
/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/src/vm/interp.c:734: error: syntax error before "const"
Can you attach the source code lines surrounding that error?
731: { NULL, NULL, NULL } 732: }; 733: unsigned char* memory; 734: fptr const primitiveTable[] = { 735: primitiveFail, 736: primitiveAdd,
I have also emailed the entire interp.c to Ian. He emailed and asked.
This should not happen. Did you try without -O3?
No, not yet. But will.
Did you generate the interpreter sources on your own? This is the stuff inside the src/ dir, as opposed to the platforms/ tree.
Yes, generated by VMMaker in the 3.7-5989-full.image and are in the src/ dir. I added all plugins as internal, then removed all which had to do with sound.
I knew my build environment was probably incomplete. But I do not know what is necessary, what is beneficial and what is redundant.
Thanks for the help.
Jimmie Houchin.
Am 14.11.2004 um 16:02 schrieb Jimmie Houchin:
/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/src/vm/interp.c:734: error: syntax error before "const"
Can you attach the source code lines surrounding that error?
731: { NULL, NULL, NULL } 732: }; 733: unsigned char* memory; 734: fptr const primitiveTable[] = { 735: primitiveFail, 736: primitiveAdd,
There should be this typedef in platforms/Cross/vm/sq.h, which normally is #included in interp.c:
typedef int (*fptr) (void);
I wonder why this is not found?
- Bert -
Bert Freudenberg wrote:
Am 14.11.2004 um 16:02 schrieb Jimmie Houchin:
/home/jimmie/Desktop/b-3.7b-5/Squeak-3.7b-5/src/vm/interp.c:734: error: syntax error before "const"
Can you attach the source code lines surrounding that error?
731: { NULL, NULL, NULL } 732: }; 733: unsigned char* memory; 734: fptr const primitiveTable[] = { 735: primitiveFail, 736: primitiveAdd,
There should be this typedef in platforms/Cross/vm/sq.h, which normally is #included in interp.c:
typedef int (*fptr) (void);
I wonder why this is not found?
Here's the story as best Ian and I can tell. I sent Ian my interp.c after my email and I agreed with his analysis.
It appears I accidently used the 3.7x-5 (64bit able) sources with a pre-64bit able image. They didn't agree with each other and thus the error.
Ian >> It's complaining about "fptr", which is (should be) a Ian >> user-defined type meaning "pointer to anonymous function". Ian >> Ian >> While making the 64-bit stuff work I removed all notions of Ian >> "anonymity" in function pointers, insisting that all functions be Ian >> fully and correctly typed (return values, parameters, etc.).
Hope that shines a little light on the issue.
Thanks for your help and looking at this.
Jimmie Houchin
If I am missing any tools or headers which I should have let me know.
...
checking for gawk... no checking for mawk... mawk checking whether we can gnuify interp.c... no
This is bad. Without gnuifying you will get a sub-par performance. Install gawk. However, the compile should work.
That is sad. I posted a awk-agnostic gnuify script years ago along with edits to the configure scripts to use any awk it finds and not insist on GNU awk. I guess it slipped through the cracks.
Anyway, you'll certainly want to install GNU awk as Bert suggests, if that's the only way to get the gnuified interp.c.
-Lex
squeak-dev@lists.squeakfoundation.org