<!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>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&#10;CTRL + Click to follow link" 
href="mailto:vawhigso@vawhigs.org">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">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><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 6:27 PM</DIV>
<DIV><B>To:</B> <A title=vm-dev@lists.squeakfoundation.org 
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 2:54 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>(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 
  class=im><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 class=im><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 class=h5>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></BODY></HTML>