I've been banging my head against building Cog on the primary new Squeak server off and on now for a couple of weeks. This server is 64bit Debian. Note that I don't need and am not trying to build a 64bit VM, a 32bit VM is fine, at least for the time being. I did of course read unixbuild/HowToBuild and the notes about building on 64bit. Unfortunately that doesn't work, in fact it fails quite early during the configure step (details in a moment). So after looking around a bit I decided that it was all wrong and instead '-m32' should be in CFLAGS. Well that certainly got me a lot farther but then I run into issues linking where gcc is used but without CFLAGS and it goes all pear shaped. So with my tail between my legs I go back today and try the original suggestion again and to see if I can fix/workaround it. And in fact I'm doing that right now. But then I also decided that I should ask for help, so here I am. Details: kencausey@squeak-box4:~/source/cog/svn/Cog/unixbuild/bld$ \ ../../platforms/unix/config/configure CC="gcc -m32" CXX="g++ -m32"\ --without-npsqueak CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE \ -D_FILE^J_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 \ -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0" LIBS=-lpthread \ > myconf.log 2>&1 & ... checking for gcc... gcc -m32 checking for C compiler default output file name... configure: error: C compiler cannot create executables See `config.log' for more details. excerpt from config.log: configure:1862: checking for gcc configure:1888: result: gcc -m32 configure:2132: checking for C compiler version configure:2135: gcc -m32 --version </dev/null >&5 gcc (Debian 4.4.5-8) 4.4.5 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:2138: $? = 0 configure:2140: gcc -m32 -v </dev/null >&5 Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.5 (Debian 4.4.5-8) configure:2143: $? = 0 configure:2145: gcc -m32 -V </dev/null >&5 gcc: '-V' must come at the start of the command line configure:2148: $? = 1 configure:2171: checking for C compiler default output file name configure:2174: gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -D_FILE _OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0 conftest.c -lpthread >&5 gcc: _OFFSET_BITS=64: No such file or directory configure:2177: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define SQ_VERSION "4.2-0" | #define VM_VERSION "4.0-2673" | #define OS_TYPE "unix" | #define VM_HOST "x86_64-linux-gnu" | #define VM_HOST_OS "linux-gnu" | #define VM_HOST_CPU "x86_64" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:2216: error: C compiler cannot create executables See `config.log' for more details. Ken |
On 26/01/13 20:52, Ken Causey wrote: > > I've been banging my head against building Cog on the primary new > Squeak server off and on now for a couple of weeks. This server is > 64bit Debian. Note that I don't need and am not trying to build a > 64bit VM, a 32bit VM is fine, at least for the time being. > > I did of course read unixbuild/HowToBuild and the notes about building > on 64bit. Unfortunately that doesn't work, in fact it fails quite > early during the configure step (details in a moment). So after > looking around a bit I decided that it was all wrong and instead > '-m32' should be in CFLAGS. Well that certainly got me a lot farther > but then I run into issues linking where gcc is used but without > CFLAGS and it goes all pear shaped. > > So with my tail between my legs I go back today and try the original > suggestion again and to see if I can fix/workaround it. And in fact > I'm doing that right now. But then I also decided that I should ask > for help, so here I am. > > Details: > > kencausey@squeak-box4:~/source/cog/svn/Cog/unixbuild/bld$ \ > ../../platforms/unix/config/configure CC="gcc -m32" CXX="g++ -m32"\ > --without-npsqueak CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE \ > -D_FILE^J_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 \ > -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0" LIBS=-lpthread \ > > myconf.log 2>&1 & > > ... > > checking for gcc... gcc -m32 > checking for C compiler default output file name... configure: error: > C compiler cannot create executables > See `config.log' for more details. > > excerpt from config.log: > > configure:1862: checking for gcc > configure:1888: result: gcc -m32 > configure:2132: checking for C compiler version > configure:2135: gcc -m32 --version </dev/null >&5 > gcc (Debian 4.4.5-8) 4.4.5 > Copyright (C) 2010 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There > is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR > PURPOSE. > > configure:2138: $? = 0 > configure:2140: gcc -m32 -v </dev/null >&5 > Using built-in specs. > Target: x86_64-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Debian > 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs > --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr > --program-suffix=-4.4 --enable-shared --enable-multiarch > --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib > --without-included-gettext --enable-threads=posix > --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib > --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug > --enable-objc-gc --with-arch-32=i586 --with-tune=generic > --enable-checking=release --build=x86_64-linux-gnu > --host=x86_64-linux-gnu --target=x86_64-linux-gnu > Thread model: posix > gcc version 4.4.5 (Debian 4.4.5-8) > configure:2143: $? = 0 > configure:2145: gcc -m32 -V </dev/null >&5 > gcc: '-V' must come at the start of the command line > configure:2148: $? = 1 > configure:2171: checking for C compiler default output file name > configure:2174: gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -D_FILE > _OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 > -DCOGMTVM=0 -DDEBUGVM=0 conftest.c -lpthread >&5 > gcc: _OFFSET_BITS=64: No such file or directory > configure:2177: $? = 1 > configure: failed program was: > | /* confdefs.h. */ > | > | #define PACKAGE_NAME "" > | #define PACKAGE_TARNAME "" > | #define PACKAGE_VERSION "" > | #define PACKAGE_STRING "" > | #define PACKAGE_BUGREPORT "" > | #define SQ_VERSION "4.2-0" > | #define VM_VERSION "4.0-2673" > | #define OS_TYPE "unix" > | #define VM_HOST "x86_64-linux-gnu" > | #define VM_HOST_OS "linux-gnu" > | #define VM_HOST_CPU "x86_64" > | /* end confdefs.h. */ > | > | int > | main () > | { > | > | ; > | return 0; > | } > configure:2216: error: C compiler cannot create executables > See `config.log' for more details. > > Ken Not certain but this bit looks suspect: -D_FILE^J_OFFSET_BITS=64 |
In reply to this post by Ken Causey-3
On 01/26/2013 Derek wrote: > Not certain but this bit looks suspect: -D_FILE^J_OFFSET_BITS=64 *sigh* Yes, and in fact this is far from the first time this cut and paste error has bit me in the last week. Sorry. Ignore this email for now. However I think I will be back because I run into more trouble (but then frankly I may be getting confused now.) Ken |
On 26/01/13 21:16, Ken Causey wrote: > > On 01/26/2013 Derek wrote: > > Not certain but this bit looks suspect: -D_FILE^J_OFFSET_BITS=64 > > *sigh* Yes, and in fact this is far from the first time this cut and > paste error has bit me in the last week. Sorry. Ignore this email > for now. However I think I will be back because I run into more > trouble (but then frankly I may be getting confused now.) > > Ken No problem Ken :-) I hit similar problems every time I compile a VM on a new system/os-version and just have to plod my way through. |
In reply to this post by Ken Causey-3
On 01/26/2013 03:16 PM, Ken Causey wrote: > On 01/26/2013 Derek wrote: > > Not certain but this bit looks suspect: -D_FILE^J_OFFSET_BITS=64 > > *sigh* Yes, and in fact this is far from the first time this cut and > paste error has bit me in the last week. Sorry. Ignore this email > for now. However I think I will be back because I run into more > trouble (but then frankly I may be getting confused now.) > > Ken First let me apologize for the HTML email but this seems to be the only solution when you need to support long lines (with Thunderbird (aka IceDove) which I'm currently using.) Yes, confused is the word. Sorry about the spurious initial report. As predicted I did run into a problem but I don't remember seeing this one before. First as far as I can tell currently configure runs fine when you don't make a cut and paste error. The problem I'm running into now is with building BochsIA32Plugin: /bin/bash /home/kencausey/source/cog/svn/Cog/unixbuild/bld/libtool --mode=compile g++ -g -O2 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0 -msse -DLSB_FIRST=1 -m32 -DHAVE_CONFIG_H -I/home/kencausey/source/cog/svn/Cog/unixbuild/bld -I/home/kencausey/source/cog/svn/Cog/unixbuild/bld -I/home/kencausey/source/cog/svn/Cog/platforms/unix/vm -I/home/kencausey/source/cog/svn/Cog/platforms/Cross/vm -I/home/kencausey/source/cog/svn/Cog/src/vm -I/home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin -m32 -DUSE_BOCHS_CONFIG_H=1 -I/home/kencausey/source/cog/svn/Cog/processors/IA32/linuxbochs -I/home/kencausey/source/cog/svn/Cog/processors/IA32/bochs -I/home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/instrument/stubs -c -o sqBochsIA32Plugin.lo /home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp g++ -g -O2 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0 -msse -DLSB_FIRST=1 -m32 -DHAVE_CONFIG_H -I/home/kencausey/source/cog/svn/Cog/unixbuild/bld -I/home/kencausey/source/cog/svn/Cog/unixbuild/bld -I/home/kencausey/source/cog/svn/Cog/platforms/unix/vm -I/home/kencausey/source/cog/svn/Cog/platforms/Cross/vm -I/home/kencausey/source/cog/svn/Cog/src/vm -I/home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin -m32 -DUSE_BOCHS_CONFIG_H=1 -I/home/kencausey/source/cog/svn/Cog/processors/IA32/linuxbochs -I/home/kencausey/source/cog/svn/Cog/processors/IA32/bochs -I/home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/instrument/stubs -c /home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp -fPIC -DPIC -DPIC -o sqBochsIA32Plugin.o In file included from /home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp:7: /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/bochs.h:38:84: error: bochsconfig.h: No such file or directory /home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp:17:1: warning: "setjmp" redefined In file included from /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:1069, from /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/bochs.h:117, from /home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp:7: /usr/include/setjmp.h:69:1: warning: this is the location of the previous definition /home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp:282: warning: integer constant is too large for 'long' type /home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp:286: warning: integer constant is too large for 'long' type In file included from /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/bochs.h:113, from /home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp:7: /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/osdep.h:150: error: 'Bit64u' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/osdep.h:165: error: conflicting declaration 'typedef int socklen_t' /usr/include/unistd.h:275: error: 'socklen_t' has a previous declaration as 'typedef __socklen_t socklen_t' In file included from /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/bochs.h:114, from /home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp:7: /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/bx_debug/debug.h:34: error: 'Bit32u' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/bx_debug/debug.h:36: error: 'Bit32u' does not name a type In file included from /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/bochs.h:117, from /home/kencausey/source/cog/svn/Cog/platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp:7: /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:370: error: 'Bit32s' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:396: error: 'Bit32u' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:397: error: 'bx_bool' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:407: error: 'Bit16s' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:408: error: 'Bit8u' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:474: error: 'Bit8u' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:530: error: 'Bit32s' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:580: error: variable 'BOCHSAPI bx_object_c' has initializer but incomplete type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:580: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:581: error: expected primary-expression before 'private' /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:581: error: expected '}' before 'private' /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:581: error: expected ',' or ';' before 'private' /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:584: error: expected unqualified-id before 'protected' /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:586: error: expected unqualified-id before 'public' /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:588: error: expected class-name before '(' token /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:589: error: 'Bit32u' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:590: error: 'Bit8u' does not name a type /home/kencausey/source/cog/svn/Cog/processors/IA32/bochs/gui/siminterface.h:591: error: expected declaration before '}' token make[1]: *** [sqBochsIA32Plugin.lo] Error 1 make: *** [BochsIA32Plugin.la] Error 2 I believe the core problem is that it fails to find bochsconfig.h and yet is is in processors/IA32/linuxbochs/bochsconfig.h Oops. No. $ ls -l /home/kencausey/source/cog/svn/Cog/processors/IA32/linuxbochs/ total 4 lrwxrwxrwx 1 kencausey kencausey 8 Jan 23 22:04 bochsconfig.h -> config.h -rwxr-xr-x 1 kencausey kencausey 1436 Jan 23 22:04 conf.COG bochsconfig.h is a symlink and a dead one at that as there is no config.h in that directory. Just to check I checked out a fresh copy from svn and I see the same in that checkout. Ken |
On 01/26/2013 03:50 PM, Ken Causey wrote: > The problem I'm running into now is with building BochsIA32Plugin: And a little more careful reading would have indicated that this is because I missed a step. Well, no, I don't really have any need for the Cog VM simulator. So how do I disable building this plugin? Do I need to run VMMaker? Unless I'm misunderstanding it seems like a mistake to me to have that plugin built by default. But then I guess I am building from development (SVN) sources. Ken |
On 01/26/2013 04:02 PM, Ken Causey wrote: > On 01/26/2013 03:50 PM, Ken Causey wrote: >> The problem I'm running into now is with building BochsIA32Plugin: > > And a little more careful reading would have indicated that this is > because I missed a step. Well, no, I don't really have any need for the > Cog VM simulator. So how do I disable building this plugin? Do I need to > run VMMaker? > > Unless I'm misunderstanding it seems like a mistake to me to have that > plugin built by default. But then I guess I am building from development > (SVN) sources. > > Ken I'm still hoping there may be something a little simpler than using VMMaker and regenerating the source but while I wait for a response I decided I could at least take a look. First it should be noted that the instructions in HowToBuild are a bit out of date referring to files http://www.squeakvm.org/svn/squeak/branches/Cog/image/VMMaker-Squeak4.1.changes http://www.squeakvm.org/svn/squeak/branches/Cog/image/VMMaker-Squeak4.1.image when apparently CogTrunk43.images and CogTrunk43.changes are apparently the current files in SVN. No? I ran that and tried VMMaker generateConfiguration but this ran into an MNU for UnixFileDirectory>>pathFromURI: (in VMMaker class>>generateCogVM) which in fact is not defined in this image. I'm looking into it myself but any available assistance would be appreciated. Ken |
On 01/26/2013 04:31 PM, Ken Causey wrote: > On 01/26/2013 04:02 PM, Ken Causey wrote: >> On 01/26/2013 03:50 PM, Ken Causey wrote: >>> The problem I'm running into now is with building BochsIA32Plugin: >> >> And a little more careful reading would have indicated that this is >> because I missed a step. Well, no, I don't really have any need for the >> Cog VM simulator. So how do I disable building this plugin? Do I need to >> run VMMaker? >> >> Unless I'm misunderstanding it seems like a mistake to me to have that >> plugin built by default. But then I guess I am building from development >> (SVN) sources. >> >> Ken > > I'm still hoping there may be something a little simpler than using > VMMaker and regenerating the source but while I wait for a response I > decided I could at least take a look. First it should be noted that the > instructions in HowToBuild are a bit out of date referring to files > > > http://www.squeakvm.org/svn/squeak/branches/Cog/image/VMMaker-Squeak4.1.changes > > http://www.squeakvm.org/svn/squeak/branches/Cog/image/VMMaker-Squeak4.1.image > > > when apparently > > CogTrunk43.images and CogTrunk43.changes are apparently the current > files in SVN. No? > > I ran that and tried VMMaker generateConfiguration but this ran into an > MNU for UnixFileDirectory>>pathFromURI: (in VMMaker > class>>generateCogVM) which in fact is not defined in this image. > > I'm looking into it myself but any available assistance would be > appreciated. > > Ken First a correction s/VMMaker class>>generateCogVM/VMMaker class>>generateSqueakCogVM/. I worked around the pathFromURI: issue by replacing it with fullNameFor: which seems to fit the bill. But now I'm running into one that's bit more of a challenge for me. In CCodeGenerator>>addMethodFor:selector: there is 'VMClass getVMMaker'. VMClass class>getVMMaker contains a bit of exception system trickery which I'm still trying to grok. But the current symptom is that this returns nil and trying to send #cogitClassName to nil doesn't get very far. Ken |
In reply to this post by Ken Causey-3
On Sat, Jan 26, 2013 at 04:02:04PM -0600, Ken Causey wrote: > > On 01/26/2013 03:50 PM, Ken Causey wrote: > >The problem I'm running into now is with building BochsIA32Plugin: > > And a little more careful reading would have indicated that this is > because I missed a step. Well, no, I don't really have any need for the > Cog VM simulator. So how do I disable building this plugin? Do I need > to run VMMaker? > > Unless I'm misunderstanding it seems like a mistake to me to have that > plugin built by default. But then I guess I am building from > development (SVN) sources. In the Cog build procedure, compiling a plugin is enabled by including the plugin in either the plugins.ext or plugins.int file. These two files should be in your build directory, and the idea is to edit them prior to running configure. To get rid of the that plugin, just find it in one of those two files and edit it out. If you do want to try running VMMaker, there is a script on the squeakci.org server in the CogVM job that may serve as a useful reference. Look in the workspace for the script file http://squeakci.org/job/CogVM/ws/VMCogUnixBuild.st You should edit the file and change one line to this before using it, otherwise it will exit your image without saving after you run it: exitWhenDone := true. "<== EDIT THIS" That done, you should be able to just file in the script and end up with a Cog VM. Note that the script will write its own plugins.ext and plugins.int files before it does the configure step, so you will probably want to edit that to add the plugins you want. There is a similar build script for the interpreter VM on squeakci.org also. This uses Ian Piumarta's CMake based build process, which eliminates some of the annoyances you are dealing with here. But that won't help you if you are building a Cog VM, so you'll just need to fiddle with the plugins.ext, plugins.int, and configure parameters until you get what you need. Of course CMake has its own set of annoyances, so pick your poison ;-) HTH, Dave |
In reply to this post by Ken Causey-3
On 01/26/2013 04:02 PM, Ken Causey wrote: > On 01/26/2013 03:50 PM, Ken Causey wrote: >> The problem I'm running into now is with building BochsIA32Plugin: > > And a little more careful reading would have indicated that this is > because I missed a step. Well, no, I don't really have any need for the > Cog VM simulator. So how do I disable building this plugin? Do I need to > run VMMaker? > > Unless I'm misunderstanding it seems like a mistake to me to have that > plugin built by default. But then I guess I am building from development > (SVN) sources. > > Ken David wrote: > In the Cog build procedure, compiling a plugin is enabled by including the > plugin in either the plugins.ext or plugins.int file. These two files should > be in your build directory, and the idea is to edit them prior to running > configure. To get rid of the that plugin, just find it in one of those two > files and edit it out. > > If you do want to try running VMMaker, there is a script on the squeakci.org > server in the CogVM job that may serve as a useful reference. Look in the > workspace for the script file http://squeakci.org/job/CogVM/ws/VMCogUnixBuild.st > > You should edit the file and change one line to this before using it, otherwise > it will exit your image without saving after you run it: > > exitWhenDone := true. "<== EDIT THIS" > > That done, you should be able to just file in the script and end up with > a Cog VM. Note that the script will write its own plugins.ext and plugins.int > files before it does the configure step, so you will probably want to edit > that to add the plugins you want. > > There is a similar build script for the interpreter VM on squeakci.org > also. This uses Ian Piumarta's CMake based build process, which eliminates > some of the annoyances you are dealing with here. But that won't help you > if you are building a Cog VM, so you'll just need to fiddle with the > plugins.ext, plugins.int, and configure parameters until you get what > you need. Of course CMake has its own set of annoyances, so pick your > poison ;-) > > HTH, > Dave Thanks Dave! It's been some years since I did more than configure ; make ; make install when building a VM so I've gotten lazy and my memory has faded significantly. I'll stop fighting with the CogVM image for now and try to just modify the plugins files and get on with it. Thanks for the build script, hopefully I won't need it, but now I have it as another reference. Ken |
Thanks to Dave's reminders about plugins.int and plugins.ext I managed to get past the step of building at least an initial Cog VM for testing. But running the tests with a 4.4-12327 image and the built VM resulted in a crash: Squeak VM version: 4.0-2673 #1 Sun Jan 27 00:56:27 CET 2013 gcc 4.4.5 Built from: CoInterpreter VMMaker.oscog-eem.258 uuid: da1433f1-de50-475f-be33-f462b300a2ea Jan 27 2013 With: StackToRegisterMappingCogit VMMaker.oscog-eem.256 uuid: bfea3efd-4e81-4e85-922e-cf4f58ee5d64 Jan 27 2013 Revision: VM: r2673 http://www.squeakvm.org/svn/squeak/branches/Cog Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cros s/plugins Build host: Linux squeak-box4 2.6.32-xenU-7428-x86_64 #4 SMP Mon Nov 19 10:17:25 UTC 2012 x86_64 GNU/Linux plugin path: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/ [default: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/] C stack backtrace: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/squeak[0x805fc04] /home/kencausey/source/cog/svn/Cog/unixbuild/bld/squeak[0x805fe9f] [0xffffe410] [0xb7255bc9] [0xb722d07e] [0xb722d176] [0xb722d011] [0xb725d9d6] [0xb72e6ad8] [0xb72e6a54] [0xb725535f] [0xb720b2f2] [0xb7209668] Smalltalk stack dump: 0xffb30850 M [] in MorphicUIManager>displayProgress:at:from:to:during: -1211236388: a(n) MorphicUIManager 0xffb3086c M BlockClosure>cull: -1200277580: a(n) BlockClosure 0xffb3088c M [] in MethodContext(ContextPart)>handleSignal: -1200277332: a(n) MethodContext 0xffb308ac M BlockClosure>ensure: -1200235732: a(n) BlockClosure 0xffb308cc M MethodContext(ContextPart)>handleSignal: -1200277332: a(n) MethodContext 0xffb308e8 M ProgressNotification(Exception)>signal -1200236048: a(n) ProgressNotification 0xffb30900 M ProgressNotification(Exception)>signal: -1200236048: a(n) ProgressNotification 0xffb30920 M ProgressNotification class>signal:extra: -1215814820: a(n) ProgressNotification class 0xffb3095c M [] in OrderedCollection(Collection)>do:displayingProgress:every: -1200427368: a(n) OrderedCollection 0xffb3097c M OrderedCollection>do: -1200427368: a(n) OrderedCollection 0xffb31fd4 M [] in OrderedCollection(Collection)>do:displayingProgress:every: -1200427368: a(n) OrderedCollection 0xffb31ffc M [] in MorphicUIManager>displayProgress:at:from:to:during: -1211236388: a(n) MorphicUIManager 0xffb32018 M BlockClosure>on:do: -1200277612: a(n) BlockClosure 0xffb32044 M [] in MorphicUIManager>displayProgress:at:from:to:during: -1211236388: a(n) MorphicUIManager 0xffb32064 M BlockClosure>ensure: -1200277760: a(n) BlockClosure 0xffb32088 M MorphicUIManager>displayProgress:at:from:to:during: -1211236388: a(n) MorphicUIManager 0xffb320b4 M ProgressInitiationException>defaultResumeValue -1200278516: a(n) ProgressInitiationException 0xffb320d0 M ProgressInitiationException(Exception)>resume -1200278516: a(n) ProgressInitiationException 0xffb320e8 M ProgressInitiationException>defaultAction -1200278516: a(n) ProgressInitiationException 0xffb32104 M UndefinedObject>handleSignal: -1221554172: a(n) UndefinedObject 0xffb32120 M ProgressInitiationException(Exception)>signal -1200278516: a(n) ProgressInitiationException 0xffb32138 M ProgressInitiationException>display:at:from:to:during: -1200278516: a(n) ProgressInitiationException 0xffb3216c I ProgressInitiationException class>display:at:from:to:during: -1210997420: a(n) ProgressInitiationException class 0xffb30040 I ByteString(String)>displayProgressAt:from:to:during: -1210991784: a(n) ByteString 0xffb30068 M ByteString(String)>displayProgressFrom:to:during: -1210991784: a(n) ByteString 0xffb30098 M OrderedCollection(Collection)>do:displayingProgress:every: -1200427368: a(n) OrderedCollection 0xffb300d0 I [] in TestRunner>basicRunSuite:do: -1200432232: a(n) TestRunner 0xffb300f0 M BlockClosure>ensure: -1200278860: a(n) BlockClosure 0xffb30114 I TestRunner>basicRunSuite:do: -1200432232: a(n) TestRunner 0xffb3013c I TestRunner>runSuite: -1200432232: a(n) TestRunner 0xffb30160 I TestRunner>runAll -1200432232: a(n) TestRunner 0xffb3017c M SystemReporter>reportTestRunner: -1200872260: a(n) SystemReporter 0xffb31040 M [] in SystemReporter>updateReport -1200872260: a(n) SystemReporter 0xffb31060 M OrderedCollection>do: -1200872228: a(n) OrderedCollection 0xffb31080 M [] in SystemReporter>updateReport -1200872260: a(n) SystemReporter 0xffb310a0 M TextStream>withAttribute:do: -1200482052: a(n) TextStream 0xffb310c0 M [] in SystemReporter>updateReport -1200872260: a(n) SystemReporter 0xffb310e8 I Text class>streamContents: -1216401056: a(n) Text class 0xffb31104 M SystemReporter>updateReport -1200872260: a(n) SystemReporter 0xffb3111c M SystemReporter>categoryAt:put: -1200872260: a(n) SystemReporter 0xffb31144 I PluggableListMorphOfMany>listSelectionAt:put: -1200866376: a(n) PluggableListMorphOfMany 0xffb3117c I PluggableListMorphOfMany>mouseDown: -1200866376: a(n) PluggableListMorphOfMany 0xffb2f884 M PluggableListMorphOfMany(Morph)>handleMouseDown: -1200866376: a(n) PluggableListMorphOfMany 0xffb2f8a0 M MouseButtonEvent>sentTo: -1200482652: a(n) MouseButtonEvent 0xffb2f8bc M PluggableListMorphOfMany(Morph)>handleEvent: -1200866376: a(n) PluggableListMorphOfMany 0xffb2f8f8 M MorphicEventDispatcher>dispatchMouseDown:with: -1200482800: a(n) MorphicEventDispatcher 0xffb2f918 M MorphicEventDispatcher>dispatchEvent:with: -1200482800: a(n) MorphicEventDispatcher 0xffb2f938 M PluggableListMorphOfMany(Morph)>processEvent:using: -1200866376: a(n) PluggableListMorphOfMany 0xffb2f978 M MorphicEventDispatcher>dispatchMouseDown:with: -1200482800: a(n) MorphicEventDispatcher 0xffb2e050 M MorphicEventDispatcher>dispatchEvent:with: -1200482800: a(n) MorphicEventDispatcher 0xffb2e070 M PluggableSystemWindow(Morph)>processEvent:using: -1200870400: a(n) PluggableSystemWindow 0xffb2e0b0 M MorphicEventDispatcher>dispatchMouseDown:with: -1200482800: a(n) MorphicEventDispatcher 0xffb2e0d0 M MorphicEventDispatcher>dispatchEvent:with: -1200482800: a(n) MorphicEventDispatcher 0xffb2e0f0 M PasteUpMorph(Morph)>processEvent:using: -1212910376: a(n) PasteUpMorph 0xffb2e118 M PasteUpMorph>processEvent:using: -1212910376: a(n) PasteUpMorph 0xffb2e138 M PasteUpMorph(Morph)>processEvent: -1212910376: a(n) PasteUpMorph 0xffb2e158 M HandMorph>sendEvent:focus:clear: -1219207060: a(n) HandMorph 0xffb2e17c M HandMorph>sendMouseEvent: -1219207060: a(n) HandMorph 0xffb2e880 M HandMorph>handleEvent: -1219207060: a(n) HandMorph 0xffb2e8ac M HandMorph>processEvents -1219207060: a(n) HandMorph 0xffb2e8c8 M [] in WorldState>doOneCycleNowFor: -1221398640: a(n) WorldState 0xffb2e8ec M Array(SequenceableCollection)>do: -1221482504: a(n) Array 0xffb2e908 M WorldState>handsDo: -1221398640: a(n) WorldState 0xffb2e928 M WorldState>doOneCycleNowFor: -1221398640: a(n) WorldState 0xffb2e944 M WorldState>doOneCycleFor: -1221398640: a(n) WorldState 0xffb2e960 M PasteUpMorph>doOneCycle -1212910376: a(n) PasteUpMorph 0xffb2e980 I [] in Project class>spawnNewProcess -1213766452: a(n) Project class 0xb7d6d640 s [] in BlockClosure>newProcess Most recent primitives perform:with: @ @ perform:with: @ basicNew @ @ basicNew @ perform:with: @ @ perform:with: @ basicNew copyBits @ perform:with: @ @ perform:with: @ basicNew @ @ basicNew @ @ @ basicNew @ perform:with: @ @ perform:with: @ basicNew copyBits @ @ basicNew @ @ primDisplayString:from:to:map:xTable:kern: @ primDisplayString:from:to:map:xTable:kern: @ species species @ at:put: basicNew new: species basicNew new: species basicNew new: at:put: wait signal primShowRectLeft:right:top:bottom: primitiveDeferUpdates: forceDisplayUpdate findNextUnwindContextUpTo: tempAt: tempAt:put: tempAt: terminateTo: tempAt:put: findNextUnwindContextUpTo: terminateTo: millisecondClockValue value: instVarsInclude: instVarsInclude: objectAt: objectAt: basicNew basicNew objectAt: basicNew: stackp: basicNew primitiveResume wait signal millisecondClockValue at:put: at:put: millisecondClockValue primSignal:atMilliseconds: millisecondClockValue wait signal wait basicNew basicNew new: at:put: at:put: at:put: signal findNextUnwindContextUpTo: terminateTo: suspend instVarsInclude: instVarsInclude: objectAt: objectAt: basicNew basicNew objectAt: basicNew: stackp: basicNew primitiveResume wait signal millisecondClockValue at:put: at:put: millisecondClockValue primSignal:atMilliseconds: millisecondClockValue wait signal wait basicNew basicNew new: at:put: at:put: at:put: perform: on:do: value new: at:put: new: at:put: basicNew basicNew wait wait signal wait signal wait signal signal wait basicNew: replaceFrom:to:with:startingAt: new: at:put: species new: replaceFrom:to:with:startingAt: basicNew basicNew stringHash:initialHash: compare:with:collated: stringHash:initialHash: basicNew signal findNextUnwindContextUpTo: terminateTo: suspend at:put: primSecondsClock digitCompare: millisecondClockValue basicAt: basicAt: bitShiftMagnitude: basicAt: perform:with: >= basicAt: bitShiftMagnitude: basicAt: bitAnd: bitShiftMagnitude: basicAt: + bitOr: bitShiftMagnitude: perform:with: <= perform:with: - truncated value: basicNew: basicNew basicNew: basicNew at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: species basicNew: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: at:put: species basicNew: replaceFrom:to:with:startingAt: species basicNew: replaceFrom:to:with:startingAt: replaceFrom:to:with:startingAt: compare:with:collated: basicNew findNextHandlerContextStarting tempAt: tempAt: tempAt:put: tempAt: (Segmentation fault) Aborted |
See bottom for SqueakDebug.log contents which I should have included originally. On 01/26/2013 06:13 PM, Ken Causey wrote: > Thanks to Dave's reminders about plugins.int and plugins.ext I managed > to get past the step of building at least an initial Cog VM for testing. > But running the tests with a 4.4-12327 image and the built VM resulted > in a crash: > > Squeak VM version: 4.0-2673 #1 Sun Jan 27 00:56:27 CET 2013 gcc 4.4.5 > Built from: CoInterpreter VMMaker.oscog-eem.258 uuid: > da1433f1-de50-475f-be33-f462b300a2ea Jan 27 2013 > With: StackToRegisterMappingCogit VMMaker.oscog-eem.256 uuid: > bfea3efd-4e81-4e85-922e-cf4f58ee5d64 Jan 27 2013 > Revision: VM: r2673 http://www.squeakvm.org/svn/squeak/branches/Cog > Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cros > s/plugins > Build host: Linux squeak-box4 2.6.32-xenU-7428-x86_64 #4 SMP Mon Nov 19 > 10:17:25 UTC 2012 x86_64 GNU/Linux > plugin path: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/ [default: > /home/kencausey/source/cog/svn/Cog/unixbuild/bld/] > > > C stack backtrace: > /home/kencausey/source/cog/svn/Cog/unixbuild/bld/squeak[0x805fc04] > /home/kencausey/source/cog/svn/Cog/unixbuild/bld/squeak[0x805fe9f] > [0xffffe410] > [0xb7255bc9] > [0xb722d07e] > [0xb722d176] > [0xb722d011] > [0xb725d9d6] > [0xb72e6ad8] > [0xb72e6a54] > [0xb725535f] > [0xb720b2f2] > [0xb7209668] > > > Smalltalk stack dump: > 0xffb30850 M [] in MorphicUIManager>displayProgress:at:from:to:during: > -1211236388: a(n) MorphicUIManager > 0xffb3086c M BlockClosure>cull: -1200277580: a(n) BlockClosure > 0xffb3088c M [] in MethodContext(ContextPart)>handleSignal: -1200277332: > a(n) MethodContext > 0xffb308ac M BlockClosure>ensure: -1200235732: a(n) BlockClosure > 0xffb308cc M MethodContext(ContextPart)>handleSignal: -1200277332: a(n) > MethodContext > 0xffb308e8 M ProgressNotification(Exception)>signal -1200236048: a(n) > ProgressNotification > 0xffb30900 M ProgressNotification(Exception)>signal: -1200236048: a(n) > ProgressNotification > 0xffb30920 M ProgressNotification class>signal:extra: -1215814820: a(n) > ProgressNotification class > 0xffb3095c M [] in > OrderedCollection(Collection)>do:displayingProgress:every: -1200427368: > a(n) OrderedCollection > 0xffb3097c M OrderedCollection>do: -1200427368: a(n) OrderedCollection > 0xffb31fd4 M [] in > OrderedCollection(Collection)>do:displayingProgress:every: -1200427368: > a(n) OrderedCollection > 0xffb31ffc M [] in MorphicUIManager>displayProgress:at:from:to:during: > -1211236388: a(n) MorphicUIManager > 0xffb32018 M BlockClosure>on:do: -1200277612: a(n) BlockClosure > 0xffb32044 M [] in MorphicUIManager>displayProgress:at:from:to:during: > -1211236388: a(n) MorphicUIManager > 0xffb32064 M BlockClosure>ensure: -1200277760: a(n) BlockClosure > 0xffb32088 M MorphicUIManager>displayProgress:at:from:to:during: > -1211236388: a(n) MorphicUIManager > 0xffb320b4 M ProgressInitiationException>defaultResumeValue -1200278516: > a(n) ProgressInitiationException > 0xffb320d0 M ProgressInitiationException(Exception)>resume -1200278516: > a(n) ProgressInitiationException > 0xffb320e8 M ProgressInitiationException>defaultAction -1200278516: a(n) > ProgressInitiationException > 0xffb32104 M UndefinedObject>handleSignal: -1221554172: a(n) > UndefinedObject > 0xffb32120 M ProgressInitiationException(Exception)>signal -1200278516: > a(n) ProgressInitiationException > 0xffb32138 M ProgressInitiationException>display:at:from:to:during: > -1200278516: a(n) ProgressInitiationException > 0xffb3216c I ProgressInitiationException > class>display:at:from:to:during: -1210997420: a(n) > ProgressInitiationException class > 0xffb30040 I ByteString(String)>displayProgressAt:from:to:during: > -1210991784: a(n) ByteString > 0xffb30068 M ByteString(String)>displayProgressFrom:to:during: > -1210991784: a(n) ByteString > 0xffb30098 M OrderedCollection(Collection)>do:displayingProgress:every: > -1200427368: a(n) OrderedCollection > 0xffb300d0 I [] in TestRunner>basicRunSuite:do: -1200432232: a(n) > TestRunner > 0xffb300f0 M BlockClosure>ensure: -1200278860: a(n) BlockClosure > 0xffb30114 I TestRunner>basicRunSuite:do: -1200432232: a(n) TestRunner > 0xffb3013c I TestRunner>runSuite: -1200432232: a(n) TestRunner > 0xffb30160 I TestRunner>runAll -1200432232: a(n) TestRunner > 0xffb3017c M SystemReporter>reportTestRunner: -1200872260: a(n) > SystemReporter > 0xffb31040 M [] in SystemReporter>updateReport -1200872260: a(n) > SystemReporter > 0xffb31060 M OrderedCollection>do: -1200872228: a(n) OrderedCollection > 0xffb31080 M [] in SystemReporter>updateReport -1200872260: a(n) > SystemReporter > 0xffb310a0 M TextStream>withAttribute:do: -1200482052: a(n) TextStream > 0xffb310c0 M [] in SystemReporter>updateReport -1200872260: a(n) > SystemReporter > 0xffb310e8 I Text class>streamContents: -1216401056: a(n) Text class > 0xffb31104 M SystemReporter>updateReport -1200872260: a(n) SystemReporter > 0xffb3111c M SystemReporter>categoryAt:put: -1200872260: a(n) > SystemReporter > 0xffb31144 I PluggableListMorphOfMany>listSelectionAt:put: -1200866376: > a(n) PluggableListMorphOfMany > 0xffb3117c I PluggableListMorphOfMany>mouseDown: -1200866376: a(n) > PluggableListMorphOfMany > 0xffb2f884 M PluggableListMorphOfMany(Morph)>handleMouseDown: > -1200866376: a(n) PluggableListMorphOfMany > 0xffb2f8a0 M MouseButtonEvent>sentTo: -1200482652: a(n) MouseButtonEvent > 0xffb2f8bc M PluggableListMorphOfMany(Morph)>handleEvent: -1200866376: > a(n) PluggableListMorphOfMany > 0xffb2f8f8 M MorphicEventDispatcher>dispatchMouseDown:with: -1200482800: > a(n) MorphicEventDispatcher > 0xffb2f918 M MorphicEventDispatcher>dispatchEvent:with: -1200482800: > a(n) MorphicEventDispatcher > 0xffb2f938 M PluggableListMorphOfMany(Morph)>processEvent:using: > -1200866376: a(n) PluggableListMorphOfMany > 0xffb2f978 M MorphicEventDispatcher>dispatchMouseDown:with: -1200482800: > a(n) MorphicEventDispatcher > 0xffb2e050 M MorphicEventDispatcher>dispatchEvent:with: -1200482800: > a(n) MorphicEventDispatcher > 0xffb2e070 M PluggableSystemWindow(Morph)>processEvent:using: > -1200870400: a(n) PluggableSystemWindow > 0xffb2e0b0 M MorphicEventDispatcher>dispatchMouseDown:with: -1200482800: > a(n) MorphicEventDispatcher > 0xffb2e0d0 M MorphicEventDispatcher>dispatchEvent:with: -1200482800: > a(n) MorphicEventDispatcher > 0xffb2e0f0 M PasteUpMorph(Morph)>processEvent:using: -1212910376: a(n) > PasteUpMorph > 0xffb2e118 M PasteUpMorph>processEvent:using: -1212910376: a(n) > PasteUpMorph > 0xffb2e138 M PasteUpMorph(Morph)>processEvent: -1212910376: a(n) > PasteUpMorph > 0xffb2e158 M HandMorph>sendEvent:focus:clear: -1219207060: a(n) HandMorph > 0xffb2e17c M HandMorph>sendMouseEvent: -1219207060: a(n) HandMorph > 0xffb2e880 M HandMorph>handleEvent: -1219207060: a(n) HandMorph > 0xffb2e8ac M HandMorph>processEvents -1219207060: a(n) HandMorph > 0xffb2e8c8 M [] in WorldState>doOneCycleNowFor: -1221398640: a(n) > WorldState > 0xffb2e8ec M Array(SequenceableCollection)>do: -1221482504: a(n) Array > 0xffb2e908 M WorldState>handsDo: -1221398640: a(n) WorldState > 0xffb2e928 M WorldState>doOneCycleNowFor: -1221398640: a(n) WorldState > 0xffb2e944 M WorldState>doOneCycleFor: -1221398640: a(n) WorldState > 0xffb2e960 M PasteUpMorph>doOneCycle -1212910376: a(n) PasteUpMorph > 0xffb2e980 I [] in Project class>spawnNewProcess -1213766452: a(n) > Project class > 0xb7d6d640 s [] in BlockClosure>newProcess > > Most recent primitives > perform:with: > @ > @ > perform:with: > @ > basicNew > @ > @ > basicNew > @ > perform:with: > @ > @ > perform:with: > @ > basicNew > copyBits > @ > perform:with: > @ > @ > perform:with: > @ > basicNew > @ > @ > basicNew > @ > @ > @ > basicNew > @ > perform:with: > @ > @ > perform:with: > @ > basicNew > copyBits > @ > @ > basicNew > @ > @ > primDisplayString:from:to:map:xTable:kern: > @ > primDisplayString:from:to:map:xTable:kern: > @ > species > species > @ > at:put: > basicNew > new: > species > basicNew > new: > species > basicNew > new: > at:put: > wait > signal > primShowRectLeft:right:top:bottom: > primitiveDeferUpdates: > forceDisplayUpdate > findNextUnwindContextUpTo: > tempAt: > tempAt:put: > tempAt: > terminateTo: > tempAt:put: > findNextUnwindContextUpTo: > terminateTo: > millisecondClockValue > value: > instVarsInclude: > instVarsInclude: > objectAt: > objectAt: > basicNew > basicNew > objectAt: > basicNew: > stackp: > basicNew > primitiveResume > wait > signal > millisecondClockValue > at:put: > at:put: > millisecondClockValue > primSignal:atMilliseconds: > millisecondClockValue > wait > signal > wait > basicNew > basicNew > new: > at:put: > at:put: > at:put: > signal > findNextUnwindContextUpTo: > terminateTo: > suspend > instVarsInclude: > instVarsInclude: > objectAt: > objectAt: > basicNew > basicNew > objectAt: > basicNew: > stackp: > basicNew > primitiveResume > wait > signal > millisecondClockValue > at:put: > at:put: > millisecondClockValue > primSignal:atMilliseconds: > millisecondClockValue > wait > signal > wait > basicNew > basicNew > new: > at:put: > at:put: > at:put: > perform: > on:do: > value > new: > at:put: > new: > at:put: > basicNew > basicNew > wait > wait > signal > wait > signal > wait > signal > signal > wait > basicNew: > replaceFrom:to:with:startingAt: > new: > at:put: > species > new: > replaceFrom:to:with:startingAt: > basicNew > basicNew > stringHash:initialHash: > compare:with:collated: > stringHash:initialHash: > basicNew > signal > findNextUnwindContextUpTo: > terminateTo: > suspend > at:put: > primSecondsClock > digitCompare: > millisecondClockValue > basicAt: > basicAt: > bitShiftMagnitude: > basicAt: > perform:with: > >= > basicAt: > bitShiftMagnitude: > basicAt: > bitAnd: > bitShiftMagnitude: > basicAt: > + > bitOr: > bitShiftMagnitude: > perform:with: > <= > perform:with: > - > truncated > value: > basicNew: > basicNew > basicNew: > basicNew > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > species > basicNew: > replaceFrom:to:with:startingAt: > replaceFrom:to:with:startingAt: > replaceFrom:to:with:startingAt: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > species > basicNew: > replaceFrom:to:with:startingAt: > species > basicNew: > replaceFrom:to:with:startingAt: > replaceFrom:to:with:startingAt: > compare:with:collated: > basicNew > findNextHandlerContextStarting > tempAt: > tempAt: > tempAt:put: > tempAt: > > (Segmentation fault) > Aborted SqueakDebug.log: TestFailure: Assertion failed 8 January 2013 12:55:42.928 am VM: unix - Smalltalk Image: Squeak4.4 [latest update: #12327] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /home/kencausey/testing Trusted Dir /home/kencausey/testing/secure Untrusted Dir /home/kencausey/testing/My Squeak LocaleTest(TestCase)>>signalFailure: Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: aString: 'Assertion failed' Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil LocaleTest(TestCase)>>assert: Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: aBooleanOrBlock: false Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil LocaleTest>>testLocaleChanged Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil LocaleTest(TestCase)>>performTest Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil [] in [] in LocaleTest(TestCase)>>runCase Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil BlockClosure>>on:do: Receiver: [closure] in [] in LocaleTest(TestCase)>>runCase Arguments and temporary variables: exception: an ExceptionSet handlerAction: [closure] in [] in LocaleTest(TestCase)>>timeout:after: handlerActive: false Receiver's instance variables: outerContext: [] in LocaleTest(TestCase)>>runCase startpc: 62 numArgs: 0 [] in LocaleTest(TestCase)>>timeout:after: Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: <<error during printing> Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil BlockClosure>>ensure: Receiver: [closure] in LocaleTest(TestCase)>>timeout:after: Arguments and temporary variables: aBlock: [closure] in LocaleTest(TestCase)>>timeout:after: complete: nil returnValue: nil Receiver's instance variables: outerContext: LocaleTest(TestCase)>>timeout:after: startpc: 153 numArgs: 0 LocaleTest(TestCase)>>timeout:after: Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: aBlock: [closure] in [] in LocaleTest(TestCase)>>runCase seconds: 60 delay: a Delay(60000 msecs; 59622 msecs remaining) watchdog: a Process in [] in Delay>>wait theProcess: #(nil) Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil [] in LocaleTest(TestCase)>>runCase Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil BlockClosure>>ensure: Receiver: [closure] in LocaleTest(TestCase)>>runCase Arguments and temporary variables: aBlock: [closure] in LocaleTest(TestCase)>>runCase complete: nil returnValue: nil Receiver's instance variables: outerContext: LocaleTest(TestCase)>>runCase startpc: 45 numArgs: 0 LocaleTest(TestCase)>>runCase Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil [] in LocaleTest(TestCase)>>debug Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil BlockClosure>>ensure: Receiver: [closure] in LocaleTest(TestCase)>>debug Arguments and temporary variables: aBlock: [closure] in LocaleTest(TestCase)>>debug complete: nil returnValue: nil Receiver's instance variables: outerContext: LocaleTest(TestCase)>>debug startpc: 62 numArgs: 0 LocaleTest(TestCase)>>debug Receiver: LocaleTest>>#testLocaleChanged Arguments and temporary variables: Receiver's instance variables: testSelector: #testLocaleChanged timeout: nil [] in TestRunner>>debugSuite: Receiver: a TestRunner Arguments and temporary variables: <<error during printing> Receiver's instance variables: categories: #(#'KernelTests-Chronology' #'KernelTests-Classes' #'KernelTests-Me...etc... categoriesSelected: a Set(#'Universes-Tests' #'Tests-PrimCallController' #'Test...etc... classes: {TestCase . AllocationTest . ArbitraryObjectSocketTestCase . ArrayLite...etc... classIndex: 0 classesSelected: a Set(WeakMessageSendTest MCAncestryTest SemaphoreTest Depende...etc... failedList: {LocaleTest>>#testLocaleChanged . ReleaseTest>>#testNoObsoleteClass...etc... failedSelected: LocaleTest>>#testLocaleChanged errorList: #() errorSelected: nil lastUpdate: 3535058965 result: 3272 run, 3252 passes, 18 expected failures, 2 failures, 0 errors, 0 un...etc... previousRun: nil categoryPattern: nil classPattern: nil [] in [] in OrderedCollection(Collection)>>do:displayingProgress:every: Receiver: an OrderedCollection(LocaleTest>>#testLocaleChanged) Arguments and temporary variables: <<error during printing> Receiver's instance variables: array: {LocaleTest>>#testLocaleChanged . nil . nil . nil . nil . nil . nil . ni...etc... firstIndex: 1 lastIndex: 1 OrderedCollection>>do: Receiver: an OrderedCollection(LocaleTest>>#testLocaleChanged) Arguments and temporary variables: aBlock: [closure] in [] in OrderedCollection(Collection)>>do:displayingProgress...etc... index: 1 Receiver's instance variables: array: {LocaleTest>>#testLocaleChanged . nil . nil . nil . nil . nil . nil . ni...etc... firstIndex: 1 lastIndex: 1 [] in OrderedCollection(Collection)>>do:displayingProgress:every: Receiver: an OrderedCollection(LocaleTest>>#testLocaleChanged) Arguments and temporary variables: <<error during printing> Receiver's instance variables: array: {LocaleTest>>#testLocaleChanged . nil . nil . nil . nil . nil . nil . ni...etc... firstIndex: 1 lastIndex: 1 --- The full stack --- LocaleTest(TestCase)>>signalFailure: LocaleTest(TestCase)>>assert: LocaleTest>>testLocaleChanged LocaleTest(TestCase)>>performTest [] in [] in LocaleTest(TestCase)>>runCase BlockClosure>>on:do: [] in LocaleTest(TestCase)>>timeout:after: BlockClosure>>ensure: LocaleTest(TestCase)>>timeout:after: [] in LocaleTest(TestCase)>>runCase BlockClosure>>ensure: LocaleTest(TestCase)>>runCase [] in LocaleTest(TestCase)>>debug BlockClosure>>ensure: LocaleTest(TestCase)>>debug [] in TestRunner>>debugSuite: [] in [] in OrderedCollection(Collection)>>do:displayingProgress:every: OrderedCollection>>do: [] in OrderedCollection(Collection)>>do:displayingProgress:every: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [] in [] in MorphicUIManager>>displayProgress:at:from:to:during: BlockClosure>>on:do: [] in MorphicUIManager>>displayProgress:at:from:to:during: BlockClosure>>ensure: MorphicUIManager>>displayProgress:at:from:to:during: ProgressInitiationException>>defaultResumeValue ProgressInitiationException(Exception)>>resume ProgressInitiationException>>defaultAction UndefinedObject>>handleSignal: MethodContext(ContextPart)>>handleSignal: ProgressInitiationException(Exception)>>signal ProgressInitiationException>>display:at:from:to:during: ProgressInitiationException class>>display:at:from:to:during: ByteString(String)>>displayProgressAt:from:to:during: ByteString(String)>>displayProgressFrom:to:during: OrderedCollection(Collection)>>do:displayingProgress:every: [] in TestRunner>>basicRunSuite:do: BlockClosure>>ensure: TestRunner>>basicRunSuite:do: TestRunner>>debugSuite: TestRunner>>debug: TestRunner>>failedSelected: PluggableListMorphPlus(PluggableListMorph)>>changeModelSelection: PluggableListMorphPlus(PluggableListMorph)>>mouseUp: PluggableListMorphPlus(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: PluggableListMorphPlus(Morph)>>handleEvent: PluggableListMorphPlus(Morph)>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: BlockClosure>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: HandMorph>>processEvents [] in WorldState>>doOneCycleNowFor: Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle -- and more not shown -- |
In reply to this post by Ken Causey-3
On 2013-01-26, at 21:52, Ken Causey <[hidden email]> wrote: > kencausey@squeak-box4:~/source/cog/svn/Cog/unixbuild/bld$ \ > ../../platforms/unix/config/configure CC="gcc -m32" CXX="g++ -m32"\ > --without-npsqueak CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE \ > -D_FILE^J_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 \ > -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0" LIBS=-lpthread \ > > myconf.log 2>&1 & Get rid of the ^J to avoid this: > configure:2174: gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -D_FILE > _OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0 conftest.c -lpthread >&5 > gcc: _OFFSET_BITS=64: No such file or directory - Bert - |
In reply to this post by Ken Causey-3
Hi Ken, yes, I introduced a regression with the latest check-in that I'll fix soon. For the moment use version 2672 of the sources. To stop the Bochs plugin being built edit unixbuild/bld/plugins.ext and delete it from there. It being built by default is entirely for my benefit. Apologies.
On Sat, Jan 26, 2013 at 4:17 PM, Ken Causey <[hidden email]> wrote:
best, Eliot
|
In reply to this post by Ken Causey-3
Eliot said: > Hi Ken, > > yes, I introduced a regression with the latest check-in that I'll fix > soon. For the moment use version 2672 of the sources. To stop the Bochs > plugin being built edit unixbuild/bld/plugins.ext and delete it from there. > It being built by default is entirely for my benefit. Apologies. Thanks Eliot. Unfortunately that doesn't seem to have helped. I deleted my checkout entirely and then $ svn co http://www.squeakvm.org/svn/squeak/branches/Cog/@2672 And built that (after one failure because I forgot to edit plugins.ext). I haven't analyzed it in detail but it seems be the same issue I had before Squeak VM version: 4.0-2672 #1 Mon Jan 28 21:08:17 CET 2013 gcc 4.4.5 Built from: CoInterpreter VMMaker.oscog-eem.255 uuid: 51e53ec1-8caf-41f6-9293-1088ef4b82d8 Jan 28 2013 With: StackToRegisterMappingCogit VMMaker.oscog-eem.255 uuid: 51e53ec1-8caf-41f6-9293-1088ef4b82d8 Jan 28 2013 Revision: VM: r2672 http://www.squeakvm.org/svn/squeak/branches/Cog Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins Build host: Linux squeak-box4 2.6.32-xenU-7428-x86_64 #4 SMP Mon Nov 19 10:17:25 UTC 2012 x86_64 GNU/Linux plugin path: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/ [default: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/] C stack backtrace: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/squeak[0x805fb94] /home/kencausey/source/cog/svn/Cog/unixbuild/bld/squeak[0x805fe2f] [0xffffe410] [0xb71c97c8] ... Smalltalk stack dump: 0xffb3ba50 M [] in MorphicUIManager>displayProgress:at:from:to:during: -1211499496: a(n) MorphicUIManager 0xffb3ba74 I BlockClosure>cull: -1202719336: a(n) BlockClosure 0xffb3ba94 M [] in MethodContext(ContextPart)>handleSignal: -1202719088: a(n) MethodContext 0xffb3bab4 M BlockClosure>ensure: -1201637524: a(n) BlockClosure 0xffb3bad4 M MethodContext(ContextPart)>handleSignal: -1202719088: a(n) MethodContext 0xffb3baf0 M ProgressNotification(Exception)>signal -1201637840: a(n) ProgressNotification 0xffb3bb08 M ProgressNotification(Exception)>signal: -1201637840: a(n) ProgressNotification 0xffb3bb28 M ProgressNotification class>signal:extra: -1216076964: a(n) ProgressNotification class 0xffb3bb64 M [] in OrderedCollection(Collection)>do:displayingProgress:every: -1202851576: a(n) OrderedCollection 0xffb3bb84 M OrderedCollection>do: -1202851576: a(n) OrderedCollection 0xffb3bbb4 M [] in OrderedCollection(Collection)>do:displayingProgress:every: -1202851576: a(n) OrderedCollection 0xffb3bbdc M [] in MorphicUIManager>displayProgress:at:from:to:during: -1211499496: a(n) MorphicUIManager ... I'm happy to provide more information if you like and am certainly happy to try another revision if you would like to suggest one. Ken |
Hi Ken, On Mon, Jan 28, 2013 at 12:19 PM, Ken Causey <[hidden email]> wrote:
Hmmm. Sorry to put you to this but what happens when you run the r2669, r2672 and r2673 VMs from http://www.mirandabanda.org/files/Cog/VM/? If these don't crash then it might be something to do with gcc 4.4.x. But I'd have to take a look, and time is tight right now... But if any of them do work could you use them for the interim?
I deleted my checkout entirely and then best, Eliot
|
In reply to this post by Ken Causey-3
Eliot said: > Hmmm. Sorry to put you to this but what happens when you run the r2669, > r2672 and r2673 VMs from http://www.mirandabanda.org/files/Cog/VM/? If > these don't crash then it might be something to do with gcc 4.4.x. But I'd > have to take a look, and time is tight right now... But if any of them do > work could you use them for the interim? Not a problem and thanks for the reply. Well I started with 2673 and the tests are still running but it would have crashed by now if the same problem exists so it's looking like the gcc version is the issue. I will try earlier gcc versions and report back. It's a little disheartening that in this day and age we are tickling gcc issues when the same version of gcc is used to build the kernel and thousands upon thousands of Debian binaries which (by and large anyway) seem to be fine. Ken |
On 01/28/2013 03:42 PM, Ken Causey wrote: > Eliot said: >> Hmmm. Sorry to put you to this but what happens when you run the r2669, >> r2672 and r2673 VMs from http://www.mirandabanda.org/files/Cog/VM/? If >> these don't crash then it might be something to do with gcc 4.4.x. But >> I'd >> have to take a look, and time is tight right now... But if any of them do >> work could you use them for the interim? > > Not a problem and thanks for the reply. > > Well I started with 2673 and the tests are still running but it would > have crashed by now if the same problem exists so it's looking like the > gcc version is the issue. I will try earlier gcc versions and report back. > > It's a little disheartening that in this day and age we are tickling gcc > issues when the same version of gcc is used to build the kernel and > thousands upon thousands of Debian binaries which (by and large anyway) > seem to be fine. > > Ken OK, this 4.0-2672 #1 Mon Jan 28 22:53:27 CET 2013 gcc 4.3.5 CoInterpreter VMMaker.oscog-eem.255 uuid: 51e53ec1-8caf-41f6-9293-1088ef4b82d8 Jan 28 2013 StackToRegisterMappingCogit VMMaker.oscog-eem.255 uuid: 51e53ec1-8caf-41f6-9293-1088ef4b82d8 Jan 28 2013 VM: r2672 http://www.squeakvm.org/svn/squeak/branches/Cog Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins Linux squeak-box4 2.6.32-xenU-7428-x86_64 #4 SMP Mon Nov 19 10:17:25 UTC 2012 x86_64 GNU/Linux plugin path: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/ [default: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/] gets through the unit tests although with slightly odd results SUnit Results ------------- 3272 run, 3251 passes, 19 expected failures, 1 failures, 0 errors, 1 unexpected passes Failed Tests ------------ (AllocationTest selector: #testOneGigAllocation) debug. (LocaleTest selector: #testLocaleChanged) debug. Errors ------ (I saw 18,1,0,0 on your 2673 I believe.) In any case I very much appreciate your assistance and hopefully this is enough to let me get on with the rest of 'all the things'. Ken |
In reply to this post by Ken Causey-3
2013/1/28 Ken Causey <[hidden email]>: > > Eliot said: >> >> Hmmm. Sorry to put you to this but what happens when you run the r2669, >> r2672 and r2673 VMs from http://www.mirandabanda.org/files/Cog/VM/? If >> these don't crash then it might be something to do with gcc 4.4.x. But >> I'd >> have to take a look, and time is tight right now... But if any of them do >> work could you use them for the interim? > > > Not a problem and thanks for the reply. > > Well I started with 2673 and the tests are still running but it would have > crashed by now if the same problem exists so it's looking like the gcc > version is the issue. I will try earlier gcc versions and report back. > > It's a little disheartening that in this day and age we are tickling gcc > issues when the same version of gcc is used to build the kernel and > thousands upon thousands of Debian binaries which (by and large anyway) seem > to be fine. > > Ken And the answer would be: don't rely on UB (Undefined Behavior) Modern interpretation of the standards is that a compiler has a license to ignore UB in order to perform optimizations... This is because no one should rely on UB. Unfortunately, the underlying C language is full of UB, and the signed arithmetic model is particularly broken... I doubt the thousands of packages have been working unchanged... They work with army of programmers maintaining the code and chasing the compiler warnings. As long as we ignore the warnings, we are in danger. As long as we have several hundreds warnings, there is no easy way to analyze their dangerosity... Nicolas |
In reply to this post by Ken Causey-3
On 01/28/2013 04:04 PM, Ken Causey wrote: > > SUnit Results > ------------- > 3272 run, 3251 passes, 19 expected failures, 1 failures, 0 errors, 1 > unexpected passes > > Failed Tests > ------------ > (AllocationTest selector: #testOneGigAllocation) debug. > (LocaleTest selector: #testLocaleChanged) debug. > > Errors > ------ > For what it's worth I get the same results with svn head (2675): 4.0-2673 #1 Mon Jan 28 23:08:31 CET 2013 gcc 4.3.5 CoInterpreter VMMaker.oscog-eem.258 uuid: da1433f1-de50-475f-be33-f462b300a2ea Jan 28 2013 StackToRegisterMappingCogit VMMaker.oscog-eem.256 uuid: bfea3efd-4e81-4e85-922e-cf4f58ee5d64 Jan 28 2013 VM: r2673 http://www.squeakvm.org/svn/squeak/branches/Cog Plugins: r2545 http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins Linux squeak-box4 2.6.32-xenU-7428-x86_64 #4 SMP Mon Nov 19 10:17:25 UTC 2012 x86_64 GNU/Linux plugin path: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/ [default: /home/kencausey/source/cog/svn/Cog/unixbuild/bld/] Ken |
Free forum by Nabble | Edit this page |