<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=text/html;charset=iso-8859-1 http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18928"></HEAD>
<BODY style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px" 
id=MailContainerBody leftMargin=0 topMargin=0 CanvasTabStop="true" 
name="Compose message area">
<DIV><FONT size=2 face=Arial>Eliot, note that I can provide you access to this 
box if you have the time to take a look.&nbsp; </FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>I get the sqLowLevelMFence()...</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial><A 
title="mailto:vawhigso@vawhigs.org&#10;CTRL + Click to follow link" 
href="mailto:vawhigso@vawhigs.org">vawhigso@vawhigs.org</A> 
[~/public_html/squeakelib/Cog/unixbuild/bld]# gcc -m32 -g -O2 -msse2 
-D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse 
-DLSB_FIRST=1&nbsp; -DHAVE_CONFIG_H&nbsp; -DSQUEAK_BUILTIN_PLUGIN 
-I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld 
-I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/src/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/src/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/plugins/FilePlugin 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/plugins/B3DAcceleratorPlugin 
-I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld 
-I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/src/vm&nbsp;&nbsp; -E -dM 
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c 
| egrep "86|GLIBC|Fence"<BR>#define M_SQRT1_2 0.70710678118654752440<BR>#define 
VM_HOST_CPU "x86_64"<BR>#define __GLIBC_PREREQ(maj,min) ((__GLIBC__ &lt;&lt; 16) 
+ __GLIBC_MINOR__ &gt;= ((maj) &lt;&lt; 16) + (min))<BR>#define __GLIBC__ 
2<BR>#define __GLIBC_HAVE_LONG_LONG 1<BR>#define __DBL_MAX__ 
1.7976931348623157e+308<BR>#define M_SQRT1_2l 
0.7071067811865475244008443621048490L<BR>#define __i386 1<BR>#define VM_HOST 
"x86_64-linux-gnu"<BR>#define i386 1<BR>#define __i386__ 1<BR>#define M_1_PIl 
0.3183098861837906715377675267450287L<BR>#define __GLIBC_MINOR__ 5<BR>#define 
M_1_PI 0.31830988618379067154<BR>#define sqLowLevelMFence() asm volatile 
("mfence")<BR></FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>and</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial><A 
href="mailto:vawhigso@vawhigs.org">vawhigso@vawhigs.org</A> 
[~/public_html/squeakelib/Cog/unixbuild/bld]# gcc -m32 -g -O2 -msse2 
-D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse 
-DLSB_FIRST=1&nbsp; -DHAVE_CONFIG_H&nbsp; -DSQUEAK_BUILTIN_PLUGIN 
-I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld 
-I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/src/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/src/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/plugins/FilePlugin 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/plugins/B3DAcceleratorPlugin 
-I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld 
-I/home1/vawhigso/public_html/squeakelib/Cog/unixbuild/bld 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/unix/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm 
-I/home1/vawhigso/public_html/squeakelib/Cog/src/vm&nbsp;&nbsp; -E -dM 
/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c | egrep 
"86|GLIBC|Fence"<BR>#define M_SQRT1_2 0.70710678118654752440<BR>#define 
VM_HOST_CPU "x86_64"<BR>#define __GLIBC_PREREQ(maj,min) ((__GLIBC__ &lt;&lt; 16) 
+ __GLIBC_MINOR__ &gt;= ((maj) &lt;&lt; 16) + (min))<BR>#define __GLIBC__ 
2<BR>#define __GLIBC_HAVE_LONG_LONG 1<BR>#define __DBL_MAX__ 
1.7976931348623157e+308<BR>#define M_SQRT1_2l 
0.7071067811865475244008443621048490L<BR>#define __i386 1<BR>#define VM_HOST 
"x86_64-linux-gnu"<BR>#define i386 1<BR>#define __i386__ 1<BR>#define M_1_PIl 
0.3183098861837906715377675267450287L<BR>#define __GLIBC_MINOR__ 5<BR>#define 
M_1_PI 0.31830988618379067154<BR>#define sqLowLevelMFence() asm volatile 
("mfence")<BR></FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Now I am getting a different error&nbsp;and this 
error like the last one is when building squeak itself, the last 
step.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>gcc -m32 -g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG 
-DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -msse -DLSB_FIRST=1 -o squeak 
disabledPlugins.o version.o -Wl,--export-dynamic&nbsp; vm/vm.a 
ADPCMCodecPlugin/ADPCMCodecPlugin.a AsynchFilePlugin/AsynchFilePlugin.a 
B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a 
BMPReadWriterPlugin/BMPReadWriterPlugin.a CroquetPlugin/CroquetPlugin.a 
ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a DSAPrims/DSAPrims.a 
FFTPlugin/FFTPlugin.a FileCopyPlugin/FileCopyPlugin.a FilePlugin/FilePlugin.a 
FloatArrayPlugin/FloatArrayPlugin.a FloatMathPlugin/FloatMathPlugin.a 
IA32ABI/IA32ABI.a JoystickTabletPlugin/JoystickTabletPlugin.a 
JPEGReaderPlugin/JPEGReaderPlugin.a 
JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.a Klatt/Klatt.a 
LargeIntegers/LargeIntegers.a Matrix2x3Plugin/Matrix2x3Plugin.a 
MIDIPlugin/MIDIPlugin.a MiscPrimitivePlugin/MiscPrimitivePlugin.a 
Mpeg3Plugin/Mpeg3Plugin.a RePlugin/RePlugin.a SecurityPlugin/SecurityPlugin.a 
SerialPlugin/SerialPlugin.a SocketPlugin/SocketPlugin.a 
SoundCodecPrims/SoundCodecPrims.a SoundGenerationPlugin/SoundGenerationPlugin.a 
SoundPlugin/SoundPlugin.a StarSqueakPlugin/StarSqueakPlugin.a 
SurfacePlugin/SurfacePlugin.a -lutil -ldl -lpthread -lm -lnsl -lpthread vm/vm.a 
-Wl,--rpath -Wl,/usr/local/lib<BR>/usr/bin/ld: warning: i386:x86-64 architecture 
of input file `vm/vm.a(gcc3x-cointerp.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`vm/vm.a(cogit.o)' is incompatible with i386 output<BR>/usr/bin/ld: warning: 
i386:x86-64 architecture of input file `vm/vm.a(sqNamedPrims.o)' is incompatible 
with i386 output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`vm/vm.a(sqVirtualMachine.o)' is incompatible with i386 output<BR>/usr/bin/ld: 
warning: i386:x86-64 architecture of input file `vm/vm.a(sqHeapMap.o)' is 
incompatible with i386 output<BR>/usr/bin/ld: warning: i386:x86-64 architecture 
of input file `vm/vm.a(aio.o)' is incompatible with i386 output<BR>/usr/bin/ld: 
warning: i386:x86-64 architecture of input file `vm/vm.a(debug.o)' is 
incompatible with i386 output<BR>/usr/bin/ld: warning: i386:x86-64 architecture 
of input file `vm/vm.a(osExports.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`vm/vm.a(sqUnixMemory.o)' is incompatible with i386 output<BR>/usr/bin/ld: 
warning: i386:x86-64 architecture of input file `vm/vm.a(sqUnixCharConv.o)' is 
incompatible with i386 output<BR>/usr/bin/ld: warning: i386:x86-64 architecture 
of input file `vm/vm.a(sqUnixVMProfile.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(FloatMathPlugin.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(acos.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(acosh.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(asin.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(asinh.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(atan.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(atan2.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(atanh.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(cos.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(cosh.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(exp.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(expm1.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(fmod.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(hypot.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(k_cos.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(k_sin.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(ldexp.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(log.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(log10.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(log1p.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(modf.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(pow.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(rem_pio2.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(scalbn.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(sin.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(sinh.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(sqrt.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(tan.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(tanh.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(finite.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(k_rem_pio2.o)' is incompatible with i386 
output<BR>/usr/bin/ld: warning: i386:x86-64 architecture of input file 
`FloatMathPlugin/FloatMathPlugin.a(k_tan.o)' is incompatible with i386 
output</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp; text&nbsp;&nbsp;&nbsp; 
data&nbsp;&nbsp;&nbsp;&nbsp; bss&nbsp;&nbsp;&nbsp;&nbsp; 
dec&nbsp;&nbsp;&nbsp;&nbsp; hex filename<BR>&nbsp;952169&nbsp;&nbsp; 44560&nbsp; 
297284 1294013&nbsp; 13bebd squeak</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>make: *** [squeak] Segmentation fault<BR>make: *** 
Deleting file `squeak'<BR></FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Rob</DIV></FONT>
<DIV style="FONT: 10pt Tahoma">
<DIV><BR></DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A 
title="mailto:eliot.miranda@gmail.com&#10;CTRL + Click to follow link" 
href="mailto:eliot.miranda@gmail.com">Eliot Miranda</A> </DIV>
<DIV><B>Sent:</B> Thursday, July 15, 2010 9:04 PM</DIV>
<DIV><B>To:</B> <A 
title="mailto:vm-dev@lists.squeakfoundation.org&#10;CTRL + Click to follow link" 
href="mailto:vm-dev@lists.squeakfoundation.org">Squeak Virtual Machine 
Development Discussion</A> </DIV>
<DIV><B>Subject:</B> Re: [Vm-dev] Cog on linux</DIV></DIV></DIV>
<DIV><BR></DIV>
<P>
<HR>

<P></P><BR><BR>
<DIV class=gmail_quote>On Thu, Jul 15, 2010 at 4:49 PM, Rob Withers <SPAN 
dir=ltr>&lt;<A 
href="mailto:reefedjib@yahoo.com">reefedjib@yahoo.com</A>&gt;</SPAN> wrote:<BR>
<BLOCKQUOTE 
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
class=gmail_quote><BR>
  <DIV style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px" 
  name="Compose message area">
  <DIV><FONT size=2 face=Arial>I get the following:</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial><A 
  title="mailto:vawhigso@vawhigs.org&#13;&#10;CTRL + Click to follow link" 
  href="mailto:vawhigso@vawhigs.org" target=_blank>vawhigso@vawhigs.org</A> 
  [~/public_html/squeakelib/Cog]# gcc -m32 -E -dM 
  platforms/Cross/vm/sqMemoryFence.h | egrep "86|GNUC"<BR>#define 
  __GNUC_PATCHLEVEL__ 2<BR>#define __GNUC__ 4<BR>#define __DBL_MAX__ 
  1.7976931348623157e+308<BR>#define __i386 1<BR>#define i386 1<BR>#define 
  __i386__ 1<BR>#define __GNUC_RH_RELEASE__ 48<BR>#define __GNUC_MINOR__ 
  1<BR>#define __GNUC_GNU_INLINE__ 1<BR></FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial><A href="mailto:vawhigso@vawhigs.org" 
  target=_blank>vawhigso@vawhigs.org</A> [~/public_html/squeakelib/Cog]# gcc 
  -m64 -E -dM platforms/Cross/vm/sqMemoryFence.h | egrep "86|GNUC"<BR>#define 
  __GNUC__ 4<BR>#define __DBL_MAX__ 1.7976931348623157e+308<BR>#define __x86_64 
  1<BR>#define __GNUC_RH_RELEASE__ 48<BR>#define __x86_64__ 1<BR>#define 
  __GNUC_PATCHLEVEL__ 2<BR>#define __GNUC_MINOR__ 1<BR>#define 
  __GNUC_GNU_INLINE__ 1<BR></FONT></DIV>
  <DIV><FONT size=2 face=Arial>It looks like I match the incantation, as both 32 
  and 64.&nbsp; Not sure what to change.</FONT></DIV></DIV></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>You need to figure out why, when sqMemoryFence.h is included by 
sqExternalSemaphores.c and sqTicker.c, the&nbsp;following&nbsp;macro in 
sqMemoryFence.h is not being defined or not being expanded:</DIV>
<DIV><BR></DIV>
<DIV>
<DIV>#if defined(__GNUC__) &amp;&amp; (defined(i386) || defined(__i386) || 
defined(__i386__) || defined(_X86_))</DIV>
<DIV># if defined(__MINGW32__) &amp;&amp; !__SSE2__</DIV>
<DIV>&nbsp;&nbsp; &nbsp;/* Andreas is fond of the gcc 2.95 MINGW but it lacks 
sse2 support */</DIV>
<DIV># &nbsp; define sqLowLevelMFence() asm volatile (".byte 0x0f;.byte 
0xae;.byte 0xf0")</DIV>
<DIV># else</DIV>
<DIV># &nbsp; define sqLowLevelMFence() asm volatile ("mfence")</DIV>
<DIV># endif</DIV>
<DIV>#else</DIV>
<DIV># if !defined(sqLowLevelMFence)</DIV>
<DIV>extern void sqLowLevelMFence(void);</DIV>
<DIV># endif</DIV>
<DIV>#endif</DIV></DIV>
<DIV><BR></DIV>
<DIV>i.e. from the above&nbsp;</DIV>
<DIV>
<DIV># &nbsp; define sqLowLevelMFence() asm volatile ("mfence")</DIV></DIV>
<DIV>should be live and hence in&nbsp;sqExternalSemaphores.c and 
sqTicker.c&nbsp;sqLowLevelMFence() should expand to&nbsp;asm volatile 
("mfence").</DIV>
<DIV><BR></DIV>
<DIV>gcc -E or gcc -P will run the preprocessor, so run the make capturing the 
compile commands for these two and retry the command deleting -c thefile and 
adding -E. &nbsp;Then look at the output and see what files are included (is 
sqMemoryFence.h being included?) and then if it is find out why, if as the -dM 
output above indicates, the macro isn't being defined given the above tests for 
both __GNUC__ and&nbsp;__i386__.</DIV>
<DIV><BR></DIV>
<DIV>HTH</DIV>
<DIV>Eliot</DIV>
<DIV><BR></DIV>
<BLOCKQUOTE 
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
class=gmail_quote>
  <DIV style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px" 
  name="Compose message area">
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Rob</FONT></DIV>
  <DIV style="FONT: 10pt Tahoma">
  <DIV><BR></DIV>
  <DIV style="BACKGROUND: #f5f5f5">
  <DIV><B>From:</B> <A 
  title="mailto:eliot.miranda@gmail.com&#13;&#10;CTRL + Click to follow link" 
  href="mailto:eliot.miranda@gmail.com" target=_blank>Eliot Miranda</A> </DIV>
  <DIV><B>Sent:</B> Thursday, July 15, 2010 6:27 PM</DIV>
  <DIV><B>To:</B> <A title=vm-dev@lists.squeakfoundation.org 
  href="mailto:vm-dev@lists.squeakfoundation.org" target=_blank>Squeak Virtual 
  Machine Development Discussion</A> </DIV>
  <DIV><B>Subject:</B> Re: [Vm-dev] Cog on linux</DIV></DIV></DIV>
  <DIV><BR></DIV>
  <P></P>
  <HR>

  <P></P><BR><BR>
  <DIV class=gmail_quote>On Thu, Jul 15, 2010 at 2:54 PM, Rob Withers <SPAN 
  dir=ltr>&lt;<A href="mailto:reefedjib@yahoo.com" 
  target=_blank>reefedjib@yahoo.com</A>&gt;</SPAN> wrote:<BR>
  <BLOCKQUOTE 
  style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
  class=gmail_quote><BR>(I am having trouble quoting Eliot's email as well. 
    &nbsp;Plain text is best)<BR></BLOCKQUOTE>
  <DIV><BR></DIV>
  <DIV>OK.</DIV>
  <DIV><BR></DIV>
  <DIV>&nbsp;</DIV>
  <BLOCKQUOTE 
  style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
  class=gmail_quote><BR>I finally figured out how to specify to configure to 
    use -m32 on the CFLAGS entries. &nbsp;It is a part of the invocation of 
    configure.<BR><BR>../../platforms/unix/config/configure CFLAGS="-m32 -g -O2 
    -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 
    -DCOGMTVM=0" LIBS=-lpthread<BR><BR>I seem to have gotten past the problem 
    with sqUnixHeartbeat.c and now I have a new 
    problem:<BR><BR>vm/vm.a(sqExternalSemaphores.o): In function 
    `doSignalExternalSemaphores':<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:198: 
    undefined reference to `sqLowLevelMFence'<BR></BLOCKQUOTE>
  <DIV><BR></DIV>
  <DIV>gcc -E -dM should print predefined macros. &nbsp;e.g.</DIV>
  <DIV><BR></DIV>
  <DIV>
  <DIV>
  <DIV>McStalker.oscogvm$ gcc -m32 -E -dM platforms/Cross/vm/sqMemoryFence.h | 
  egrep "86|GNUC"</DIV>
  <DIV>#define __GNUC__ 4</DIV>
  <DIV>#define __DBL_MAX__ 1.7976931348623157e+308</DIV>
  <DIV>#define __i386 1</DIV>
  <DIV>#define i386 1</DIV>
  <DIV>#define __i386__ 1</DIV>
  <DIV>#define __GNUC_PATCHLEVEL__ 1</DIV>
  <DIV>#define __GNUC_MINOR__ 2</DIV>
  <DIV>#define __GNUC_GNU_INLINE__ 1</DIV>
  <DIV>McStalker.oscogvm$ gcc -m64 -E -dM platforms/Cross/vm/sqMemoryFence.h | 
  egrep "86|GNUC"</DIV>
  <DIV>#define __GNUC__ 4</DIV>
  <DIV>#define __DBL_MAX__ 1.7976931348623157e+308</DIV>
  <DIV>#define __x86_64 1</DIV>
  <DIV>#define __x86_64__ 1</DIV>
  <DIV>#define __GNUC_PATCHLEVEL__ 1</DIV>
  <DIV>#define __GNUC_MINOR__ 2</DIV>
  <DIV>#define __GNUC_GNU_INLINE__ 1</DIV></DIV></DIV>
  <DIV><BR></DIV>
  <DIV>You'll then see what names are given to define x86/IA32 on your system. 
  &nbsp;You can then edit the following incantation to include your 
  configuration (and let me know what it is).</DIV>
  <DIV><BR></DIV>
  <DIV>&nbsp;#if defined(__GNUC__) &amp;&amp; (defined(i386) || defined(__i386) 
  || defined(__i386__) || defined(_X86_))</DIV>
  <DIV><BR></DIV>
  <DIV>HTH</DIV>
  <DIV>Eliot</DIV>
  <DIV><BR></DIV>
  <BLOCKQUOTE 
  style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
  class=gmail_quote>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:213: 
    undefined reference to 
    `sqLowLevelMFence'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:184: 
    undefined reference to 
    `sqLowLevelMFence'<BR>vm/vm.a(sqExternalSemaphores.o): In function 
    `signalSemaphoreWithIndex':<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:130: 
    undefined reference to 
    `sqLowLevelMFence'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:131: 
    undefined reference to 
    `sqAtomicAddConst'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:147: 
    undefined reference to 
    `sqLowLevelMFence'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:148: 
    undefined reference to 
    `sqCompareAndSwap'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:152: 
    undefined reference to 
    `sqLowLevelMFence'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:153: 
    undefined reference to 
    `sqCompareAndSwap'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:135: 
    undefined reference to 
    `sqLowLevelMFence'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:136: 
    undefined reference to 
    `sqCompareAndSwap'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:140: 
    undefined reference to 
    `sqLowLevelMFence'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqExternalSemaphores.c:141: 
    undefined reference to `sqCompareAndSwap'<BR>vm/vm.a(sqTicker.o): In 
    function 
    `checkHighPriorityTickees':<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:211: 
    undefined reference to 
    `sqLowLevelMFence'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:217: 
    undefined reference to 
    `sqCompareAndSwapRes'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:227: 
    undefined reference to `sqLowLevelMFence'<BR>vm/vm.a(sqTicker.o): In 
    function 
    `addHighPriorityTickee':<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:185: 
    undefined reference to `sqLowLevelMFence'<BR>vm/vm.a(sqTicker.o): In 
    function 
    `ioSynchronousCheckForEvents':<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:128: 
    undefined reference to `sqLowLevelMFence'<BR>vm/vm.a(sqTicker.o): In 
    function 
    `addHighPriorityTickee':<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:193: 
    undefined reference to 
    `sqLowLevelMFence'<BR>/home1/vawhigso/public_html/squeakelib/Cog/platforms/Cross/vm/sqTicker.c:193: 
    undefined reference to `sqLowLevelMFence'<BR>collect2: ld returned 1 exit 
    status<BR>make: *** [squeak] Error 1 
    <DIV><BR><BR>--------------------------------------------------<BR>From: 
    "Levente Uzonyi" &lt;<A href="mailto:leves@elte.hu" 
    target=_blank>leves@elte.hu</A>&gt;<BR></DIV>Sent: Thursday, July 15, 2010 
    3:38 PM<BR>To: "Squeak Virtual Machine Development Discussion" &lt;<A 
    href="mailto:vm-dev@lists.squeakfoundation.org" 
    target=_blank>vm-dev@lists.squeakfoundation.org</A>&gt; 
    <DIV><BR>Subject: Re: [Vm-dev] Cog on linux<BR><BR></DIV>
    <BLOCKQUOTE 
    style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
    class=gmail_quote><BR>
      <DIV>
      <DIV></DIV>
      <DIV>On Thu, 15 Jul 2010, Rob Withers wrote:<BR><BR>(Pine is unable to 
      quote your mail...)<BR><BR>The question is: is your OS 32 or 64-bit? The 
      CPU doesn't matter here. If your OS is 64-bit then you'll probably need 
      the gcc-multilibs package (or equivalent for your platform) and as Eliot 
      suggested the -m32 switch for compilation and linking. To run the 
      resulting VM, you'll need the ia32-libs package (or equivalent for your 
      platform), but you already have that if you can run the prebuilt 
      SqueakVM.<BR><BR><BR>Levente 
  <BR></DIV></DIV></BLOCKQUOTE><BR></BLOCKQUOTE></DIV><BR>
  <P></P></DIV><BR></BLOCKQUOTE></DIV><BR></BODY></HTML>