Building a 64-bit VM for FreeBSD

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

Building a 64-bit VM for FreeBSD

Frank Shearar
 
Hi everyone,

I'm trying to wrap my head around how to use VMMaker to generate source for
a VM.

I took a stock 3.9 (Squeak3.9-final-7067, to be precise) image on my Windows
machine, installed VMMaker from SqueakMaps, and fired up the VMMakerTool. I
checked out http://squeakvm.org/svn/squeak/trunk/platforms into a src
directory, and pointed VMMakerTool at it. I told it "build all plugins
internally" (because I want to Make It Work first).

That generated some files. (In the unix subdirectory: interp.c, interp.h,
sqNamedPrims.h. In unix/vm/intplugins/Foo/, a Foo.c, where Foo is each of
the plugin names.)

Then:

cd ~/temp
mkdir src
cd src
svn co http://squeakvm.org/svn/squeak/trunk/platforms

I copied the various produced files on my Windows manually over to the new
repository. Then:

mkdir bld
cd bld
../platforms/unix/config/configure
make

and everything started compiling. Everything went fine, until we started
compiling sqUnixSecurity.c, when I got this:

gcc -g -O2 -DLSB_FIRST=1  -DHAVE_CONFIG_H  -DSQUEAK_BUILTIN_PLUGIN  -I/usr/h
ome/frank/temp/src/bld -I/usr/home/frank/temp/src/platforms/unix/vm -I/usr/h
ome/frank/temp/src/platforms/Cross/vm -I/usr/home/frank/temp/src/platforms/u
nix/src/vm -I/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin
   -c -o sqUnixSecurity.o
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c
In file included from
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:16:
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:4: error: conflicting types for 'ioDisableImageWrite'
/usr/home/frank/temp/src/platforms/Cross/vm/sq.h:345: error: previous
declaration of 'ioDisableImageWrite' was here
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:5: error: conflicting types for 'ioCanWriteImage'
/usr/home/frank/temp/src/platforms/Cross/vm/sq.h:344: error: previous
declaration of 'ioCanWriteImage' was here
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:28: error: conflicting types for 'ioCanRenameImage'
/usr/home/frank/temp/src/platforms/Cross/vm/sq.h:343: error: previous
declaration of 'ioCanRenameImage' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:67: error: conflicting types for 'ioCanCreatePathOfSize'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:20: error: previous declaration of 'ioCanCreatePathOfSize' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:74: error: conflicting types for 'ioCanListPathOfSize'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:24: error: previous declaration of 'ioCanListPathOfSize' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:81: error: conflicting types for 'ioCanDeletePathOfSize'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:22: error: previous declaration of 'ioCanDeletePathOfSize' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:91: error: conflicting types for 'ioCanOpenFileOfSizeWritable'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:26: error: previous declaration of 'ioCanOpenFileOfSizeWritable' was
here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:98: error: conflicting types for 'ioCanOpenAsyncFileOfSizeWritable'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:25: error: previous declaration of 'ioCanOpenAsyncFileOfSizeWritable'
was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:104: error: conflicting types for 'ioCanDeleteFileOfSize'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:21: error: previous declaration of 'ioCanDeleteFileOfSize' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:110: error: conflicting types for 'ioCanRenameFileOfSize'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:27: error: previous declaration of 'ioCanRenameFileOfSize' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:117: error: conflicting types for 'ioCanGetFileTypeOfSize'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:23: error: previous declaration of 'ioCanGetFileTypeOfSize' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:123: error: conflicting types for 'ioCanSetFileTypeOfSize'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:29: error: previous declaration of 'ioCanSetFileTypeOfSize' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:132: error: conflicting types for 'ioDisableFileAccess'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:30: error: previous declaration of 'ioDisableFileAccess' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:139: error: conflicting types for 'ioHasFileAccess'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:31: error: previous declaration of 'ioHasFileAccess' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:174: error: conflicting types for 'ioCanCreateSocketOfType'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:16: error: previous declaration of 'ioCanCreateSocketOfType' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:180: error: conflicting types for 'ioCanConnectToPort'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:17: error: previous declaration of 'ioCanConnectToPort' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:186: error: conflicting types for 'ioCanListenOnPort'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:13: error: previous declaration of 'ioCanListenOnPort' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:192: error: conflicting types for 'ioDisableSocketAccess'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:18: error: previous declaration of 'ioDisableSocketAccess' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:199: error: conflicting types for 'ioHasSocketAccess'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:19: error: previous declaration of 'ioHasSocketAccess' was here
/usr/home/frank/temp/src/platforms/unix/plugins/SecurityPlugin/sqUnixSecurit
y.c:224: error: conflicting types for 'ioInitSecurity'
/usr/home/frank/temp/src/platforms/Cross/plugins/SecurityPlugin/SecurityPlug
in.h:12: error: previous declaration of 'ioInitSecurity' was here
*** Error code 1

Stop in /usr/home/frank/temp/src/bld/SecurityPlugin.
*** Error code 1

Stop in /usr/home/frank/temp/src/bld.

I'm running gcc (GCC) 4.2.1 20070719  [FreeBSD].

How have I messed up, and do I need to give any further info?

frank

Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

David T. Lewis
 
On Wed, Feb 04, 2009 at 11:31:12AM +0200, Frank Shearar wrote:
>  
> Hi everyone,
>
> I'm trying to wrap my head around how to use VMMaker to generate source for
> a VM.

The Unix build instructions are included in the platforms sources:
  http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/doc/

An overview of 64-bit Squeak VM and image is here:
  http://squeakvm.org/squeak64/faq.html

A slightly out of date recipe for building from source on a 64-bit unix/linux
platform is here:
  http://lists.squeakfoundation.org/pipermail/vm-dev/2007-December/001703.html

You can save some steps by loading VMMaker from squeaksource.com, which
contains many of the updates in the recipe (especially steps 2 and 3):
  http://squeaksource.com/VMMaker/VMMaker-dtl.113.mcz

I usually organize the build directories thus:
  ./platforms
  ./src32
  ./build32

Then do a symlink:
  ln -s ./src32 src

Let VMMaker put the generated sources in ./src32, and do the build in ./build32.
The symlink to ./src is used by configure and make to find the sources.

HTH,
Dave

Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

Frank Shearar
 
"David T. Lewis" <[hidden email]> writes:


> On Wed, Feb 04, 2009 at 11:31:12AM +0200, Frank Shearar wrote:
> >
> > Hi everyone,
> >
> > I'm trying to wrap my head around how to use VMMaker to generate source
for
> > a VM.
>
> The Unix build instructions are included in the platforms sources:
>   http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/doc/
>
<snip>
> Let VMMaker put the generated sources in ./src32, and do the build in
./build32.
> The symlink to ./src is used by configure and make to find the sources.

Thanks for the response, David.

I still don't understand the process. (I promise, I did read the FAQ and the
64-bit Unix Squeak pages!) OK, so there's a Subversion repository for the
Squeak VM. And there's VMMaker. Now if I run VMMaker (having first created a
./platform/unix), I get a small number of files. For instance, in the vm
directory there's interp.c, interp.h and sqNamedPrims.h. These files aren't
in the svn repository.

Should VMMaker have its "Path to generated sources" point to the checked-out
svn repository instead, so the VMMaker-generated files alter the repository?

frank

Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

Bert Freudenberg
 

On 11.02.2009, at 12:24, Frank Shearar wrote:

>
> "David T. Lewis" <[hidden email]> writes:
>
>
>> On Wed, Feb 04, 2009 at 11:31:12AM +0200, Frank Shearar wrote:
>>>
>>> Hi everyone,
>>>
>>> I'm trying to wrap my head around how to use VMMaker to generate  
>>> source
> for
>>> a VM.
>>
>> The Unix build instructions are included in the platforms sources:
>>  http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/doc/
>>
> <snip>
>> Let VMMaker put the generated sources in ./src32, and do the build in
> ./build32.
>> The symlink to ./src is used by configure and make to find the  
>> sources.
>
> Thanks for the response, David.
>
> I still don't understand the process. (I promise, I did read the FAQ  
> and the
> 64-bit Unix Squeak pages!) OK, so there's a Subversion repository  
> for the
> Squeak VM. And there's VMMaker. Now if I run VMMaker (having first  
> created a
> ./platform/unix), I get a small number of files.

You also need to select the plugins you want to build.

> For instance, in the vm
> directory there's interp.c, interp.h and sqNamedPrims.h. These files  
> aren't
> in the svn repository.

http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/src/vm/

> Should VMMaker have its "Path to generated sources" point to the  
> checked-out
> svn repository instead, so the VMMaker-generated files alter the  
> repository?


No, you delete the pre-generated src directory and replace it with  
your own generated sources.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

Frank Shearar
 
"Bert Freudenberg" <[hidden email]> wrote:

> On 11.02.2009, at 12:24, Frank Shearar wrote:
>
> >
> > "David T. Lewis" <[hidden email]> writes:
> >
> >
> >> On Wed, Feb 04, 2009 at 11:31:12AM +0200, Frank Shearar wrote:
> >>>
> >>> Hi everyone,
> >>>
> >>> I'm trying to wrap my head around how to use VMMaker to generate
> >>> source
> > for
> >>> a VM.
> >>
> >> The Unix build instructions are included in the platforms sources:
> >>  http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/doc/
> >>
> > <snip>
> >> Let VMMaker put the generated sources in ./src32, and do the build in
> > ./build32.
> >> The symlink to ./src is used by configure and make to find the
> >> sources.
> >
> > Thanks for the response, David.
> >
> > I still don't understand the process. (I promise, I did read the FAQ
> > and the
> > 64-bit Unix Squeak pages!) OK, so there's a Subversion repository
> > for the
> > Squeak VM. And there's VMMaker. Now if I run VMMaker (having first
> > created a
> > ./platform/unix), I get a small number of files.
>
> You also need to select the plugins you want to build.

Sorry, I should've mentioned that I'd done that. For the moment I've just
gone the "all internal" route (for all the available ports, at least).

> > For instance, in the vm
> > directory there's interp.c, interp.h and sqNamedPrims.h. These files
> > aren't
> > in the svn repository.
>
> http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/src/vm/

Ah, I NOW see there's a unix/src/vm/ - I was looking in unix/vm/.

> > Should VMMaker have its "Path to generated sources" point to the
> > checked-out
> > svn repository instead, so the VMMaker-generated files alter the
> > repository?
>
>
> No, you delete the pre-generated src directory and replace it with
> your own generated sources.

OK. Does it matter that I'm running VMMaker on a Windows machine and then
copying the resulting src/ over to a FreeBSD machine? (I'm thinking in
particular of line endings.)

I've tried various things, and had various errors preventing compilation.

I thought then I'd try compile the 3.10-4 straight as-is. This should
generate a 32 bit VM, yes? At least, it looks that way judging from the
enormous number of warnings complaining about size differences in casts.
Anyway, after a lot of sweating and consulting my local gcc guru, the
following incantation resulted in a fully-compiling 32 bit VM:

  mkdir bld
  cd bld
  ../platforms/unix/config/configure CPPFLAGS=-I/usr/local/include
LDFLAGS="-L/usr/local/lib" --without-npsqueak
  make
  sudo make install

I'll try that out shortly with a Seaside image.

frank

Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

Frank Shearar
 
"Frank Shearar" <[hidden email]> writes:

> "Bert Freudenberg" <[hidden email]> wrote:
>
> > On 11.02.2009, at 12:24, Frank Shearar wrote:
> >
> > >
> > > "David T. Lewis" <[hidden email]> writes:
> > >
> > >
> > >> On Wed, Feb 04, 2009 at 11:31:12AM +0200, Frank Shearar wrote:
> > >>>

> > > Should VMMaker have its "Path to generated sources" point to the
> > > checked-out
> > > svn repository instead, so the VMMaker-generated files alter the
> > > repository?
> >
> >
> > No, you delete the pre-generated src directory and replace it with
> > your own generated sources.
>
> OK. Does it matter that I'm running VMMaker on a Windows machine and then
> copying the resulting src/ over to a FreeBSD machine? (I'm thinking in
> particular of line endings.)
>
<snip>
>
> I'll try that out shortly with a Seaside image.

I forgot to add: thank you very much, Bert and David, for putting up with my
ridiculously newbie questions.

frank

Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

Bert Freudenberg
In reply to this post by Frank Shearar
 
On 11.02.2009, at 19:32, Frank Shearar wrote:
> OK. Does it matter that I'm running VMMaker on a Windows machine and  
> then
> copying the resulting src/ over to a FreeBSD machine? (I'm thinking in
> particular of line endings.)

No. What I am wondering though is why you regenerate the sources at  
all. Did you change anything?

> I thought then I'd try compile the 3.10-4 straight as-is.

Right. What's the problem with that?

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

Frank Shearar
 
"Bert Freudenberg" <[hidden email]> wrote:

> On 11.02.2009, at 19:32, Frank Shearar wrote:
> > OK. Does it matter that I'm running VMMaker on a Windows machine and
> > then
> > copying the resulting src/ over to a FreeBSD machine? (I'm thinking in
> > particular of line endings.)
>
> No. What I am wondering though is why you regenerate the sources at
> all. Did you change anything?

No; I'd tried simply checking out the squeakvm repository and compiling
that. That failed (see below), and so I thought that perhaps I'd _have_to_
have a 64 bit VM, that being the machine's architecture. (Also, the
lang/squeak port is explicitly marked as i386 only.)

> > I thought then I'd try compile the 3.10-4 straight as-is.
>
> Right. What's the problem with that?

Here's what I did:

cd ~/temp
mkdir bld
svn co http://squeakvm.org/svn/squeak/trunk/platforms

That checked out revision 1967.

cd ../bld
script configure.txt ../platforms/unix/config/configure

I've attached the resulting files.

frank

make.txt (113K) Download Attachment
configure.txt (12K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

David T. Lewis
In reply to this post by Frank Shearar
 
On Wed, Feb 11, 2009 at 08:32:57PM +0200, Frank Shearar wrote:
>  
> OK. Does it matter that I'm running VMMaker on a Windows machine and then
> copying the resulting src/ over to a FreeBSD machine? (I'm thinking in
> particular of line endings.)

Yes it is possible that this would cause problems. On Linux, I just
use the /usr/local/bin/svn command line tool. You should be able to
find that for your FreeBSD system also.

I am attaching two files to show the complete build process on a
64-bit Linux system. I expect that it should work exactly the same
on your 64-bit FreeBSD.

The typescript.gz file is a complete copy of a terminal session
(captured using /usr/bin/script) in which I download the Subversion
sources, generate the VM source from Squeak, and then do a configure,
make, and make install.

The world.png file is a screen shot of the Squeak image with VMMaker
that I used to generate the sources.

Note that I am using a different directory structure than Bert
suggested (I put the generated sources in a directory separate
from platforms, and use symlinks). This is a matter of personal
preference and either approach should work. Either way, it is
important for the configure script to be able to find the right
../src directory, otherwise you will get errors.

The entire build process will only take a few minutes once you
get the hang of it :)

Dave
 

typescript.gz (33K) Download Attachment
world.png (88K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

Bert Freudenberg
 

On 12.02.2009, at 06:12, David T. Lewis wrote:

> I am attaching two files to show the complete build process on a
> 64-bit Linux system. I expect that it should work exactly the same
> on your 64-bit FreeBSD.


If the goal is just to make a usable VM on a 64-bit Linux system, is  
the VMMaker step necessary? I thought not, but if the sources fail to  
compile out-of-the-box then we should try to fix that.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

David T. Lewis
 
On Thu, Feb 12, 2009 at 10:08:53AM +0100, Bert Freudenberg wrote:

>
> On 12.02.2009, at 06:12, David T. Lewis wrote:
>
> >I am attaching two files to show the complete build process on a
> >64-bit Linux system. I expect that it should work exactly the same
> >on your 64-bit FreeBSD.
>
>
> If the goal is just to make a usable VM on a 64-bit Linux system, is  
> the VMMaker step necessary? I thought not, but if the sources fail to  
> compile out-of-the-box then we should try to fix that.

I guess that the platforms/unix/src sources should work in principle,
although I would not be surprised if there are problems when compiling
on a 64-bit system. The platforms/unix/src source probably contain
source for plugins that have not been updated for 64-bit.

Personally, I'm just in the habit of using VMMaker and I tend to
think of the platforms/unix/src files as something that is there
mainly for reference.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

Bert Freudenberg
 

On 12.02.2009, at 13:53, David T. Lewis wrote:

>
> On Thu, Feb 12, 2009 at 10:08:53AM +0100, Bert Freudenberg wrote:
>>
>> On 12.02.2009, at 06:12, David T. Lewis wrote:
>>
>>> I am attaching two files to show the complete build process on a
>>> 64-bit Linux system. I expect that it should work exactly the same
>>> on your 64-bit FreeBSD.
>>
>>
>> If the goal is just to make a usable VM on a 64-bit Linux system, is
>> the VMMaker step necessary? I thought not, but if the sources fail to
>> compile out-of-the-box then we should try to fix that.
>
> I guess that the platforms/unix/src sources should work in principle,
> although I would not be surprised if there are problems when compiling
> on a 64-bit system. The platforms/unix/src source probably contain
> source for plugins that have not been updated for 64-bit.
>
> Personally, I'm just in the habit of using VMMaker and I tend to
> think of the platforms/unix/src files as something that is there
> mainly for reference.


Well it's also there for convenience, so a standard "configure; make;  
make install" works.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

Frank Shearar
 
"Bert Freudenberg" <[hidden email]> wrote:

> On 12.02.2009, at 13:53, David T. Lewis wrote:
>
> >
> > On Thu, Feb 12, 2009 at 10:08:53AM +0100, Bert Freudenberg wrote:
> >>
> >> On 12.02.2009, at 06:12, David T. Lewis wrote:
> >>
> >>> I am attaching two files to show the complete build process on a
> >>> 64-bit Linux system. I expect that it should work exactly the same
> >>> on your 64-bit FreeBSD.
> >>
> >>
> >> If the goal is just to make a usable VM on a 64-bit Linux system, is
> >> the VMMaker step necessary? I thought not, but if the sources fail to
> >> compile out-of-the-box then we should try to fix that.
> >
> > I guess that the platforms/unix/src sources should work in principle,
> > although I would not be surprised if there are problems when compiling
> > on a 64-bit system. The platforms/unix/src source probably contain
> > source for plugins that have not been updated for 64-bit.
> >
> > Personally, I'm just in the habit of using VMMaker and I tend to
> > think of the platforms/unix/src files as something that is there
> > mainly for reference.
>
>
> Well it's also there for convenience, so a standard "configure; make;
> make install" works.

I'd hoped it would be this simple. I'd be happy to find out that no, it's
just me being silly, and not a bug in the codebase. I _didn't_ find it as
simple as configure; make; make install. It took me pasting snippets of gcc
output to a C fundi to come up with CPPFLAGS and LDFLAGS and such to get a
VM compiled.

I'm happy, if it's not simply a malconfigured system on my part, to
periodically run a smoke-test on my machine.

frank

Reply | Threaded
Open this post in threaded view
|

Re: Building a 64-bit VM for FreeBSD

Bert Freudenberg
 

On 13.02.2009, at 20:21, Frank Shearar wrote:

>
> "Bert Freudenberg" <[hidden email]> wrote:
>
>> On 12.02.2009, at 13:53, David T. Lewis wrote:
>>
>>>
>>> On Thu, Feb 12, 2009 at 10:08:53AM +0100, Bert Freudenberg wrote:
>>>>
>>>> On 12.02.2009, at 06:12, David T. Lewis wrote:
>>>>
>>>>> I am attaching two files to show the complete build process on a
>>>>> 64-bit Linux system. I expect that it should work exactly the same
>>>>> on your 64-bit FreeBSD.
>>>>
>>>>
>>>> If the goal is just to make a usable VM on a 64-bit Linux system,  
>>>> is
>>>> the VMMaker step necessary? I thought not, but if the sources  
>>>> fail to
>>>> compile out-of-the-box then we should try to fix that.
>>>
>>> I guess that the platforms/unix/src sources should work in  
>>> principle,
>>> although I would not be surprised if there are problems when  
>>> compiling
>>> on a 64-bit system. The platforms/unix/src source probably contain
>>> source for plugins that have not been updated for 64-bit.
>>>
>>> Personally, I'm just in the habit of using VMMaker and I tend to
>>> think of the platforms/unix/src files as something that is there
>>> mainly for reference.
>>
>>
>> Well it's also there for convenience, so a standard "configure; make;
>> make install" works.
>
> I'd hoped it would be this simple. I'd be happy to find out that no,  
> it's
> just me being silly, and not a bug in the codebase.

If it does not work it *is* a bug.

> I _didn't_ find it as
> simple as configure; make; make install. It took me pasting snippets  
> of gcc
> output to a C fundi to come up with CPPFLAGS and LDFLAGS and such to  
> get a
> VM compiled.
>
> I'm happy, if it's not simply a malconfigured system on my part, to
> periodically run a smoke-test on my machine.


The problem is that Dave has been pretty much working alone in making  
the 64 bit VM work, as all the other "VM guys" are not using a 64 bit  
host. Interest is ramping up, but not volunteers. Thanks for  
volunteering to test, now we just need volunteer coders :)

- Bert -