Cog FreeBSD patches

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
41 messages Options
123
dsg
Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

dsg
 
Hi Randal,
I have a 32bit vm available (which I've tested on a 64bit vps).
http://www.unthinkable.org/dl/cogvm-2373-freebsd-i386.tgz




On Mar 22, 2011, at 5:35 PM, Randal L. Schwartz wrote:

>
>
> So, at this point could someone either build me a FreeBSD 8.1 amd64 VM,
> or point me at an up-to-date set of instructions to build it myself?
>
> And it'd be nice to get the FreeBSD "port" updated as well, since I'd
> rather install it from a port.  The existing port is still building
> 3.9 at patchlevel 7067. :)
>
> --
> Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
> <[hidden email]> <URL:http://www.stonehenge.com/merlyn/>
> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
> See http://methodsandmessages.posterous.com/ for Smalltalk discussion

Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

David T. Lewis
In reply to this post by Igor Stasenko
 
On Wed, Mar 23, 2011 at 12:15:23AM +0100, Igor Stasenko wrote:

>
> On 22 March 2011 23:35, Randal L. Schwartz <[hidden email]> wrote:
> >
> >
> > So, at this point could someone either build me a FreeBSD 8.1 amd64 VM,
> > or point me at an up-to-date set of instructions to build it myself?
> >
>
> Here i sketched a brief instructions how to do that:
>
> http://code.google.com/p/cog/wiki/CMakeVMMaker
>

Randal,

Igor's instructions should yield a much faster VM, but to build a
64-bit standard VM, the following steps should also work. Caveat: I do
not have a FreeBSD system to test.

Assumptions:
  Generate sources on a Linux box or some other box with a working VM (assume Linux)
  Target is FreeBSD 64-bit AMD
  The FreeBSD box has a reasonably recent version of CMake (www.cmake.org)

Start in clean directory on the Linux box. Download files and run Squeak.

$ mkdir myworkingdir; cd myworkingdir
$ svn co http://squeakvm.org/svn/squeak/trunk/platforms
$ wget http://ftp.squeak.org/4.2/Squeak4.2-10966.zip
$ unzip Squeak4.2-10966.zip
$ wget http://ftp.squeak.org/4.2/SqueakV41.sources.gz
$ gunzip SqueakV41.sources.gz
$ squeak Squeak4.2-10966.image

Load VMMaker.

- Open a Monticello browser
- Add repository http://www.squeaksource.com/VMMaker
- Open repository, package category 'update', load latest (update-dtl.7.mcm)
- Evaluate "VMMaker updateFromServer" (accept merges for FFI).

Generate sources.

- World menu -> open... -> VMMaker
- Click on the Help button, upper left corner the VMMaker tool
- Read it (really, no kidding, read it, thanks to tpr for this)
- Drag the following from "Plugins not built" pane to "Internal Plugins" pane:
    BalloonEnginePlugin
    BitBltSimulation
    FilePlugin
    MiscPrimitivePlugin
    SocketPlugin
- Drag the following from "Plugins not built" pane to "External Plugins" pane:
    DeflatePlugin
- Note, you must have at least one external plugin (this is a bug in the
  CMake build procedure, note to self - follow up and get it fixed)
- Click on the generate "Entire" button.

Exit the image and go back to unix. At this point you have a ./platforms
and ./src directory. You will copy these over to the BSD target to build
the final VM, but before doing that make sure you you build it here. So...

$ mkdir build; cd build
$ ../platforms/unix/cmake/configure --help
$ ../platforms/unix/cmake/configure --src=../src --without-gl
$ make
$ make install

Assuming that the above produces a working VM, you can copy the ./src
and ./platforms over to your BSD system and repeat the configure and
make on that system.

HTH,
Dave

Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Pierce Ng-2
In reply to this post by Randal L. Schwartz
 
On Tue, Mar 22, 2011 at 03:35:37PM -0700, Randal L. Schwartz wrote:
> So, at this point could someone either build me a FreeBSD 8.1 amd64 VM,
> or point me at an up-to-date set of instructions to build it myself?

I believe Cog is 32-bit only, for now?

I too am running Cog on 7.3 amd64, but the executable is 32-bit. I
installed 7.3 x86 in a VirtualBox instance and built Cog there.

Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Igor Stasenko
 
I configured both slaves,

and David's is up and running now.
https://pharo-ic.lille.inria.fr/hudson/computer/cogvm.unthinkable.org%20%28FreeBSD%29/

Frank's one seems like down?
ssh says that connection refused on port 22.
https://pharo-ic.lille.inria.fr/hudson/computer/FreeBSD-7%20slave/


--
Best regards,
Igor Stasenko AKA sig.
Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Igor Stasenko
 
Oh.. forgot to say,
i need a running VM there to use it for generating stuff before build.

Actually i could generate everything at one of our hosts, and then at
FreeBSD slave just run cmake / make
But right now it works like that :)

So, please provide me a full path to existing VM installed in your system(s),
like
/usr/bin/squeak etc.
Or set environment var SQUEAKVM for hudson user.



On 23 March 2011 17:27, Igor Stasenko <[hidden email]> wrote:

> I configured both slaves,
>
> and David's is up and running now.
> https://pharo-ic.lille.inria.fr/hudson/computer/cogvm.unthinkable.org%20%28FreeBSD%29/
>
> Frank's one seems like down?
> ssh says that connection refused on port 22.
> https://pharo-ic.lille.inria.fr/hudson/computer/FreeBSD-7%20slave/
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>



--
Best regards,
Igor Stasenko AKA sig.
Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Frank Shearar
In reply to this post by Igor Stasenko
 
On 2011/03/23 16:27, Igor Stasenko wrote:
>
> I configured both slaves,
>
> and David's is up and running now.
> https://pharo-ic.lille.inria.fr/hudson/computer/cogvm.unthinkable.org%20%28FreeBSD%29/
>
> Frank's one seems like down?
> ssh says that connection refused on port 22.
> https://pharo-ic.lille.inria.fr/hudson/computer/FreeBSD-7%20slave/

Ah, right. I forgot the small detail that my sshd runs on a non-standard
port!

frank
Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Frank Shearar
In reply to this post by Igor Stasenko
 
Oh, OK - I thought the slaves were precisely for building the VMs!

I don't have a VM running on the machine at all at the moment.

What do I need to do to get one running?

frank

On 2011/03/23 16:30, Igor Stasenko wrote:

>
> Oh.. forgot to say,
> i need a running VM there to use it for generating stuff before build.
>
> Actually i could generate everything at one of our hosts, and then at
> FreeBSD slave just run cmake / make
> But right now it works like that :)
>
> So, please provide me a full path to existing VM installed in your system(s),
> like
> /usr/bin/squeak etc.
> Or set environment var SQUEAKVM for hudson user.
>
>
>
> On 23 March 2011 17:27, Igor Stasenko<[hidden email]>  wrote:
>> I configured both slaves,
>>
>> and David's is up and running now.
>> https://pharo-ic.lille.inria.fr/hudson/computer/cogvm.unthinkable.org%20%28FreeBSD%29/
>>
>> Frank's one seems like down?
>> ssh says that connection refused on port 22.
>> https://pharo-ic.lille.inria.fr/hudson/computer/FreeBSD-7%20slave/
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Igor Stasenko
 
On 23 March 2011 17:48, Frank Shearar <[hidden email]> wrote:
>
> Oh, OK - I thought the slaves were precisely for building the VMs!
>
> I don't have a VM running on the machine at all at the moment.
>
> What do I need to do to get one running?
>

Follow instructions here:
http://code.google.com/p/cog/wiki/CMakeVMMaker

Download this tarball:
https://pharo-ic.lille.inria.fr/hudson/view/Cog/job/Stack%20VM%20Unix/lastSuccessfulBuild/artifact/StackInterpreterUnixConfig-sources.tar.gz

And then replace build directory contents with attached  .zip file

then
cd build
cmake .
make

and in
build/results
 you will have StackVM and its modules.



> frank
>
> On 2011/03/23 16:30, Igor Stasenko wrote:
>>
>> Oh.. forgot to say,
>> i need a running VM there to use it for generating stuff before build.
>>
>> Actually i could generate everything at one of our hosts, and then at
>> FreeBSD slave just run cmake / make
>> But right now it works like that :)
>>
>> So, please provide me a full path to existing VM installed in your
>> system(s),
>> like
>> /usr/bin/squeak etc.
>> Or set environment var SQUEAKVM for hudson user.
>>
>>
>>
>> On 23 March 2011 17:27, Igor Stasenko<[hidden email]>  wrote:
>>>
>>> I configured both slaves,
>>>
>>> and David's is up and running now.
>>>
>>> https://pharo-ic.lille.inria.fr/hudson/computer/cogvm.unthinkable.org%20%28FreeBSD%29/
>>>
>>> Frank's one seems like down?
>>> ssh says that connection refused on port 22.
>>> https://pharo-ic.lille.inria.fr/hudson/computer/FreeBSD-7%20slave/
>>>
>>>
>>> --
>>> Best regards,
>>> Igor Stasenko AKA sig.
>>>
>>
>>
>>
>
>


--
Best regards,
Igor Stasenko AKA sig.

build.zip (54K) Download Attachment
dsg
Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

dsg

Hi Igor,
A cog vm binary is located at /usr/home/hudson/cogvm/bin/squeak. I also set the SQUEAKVM var.

I'm a very recent convert to smalltalk (about a month now), but I'll look into the package you reference.  I've been building the traditional way following the instructions in unixbuild/HowToBuild.  BTW, I'm still working on build issues (got the UUID plugin compiling this morning, now looking at sound).

Hi Frank,
The vm I have uploaded at http://www.unthinkable.org/dl/ might work for you, otherwise cogvm r2373 currently builds on 32bit FreeBSD with the following:

#Install the subversion-freebsd port/package

mkdir cogsrc
cd cd cogsrc

svn co http://squeakvm.org/svn/squeak/branches/Cog/platforms
svn co http://squeakvm.org/svn/squeak/branches/Cog/src
svn co http://squeakvm.org/svn/squeak/branches/Cog/unixbuild

cd unixbuild/bld

# No ports/packages are needed for a minimal headless install:
../../platforms/unix/config/configure CFLAGS="-g -O2 -msse2 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DNOEXECINFO -DDEBUGVM=0" LIBS=-pthread --without-x --without-gl --without-npsqueak

# If you have a desktop system with X installed:
../../platforms/unix/config/configure CFLAGS="-g -O2 -msse2 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DNOEXECINFO -DDEBUGVM=0" LIBS=-pthread --without-npsqueak

make install prefix=$HOME/cogvm


On Mar 23, 2011, at 11:57 AM, Igor Stasenko wrote:

> On 23 March 2011 17:48, Frank Shearar <[hidden email]> wrote:
>>
>> Oh, OK - I thought the slaves were precisely for building the VMs!
>>
>> I don't have a VM running on the machine at all at the moment.
>>
>> What do I need to do to get one running?
>>
>
> Follow instructions here:
> http://code.google.com/p/cog/wiki/CMakeVMMaker
>
> Download this tarball:
> https://pharo-ic.lille.inria.fr/hudson/view/Cog/job/Stack%20VM%20Unix/lastSuccessfulBuild/artifact/StackInterpreterUnixConfig-sources.tar.gz
>
> And then replace build directory contents with attached  .zip file
>
> then
> cd build
> cmake .
> make
>
> and in
> build/results
> you will have StackVM and its modules.
>
>
>
>> frank
>>
>> On 2011/03/23 16:30, Igor Stasenko wrote:
>>>
>>> Oh.. forgot to say,
>>> i need a running VM there to use it for generating stuff before build.
>>>
>>> Actually i could generate everything at one of our hosts, and then at
>>> FreeBSD slave just run cmake / make
>>> But right now it works like that :)
>>>
>>> So, please provide me a full path to existing VM installed in your
>>> system(s),
>>> like
>>> /usr/bin/squeak etc.
>>> Or set environment var SQUEAKVM for hudson user.
>>>
>>>
>>>
>>> On 23 March 2011 17:27, Igor Stasenko<[hidden email]>  wrote:
>>>>
>>>> I configured both slaves,
>>>>
>>>> and David's is up and running now.
>>>>
>>>> https://pharo-ic.lille.inria.fr/hudson/computer/cogvm.unthinkable.org%20%28FreeBSD%29/
>>>>
>>>> Frank's one seems like down?
>>>> ssh says that connection refused on port 22.
>>>> https://pharo-ic.lille.inria.fr/hudson/computer/FreeBSD-7%20slave/
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>> Igor Stasenko AKA sig.
>>>>
>>>
>>>
>>>
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
> <build.zip>

Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Frank Shearar
 
Hi David,

Those are great instructions.

On my machine I can't make install because of the following error though:

/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:787:3:
error: #error need to implement extracting pc from a ucontext_t on this
system
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In
function 'reportStackState':
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error:
'fp' undeclared (first use in this function)
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error:
(Each undeclared identifier is reported only once
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error:
for each function it appears in.)
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error:
'sp' undeclared (first use in this function)
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In
function 'main':
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1718:
warning: assignment from incompatible pointer type
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1723:
warning: assignment from incompatible pointer type
*** Error code 1

Stop in /usr/home/frank/temp/cogvm-64/unixbuild/bld/vm.
*** Error code 1

Stop in /usr/home/frank/temp/cogvm-64/unixbuild/bld.

frank

On 2011/03/23 17:55, David Graham wrote:

>
> Hi Igor,
> A cog vm binary is located at /usr/home/hudson/cogvm/bin/squeak. I also set the SQUEAKVM var.
>
> I'm a very recent convert to smalltalk (about a month now), but I'll look into the package you reference.  I've been building the traditional way following the instructions in unixbuild/HowToBuild.  BTW, I'm still working on build issues (got the UUID plugin compiling this morning, now looking at sound).
>
> Hi Frank,
> The vm I have uploaded at http://www.unthinkable.org/dl/ might work for you, otherwise cogvm r2373 currently builds on 32bit FreeBSD with the following:
>
> #Install the subversion-freebsd port/package
>
> mkdir cogsrc
> cd cd cogsrc
>
> svn co http://squeakvm.org/svn/squeak/branches/Cog/platforms
> svn co http://squeakvm.org/svn/squeak/branches/Cog/src
> svn co http://squeakvm.org/svn/squeak/branches/Cog/unixbuild
>
> cd unixbuild/bld
>
> # No ports/packages are needed for a minimal headless install:
> ../../platforms/unix/config/configure CFLAGS="-g -O2 -msse2 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DNOEXECINFO -DDEBUGVM=0" LIBS=-pthread --without-x --without-gl --without-npsqueak
>
> # If you have a desktop system with X installed:
> ../../platforms/unix/config/configure CFLAGS="-g -O2 -msse2 -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DNOEXECINFO -DDEBUGVM=0" LIBS=-pthread --without-npsqueak
>
> make install prefix=$HOME/cogvm
>
>
> On Mar 23, 2011, at 11:57 AM, Igor Stasenko wrote:
>
>> On 23 March 2011 17:48, Frank Shearar<[hidden email]>  wrote:
>>>
>>> Oh, OK - I thought the slaves were precisely for building the VMs!
>>>
>>> I don't have a VM running on the machine at all at the moment.
>>>
>>> What do I need to do to get one running?
>>>
>>
>> Follow instructions here:
>> http://code.google.com/p/cog/wiki/CMakeVMMaker
>>
>> Download this tarball:
>> https://pharo-ic.lille.inria.fr/hudson/view/Cog/job/Stack%20VM%20Unix/lastSuccessfulBuild/artifact/StackInterpreterUnixConfig-sources.tar.gz
>>
>> And then replace build directory contents with attached  .zip file
>>
>> then
>> cd build
>> cmake .
>> make
>>
>> and in
>> build/results
>> you will have StackVM and its modules.
>>
>>
>>
>>> frank
>>>
>>> On 2011/03/23 16:30, Igor Stasenko wrote:
>>>>
>>>> Oh.. forgot to say,
>>>> i need a running VM there to use it for generating stuff before build.
>>>>
>>>> Actually i could generate everything at one of our hosts, and then at
>>>> FreeBSD slave just run cmake / make
>>>> But right now it works like that :)
>>>>
>>>> So, please provide me a full path to existing VM installed in your
>>>> system(s),
>>>> like
>>>> /usr/bin/squeak etc.
>>>> Or set environment var SQUEAKVM for hudson user.
>>>>
>>>>
>>>>
>>>> On 23 March 2011 17:27, Igor Stasenko<[hidden email]>   wrote:
>>>>>
>>>>> I configured both slaves,
>>>>>
>>>>> and David's is up and running now.
>>>>>
>>>>> https://pharo-ic.lille.inria.fr/hudson/computer/cogvm.unthinkable.org%20%28FreeBSD%29/
>>>>>
>>>>> Frank's one seems like down?
>>>>> ssh says that connection refused on port 22.
>>>>> https://pharo-ic.lille.inria.fr/hudson/computer/FreeBSD-7%20slave/
>>>>>
>>>>>
>>>>> --
>>>>> Best regards,
>>>>> Igor Stasenko AKA sig.
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>> <build.zip>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Igor Stasenko
In reply to this post by dsg

On 23 March 2011 18:55, David Graham <[hidden email]> wrote:
>
> Hi Igor,
> A cog vm binary is located at /usr/home/hudson/cogvm/bin/squeak. I also set the SQUEAKVM var.
>
> I'm a very recent convert to smalltalk (about a month now), but I'll look into the package you reference.  I've been building the traditional way following the instructions in unixbuild/HowToBuild.  BTW, I'm still working on build issues (got the UUID plugin compiling this morning, now looking at sound).
>

Your slave is aready set up and running.
Just one little issue:

[cut of console output]
+ cmake .
cmake: not found


:)


--
Best regards,
Igor Stasenko AKA sig.
dsg
Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

dsg
In reply to this post by Frank Shearar

Hi Frank,

There is some 32bit x86 dependent code in that section.  Are you trying to compile the vm on a 64bit host with the 32bit compatibility libs?


On Mar 23, 2011, at 2:08 PM, Frank Shearar wrote:

> Hi David,
>
> Those are great instructions.
>
> On my machine I can't make install because of the following error though:
>
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:787:3: error: #error need to implement extracting pc from a ucontext_t on this system
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In function 'reportStackState':
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error: 'fp' undeclared (first use in this function)
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error: (Each undeclared identifier is reported only once
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error: for each function it appears in.)
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error: 'sp' undeclared (first use in this function)
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In function 'main':
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1718: warning: assignment from incompatible pointer type
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1723: warning: assignment from incompatible pointer type
> *** Error code 1
>
> Stop in /usr/home/frank/temp/cogvm-64/unixbuild/bld/vm.
> *** Error code 1
>
> Stop in /usr/home/frank/temp/cogvm-64/unixbuild/bld.
>
> frank

Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Frank Shearar
 
Yes, I think. Well, I just blindly followed your instructions on a 64
bit machine :)

frank

On 2011/03/23 19:38, David Graham wrote:

>
> Hi Frank,
>
> There is some 32bit x86 dependent code in that section.  Are you trying to compile the vm on a 64bit host with the 32bit compatibility libs?
>
>
> On Mar 23, 2011, at 2:08 PM, Frank Shearar wrote:
>
>> Hi David,
>>
>> Those are great instructions.
>>
>> On my machine I can't make install because of the following error though:
>>
>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:787:3: error: #error need to implement extracting pc from a ucontext_t on this system
>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In function 'reportStackState':
>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error: 'fp' undeclared (first use in this function)
>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error: (Each undeclared identifier is reported only once
>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error: for each function it appears in.)
>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error: 'sp' undeclared (first use in this function)
>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In function 'main':
>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1718: warning: assignment from incompatible pointer type
>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1723: warning: assignment from incompatible pointer type
>> *** Error code 1
>>
>> Stop in /usr/home/frank/temp/cogvm-64/unixbuild/bld/vm.
>> *** Error code 1
>>
>> Stop in /usr/home/frank/temp/cogvm-64/unixbuild/bld.
>>
>> frank
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Igor Stasenko

On 23 March 2011 20:47, Frank Shearar <[hidden email]> wrote:
>
> Yes, I think. Well, I just blindly followed your instructions on a 64 bit
> machine :)
>
JIT won't run on 64 bits.
But you can try building StackVM

> frank
>
> On 2011/03/23 19:38, David Graham wrote:
>>
>> Hi Frank,
>>
>> There is some 32bit x86 dependent code in that section.  Are you trying to
>> compile the vm on a 64bit host with the 32bit compatibility libs?
>>
>>
>> On Mar 23, 2011, at 2:08 PM, Frank Shearar wrote:
>>
>>> Hi David,
>>>
>>> Those are great instructions.
>>>
>>> On my machine I can't make install because of the following error though:
>>>
>>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:787:3:
>>> error: #error need to implement extracting pc from a ucontext_t on this
>>> system
>>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In function
>>> 'reportStackState':
>>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error:
>>> 'fp' undeclared (first use in this function)
>>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error:
>>> (Each undeclared identifier is reported only once
>>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error:
>>> for each function it appears in.)
>>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:791: error:
>>> 'sp' undeclared (first use in this function)
>>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In function
>>> 'main':
>>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1718:
>>> warning: assignment from incompatible pointer type
>>> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1723:
>>> warning: assignment from incompatible pointer type
>>> *** Error code 1
>>>
>>> Stop in /usr/home/frank/temp/cogvm-64/unixbuild/bld/vm.
>>> *** Error code 1
>>>
>>> Stop in /usr/home/frank/temp/cogvm-64/unixbuild/bld.
>>>
>>> frank
>>
>>
>>
>
>



--
Best regards,
Igor Stasenko AKA sig.
Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Frank Shearar
In reply to this post by Igor Stasenko
 
On 2011/03/23 19:34, Igor Stasenko wrote:

>
> On 23 March 2011 18:55, David Graham<[hidden email]>  wrote:
>>
>> Hi Igor,
>> A cog vm binary is located at /usr/home/hudson/cogvm/bin/squeak. I also set the SQUEAKVM var.
>>
>> I'm a very recent convert to smalltalk (about a month now), but I'll look into the package you reference.  I've been building the traditional way following the instructions in unixbuild/HowToBuild.  BTW, I'm still working on build issues (got the UUID plugin compiling this morning, now looking at sound).
>>
>
> Your slave is aready set up and running.
> Just one little issue:
>
> [cut of console output]
> + cmake .
> cmake: not found
>
>
> :)

*cough* Right!

It's now installed on my machine too.

frank
dsg
Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

dsg
In reply to this post by Igor Stasenko

Fixed, but I see a new error:
javax.mail.internet.AddressException: Illegal address in string ``,''

I'm guessing that's on the hudson config side?

On Mar 23, 2011, at 2:34 PM, Igor Stasenko wrote:

>
> On 23 March 2011 18:55, David Graham <[hidden email]> wrote:
>>
>> Hi Igor,
>> A cog vm binary is located at /usr/home/hudson/cogvm/bin/squeak. I also set the SQUEAKVM var.
>>
>> I'm a very recent convert to smalltalk (about a month now), but I'll look into the package you reference.  I've been building the traditional way following the instructions in unixbuild/HowToBuild.  BTW, I'm still working on build issues (got the UUID plugin compiling this morning, now looking at sound).
>>
>
> Your slave is aready set up and running.
> Just one little issue:
>
> [cut of console output]
> + cmake .
> cmake: not found
>
>
> :)
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Igor Stasenko

On 23 March 2011 20:56, David Graham <[hidden email]> wrote:
>
> Fixed, but I see a new error:
> javax.mail.internet.AddressException: Illegal address in string ``,''
>
> I'm guessing that's on the hudson config side?
>

yeah . my fault. I used comma to separate mails instead of space.
Btw i added you to that list, so you will get notified about problems.

> On Mar 23, 2011, at 2:34 PM, Igor Stasenko wrote:
>
>>
>> On 23 March 2011 18:55, David Graham <[hidden email]> wrote:
>>>
>>> Hi Igor,
>>> A cog vm binary is located at /usr/home/hudson/cogvm/bin/squeak. I also set the SQUEAKVM var.
>>>
>>> I'm a very recent convert to smalltalk (about a month now), but I'll look into the package you reference.  I've been building the traditional way following the instructions in unixbuild/HowToBuild.  BTW, I'm still working on build issues (got the UUID plugin compiling this morning, now looking at sound).
>>>
>>
>> Your slave is aready set up and running.
>> Just one little issue:
>>
>> [cut of console output]
>> + cmake .
>> cmake: not found
>>
>>
>> :)
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>
>



--
Best regards,
Igor Stasenko AKA sig.
Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

David T. Lewis
In reply to this post by Igor Stasenko
 
On Wed, Mar 23, 2011 at 08:51:08PM +0100, Igor Stasenko wrote:
>
> On 23 March 2011 20:47, Frank Shearar <[hidden email]> wrote:
> >
> > Yes, I think. Well, I just blindly followed your instructions on a 64 bit
> > machine :)
> >
> JIT won't run on 64 bits.
> But you can try building StackVM
>

You should be able to build the 32-bit JIT on a 64-bit machine. On Linux
I was able to do it with Eliot's build as follows:

../platforms/unix/config/configure CC="gcc -m32" CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0" LDFLAGS="-m32" LIBS=-lpthread

The problem (on Linux at least) was just that libtool insists on linking
to 64-bit libraries regardless of what you do with CFLAGS and LDFLAGS,
so you have to trick it into submission with the CC="gcc -m32" hack.

It was not me that figured this out, but I can't recall who gets
the credit.

The libtool issues go away with Ian's CMake build, and that may be
the case with the new CMake build procedures also. In any case it
certainly is possible to build and run Cog on 64-bit machines.

HTH,
Dave

Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

Frank Shearar
 
On 2011/03/23 21:17, David T. Lewis wrote:

>
> On Wed, Mar 23, 2011 at 08:51:08PM +0100, Igor Stasenko wrote:
>>
>> On 23 March 2011 20:47, Frank Shearar<[hidden email]>  wrote:
>>>
>>> Yes, I think. Well, I just blindly followed your instructions on a 64 bit
>>> machine :)
>>>
>> JIT won't run on 64 bits.
>> But you can try building StackVM
>>
>
> You should be able to build the 32-bit JIT on a 64-bit machine. On Linux
> I was able to do it with Eliot's build as follows:
>
> ../platforms/unix/config/configure CC="gcc -m32" CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0" LDFLAGS="-m32" LIBS=-lpthread
>
> The problem (on Linux at least) was just that libtool insists on linking
> to 64-bit libraries regardless of what you do with CFLAGS and LDFLAGS,
> so you have to trick it into submission with the CC="gcc -m32" hack.
>
> It was not me that figured this out, but I can't recall who gets
> the credit.
>
> The libtool issues go away with Ian's CMake build, and that may be
> the case with the new CMake build procedures also. In any case it
> certainly is possible to build and run Cog on 64-bit machines.

Sorry, I should know this. We spoke about this in December, in fact:

http://lists.squeakfoundation.org/pipermail/vm-dev/2010-December/006008.html

I think it was Pierce Ng who found out the final magic recipe.

It's not just the "gcc -m32" bit - which gets you far enough to hit the
"C compiler cannot create executables" problem - you have to say "gcc
-m32 -B/usr/lib32", at which point I get new errors:

/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:60:23:
error: execinfo.h: No such file or directory
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In
function 'reportStackState':
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:784: error:
'mcontext_t' has no member named 'mc_ebp'
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:785: error:
'mcontext_t' has no member named 'mc_esp'
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In
function 'main':
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1718:
warning: assignment from incompatible pointer type
/usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1723:
warning: assignment from incompatible pointer type
*** Error code 1

frank
dsg
Reply | Threaded
Open this post in threaded view
|

Re: Cog FreeBSD patches

dsg

>
>
> http://lists.squeakfoundation.org/pipermail/vm-dev/2010-December/006008.html
>
> I think it was Pierce Ng who found out the final magic recipe.
>
> It's not just the "gcc -m32" bit - which gets you far enough to hit the "C compiler cannot create executables" problem - you have to say "gcc -m32 -B/usr/lib32", at which point I get new errors:
>
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:60:23: error: execinfo.h: No such file or directory
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In function 'reportStackState':
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:784: error: 'mcontext_t' has no member named 'mc_ebp'
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:785: error: 'mcontext_t' has no member named 'mc_esp'
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c: In function 'main':
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1718: warning: assignment from incompatible pointer type
> /usr/home/frank/temp/cogvm-64/platforms/unix/vm/sqUnixMain.c:1723: warning: assignment from incompatible pointer type
> *** Error code 1
>
> frank


Do you have -DNOEXECINFO in your CFLAGS?


123