Hi Nicolas,<br>
<br>
   yes it would be good to update Bochs.  I looked at it a few years ago<br>
and it was quite done work.  So I’ve avoided it until now.  Looking at what<br>
you’re going below it may still be possible to build it. The conf.COG<br>
scripts to run are those in build.*/bochs*.  So...<br>
<br>
On macOS High Sierra:<br>
$ uname -a<br>
Darwin Aeolus.attlocal.net 17.7.0 Darwin Kernel Version 17.7.0: Sun Jun  2<br>
20:31:42 PDT 2019; root:xnu-4570.71.46~1/RELEASE_X86_64 x86_64<br>
$ cd build.macos64x64/bochsx64/<br>
$ ./conf.COG<br>
checking build system type... i386-apple-darwin17.7.0<br>
...<br>
cp config.h bochsconfig.h<br>
and don't forget to run ./makeem<br>
$ ./makeem<br>
/Users/eliot/Cog/3dicc/opensmalltalk-vm/build.macos64x64/bochsx64/cpu<br>
g++ -c -I.. -I../../../processors/IA32/bochs/cpu/.. -I../instrument/stubs<br>
-I../../../processors/IA32/bochs/cpu/../instrument/stubs -g -pipe -O3<br>
-fomit-frame-pointer -finline-functions -Dlongjmp=_longjmp -Dsetjmp=_setjmp<br>
 -fpascal-strings -fno-common -Wno-four-char-constants -Wno-unknown-pragmas<br>
-Dmacintosh -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DCOG=1<br>
 ../../../processors/IA32/bochs/cpu/init.cc -o init.o<br>
...<br>
ranlib libdisasm.a<br>
$ ls -l */*.a<br>
-rw-rw-r--  1 eliot  staff  12222688 Sep 14 08:31 cpu/libcpu.a<br>
-rw-rw-r--  1 eliot  staff    707296 Sep 14 08:31 disasm/libdisasm.a<br>
-rw-rw-r--  1 eliot  staff   1788256 Sep 14 08:31 fpu/libfpu.a<br>
<br>
On cygwin it does look like we have to update at least the configure<br>
scripts:<br>
$ cd build.win32x86/bochsx64/<br>
<br>
eliot@terf /cygdrive/z/opensmalltalk-vm/build.win32x86/bochsx64<br>
$ ./conf.COG<br>
checking build system type... ../../processors/IA32/bochs/config.guess:<br>
unable to guess system type<br>
<br>
*This script, last modified 2002-03-20, has failed to recognize*<br>
*the operating system you are using. It is advised that you*<br>
*download the most up to date version of the config scripts from*<br>
<br>
*    ftp://ftp.gnu.org/pub/gnu/config/ <ftp://ftp.gnu.org/pub/gnu/config/>*<br>
<br>
If the version you run (../../processors/IA32/bochs/config.guess) is<br>
already up to date, please<br>
send the following data and any information you think might be<br>
pertinent to <config-patches@gnu.org> in order to provide the needed<br>
information to handle your system.<br>
<br>
config.guess timestamp = 2002-03-20<br>
<br>
uname -m = x86_64<br>
uname -r = 3.0.7(0.338/5/3)<br>
uname -s = CYGWIN_NT-10.0<br>
uname -v = 2019-04-30 18:08<br>
<br>
/usr/bin/uname -p = unknown<br>
/bin/uname -X     =<br>
<br>
hostinfo               =<br>
/bin/universe          =<br>
/usr/bin/arch -k       =<br>
/bin/arch              = x86_64<br>
/usr/bin/oslevel       =<br>
/usr/convex/getsysinfo =<br>
<br>
UNAME_MACHINE = x86_64<br>
UNAME_RELEASE = 3.0.7(0.338/5/3)<br>
UNAME_SYSTEM  = CYGWIN_NT-10.0<br>
UNAME_VERSION = 2019-04-30 18:08<br>
configure: error: cannot guess build type; you must specify one<br>
$<br>
<br>
So we should<br>
- add build directories in build.win64x64/{bochsx64,bochsx86,gdbarm32}<br>
& build.win32x86/gdbarm32<br>
- update the configure scripts only in processors/IA32/bochs<br>
- make sure the build procedure is documented<br>
<br>
I only develop the VM on macOS so I've not noticed that the cygwin build no<br>
longer works.  I apologize.<br>
<br>
_,,,^..^,,,_ (phone)<br>
<br>
On Sep 13, 2019, at 1:44 PM, Nicolas Cellier <notifications@github.com><br>
wrote:<br>
<br>
I want to simulate VM from a Spur64VMMaker.image<br>
Unfortunately, it gets really difficult to compile Bochs plugins these<br>
days...<br>
<br>
WINDOWS (cygwin64):<br>
<br>
$ cd processors/IA32/winbochs/<br>
$ source ./conf.COG<br>
<br>
checking build system type... ../bochs/config.guess: unable to guess system<br>
type<br>
<br>
This script, last modified 2002-03-20, has failed to recognize<br>
the operating system you are using. It is advised that you<br>
download the most up to date version of the config scripts from<br>
<br>
ftp://ftp.gnu.org/pub/gnu/config/<br>
<br>
If the version you run (../bochs/config.guess) is already up to date, please<br>
send the following data and any information you think might be<br>
pertinent to config-patches@gnu.org in order to provide the needed<br>
information to handle your system.<br>
<br>
config.guess timestamp = 2002-03-20<br>
<br>
uname -m = x86_64<br>
uname -r = 3.0.7(0.338/5/3)<br>
uname -s = CYGWIN_NT-10.0<br>
uname -v = 2019-04-30 18:08<br>
<br>
/usr/bin/uname -p = unknown<br>
<br>
MAC (Darwin 17.7.0 Xcode 10.1):<br>
<br>
$ cd processors/IA32/macbochs<br>
$ ./conf.COG<br>
<br>
checking build system type... i386-apple-darwin17.7.0<br>
checking host system type... i386-apple-darwin17.7.0<br>
checking target system type... i386-apple-darwin17.7.0<br>
checking if you are configuring for another platform... no<br>
checking for standard CFLAGS on this platform... -fpascal-strings<br>
-fno-common -Wno-four-char-constants -Wno-unknown-pragmas -Dmacintosh<br>
checking for gcc... gcc<br>
checking for C compiler default output file name...<br>
configure: error: C compiler cannot create executables<br>
See `config.log' for more details.<br>
cp config.h bochsconfig.h<br>
cp: config.h: No such file or directory<br>
and don't forget to run ../bochs/makeem<br>
<br>
LINUX (Ubuntu 18.04 thru WSL)<br>
<br>
$ cd processors/IA32/linuxbochs<br>
$ ./conf.COG<br>
<br>
checking build system type... x86_64-unknown-linux-gnu<br>
checking host system type... x86_64-unknown-linux-gnu<br>
checking target system type... x86_64-unknown-linux-gnu<br>
checking if you are configuring for another platform... no<br>
checking for standard CFLAGS on this platform...<br>
checking for gcc... gcc<br>
checking for C compiler default output file name... a.out<br>
checking whether the C compiler works... configure: error: cannot run C<br>
compiled programs.<br>
If you meant to cross compile, use --host'. See config.log' for more<br>
details.<br>
cp config.h bochsconfig.h<br>
cp: cannot stat 'config.h': No such file or directory<br>
and don't forget to run ../bochs/makeem<br>
<br>
The problem is that the Bochs copy is super old. So we won't get support<br>
for compilation on uptodate machines...<br>
We cannot upgrade easily, since there are COG specific changes requiring to<br>
be replayed...<br>
grep -r COG processors\IA32.<br>
<br>
I also have doubts about the conf.COG files:<br>
is --disable-x86-64 really what we want?<br>
https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/e77147b63208fb40a9a1712a2d94d369886e91ab/processors/IA32/macbochs/conf.COG<br>
https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/processors/IA32/macbochs/conf.COG<br>
<br>
—<br>
You are receiving this because you are subscribed to this thread.<br>
Reply to this email directly, view it on GitHub<br>
<https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/427?email_source=notifications&email_token=ADY5VUF6IQMTZPW6DUSGVO3QJP3SVA5CNFSM4IWT4NL2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HLKLOZA>,<br>
or mute the thread<br>
<https://github.com/notifications/unsubscribe-auth/ADY5VUHZPE2YAFICVUBJQYLQJP3SVANCNFSM4IWT4NLQ><br>
.<br>


<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/427?email_source=notifications&email_token=AIJPEW2HCNY2WMXVZFF2KLDQJUBXVA5CNFSM4IWT4NL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6W6KXQ#issuecomment-531490142">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AIJPEW6B44QOLUWINX7GJ53QJUBXVANCNFSM4IWT4NLQ">mute the thread</a>.<img src="https://github.com/notifications/beacon/AIJPEW3C3CZV5VITTB5Z5YDQJUBXVA5CNFSM4IWT4NL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6W6KXQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/427?email_source=notifications\u0026email_token=AIJPEW2HCNY2WMXVZFF2KLDQJUBXVA5CNFSM4IWT4NL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6W6KXQ#issuecomment-531490142",
"url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/427?email_source=notifications\u0026email_token=AIJPEW2HCNY2WMXVZFF2KLDQJUBXVA5CNFSM4IWT4NL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6W6KXQ#issuecomment-531490142",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>