trojankai / monoxna

Automatically exported from code.google.com/p/monoxna
Other
0 stars 0 forks source link

Building in linux? #21

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I can not seem to get this to build in Linux. When I try running autogen.sh
PreBuild seems to give the error:

Prebuild v2.0.2
Copyright (c) Matthew Holmes, Dan Moorehead and David Hudson
See 'prebuild /usage' for help

Unhandled error:        Object reference not set to an instance of an object
  at Prebuild.Core.Targets.AutotoolsTarget.WriteProject
(Prebuild.Core.Nodes.SolutionNode solution, Prebuild.Core.Nodes.ProjectNode
project) [0x00000] 
  at Prebuild.Core.Targets.AutotoolsTarget.WriteCombine
(Prebuild.Core.Nodes.SolutionNode solution) [0x00000] 
  at Prebuild.Core.Targets.AutotoolsTarget.Write (Prebuild.Core.Kernel
kern) [0x00000] 
  at Prebuild.Core.Kernel.Process () [0x00000] 
  at Prebuild.Prebuild.Main (System.String[] args) [0x00000] 

I am running Gentoo Linux installed on an amd64. Here are my mono and mcs
versions if that helps.

mono --version :

Mono JIT compiler version 1.2.4 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       normal
        Architecture:  amd64
        Disabled:      none

mcs --version:

Mono C# compiler version 1.2.4.0

Is there a reason why a nant build file can't be made? I could try throwing
one together if I have time.

Original issue reported on code.google.com by amch...@gmail.com on 6 Jul 2007 at 6:58

GoogleCodeExporter commented 9 years ago
I'm having the same trouble on Debian Etch amd64 (although I was running 
autotools.sh
rather than autogen.sh). Given that we're both on amd64, I wonder if that's the
problem. I'm going to try on an old, hopefully 32-bit qemu image.

Original comment by golweng...@gmail.com on 20 Jan 2008 at 8:44

GoogleCodeExporter commented 9 years ago
Is this problem resolved? I can't make it work either :(

Original comment by jens.fur...@gmail.com on 13 Feb 2008 at 2:27

GoogleCodeExporter commented 9 years ago
It seems none of the code has been changed for some time. So probably not? This
project seems somewhat dead. Perhaps it should be forked or someone else should 
take
it over?

Original comment by amch...@gmail.com on 26 Feb 2008 at 8:24

GoogleCodeExporter commented 9 years ago
I ran into this same problem but found that actually the MonoDevelop.sh script 
works
under Linux (Ubuntu 8.04). Of course you'll have to use MonoDevelop then.

Original comment by sergueim on 13 Oct 2008 at 5:35

GoogleCodeExporter commented 9 years ago
I will look into it

Original comment by lav...@gmail.com on 3 Apr 2009 at 6:44

GoogleCodeExporter commented 9 years ago
Similar output as the original submitter except my mono version is 2.4 and I am 
on OS X 10.5. Seems like 
autotools generation from prebuild is a tad borked. 

Original comment by Nitro...@gmail.com on 2 May 2009 at 7:06

GoogleCodeExporter commented 9 years ago
We have managed to go beyond the error described here by upgrading Prebuild to 
the
latest release, but now the make process fails instead. 

I'm not that experienced in either Prebuild or autotools, so this problem 
probably
needs some attention from someone with better knowledge. MonoDevelop support 
must be
used as an alternative in the meantime

Original comment by lav...@gmail.com on 7 May 2009 at 10:15

GoogleCodeExporter commented 9 years ago
By updating the Prebuild I was able to get a proper autotools toolchain as 
well. I am not too versed in mono / xna / prebuild so I didn't try to 
fix things at the prebuild level and instead modified the makefiles directly. 

The attached simple patch allowed me to build the base framework and game. I 
can't get the content pipeline to build nor xnatests. Content 
pipeline complains about a missing snk file. Might be a prebuild issue.

Original comment by Nitro...@gmail.com on 11 May 2009 at 7:10

Attachments:

GoogleCodeExporter commented 9 years ago
Nice! Thanks :)

Actually the problems you have with the projects mentioned is probably valid. 
There
haven't been created snk files for these projects yet. I'll add it as an issue 
and
get it fixed.

We have been thinking about removing prebuild and make configurations for VS/MD 
and
autotools directly. Any input on the subject would be apreciated.

-lavima

Original comment by lav...@gmail.com on 11 May 2009 at 7:54

GoogleCodeExporter commented 9 years ago
Honestly I think autotools are overkill and a royal pain.

For my cross platform projects I have a separate directory for each build 
environment (win, unix, monodevelop, et al) and manually create all of the 
project files whether they be xcode projects, makefiles, visual studio etc..

I know for a more out in the open project though the configure && make && make 
install routine works and is habit but it would be difficult to put the 
libraries in the proper locations due to how non-standard mono libraries seem 
to exist on systems at the moment.

I guess what I am saying is I'd create makefiles by hand rather then deal with 
all the fuss of autotools. I don't think a project like Mono.Xna would 
benefit from the autotools workflow as you just want to build a handful of 
libraries using gmcs, stick them in an output directory and let the developer 
handle what they do with the resulting libraries.

But thats just my initial impression, I _just_ started mono / c# / xna 
development for the first time about 3 weeks ago. It all feels somewhat foreign 
to 
me.

Original comment by Nitro...@gmail.com on 11 May 2009 at 8:34

GoogleCodeExporter commented 9 years ago
Just to throw my own 2c in there.

Autotools (or cmake) is pretty much required if you ever want to package 
Mono.XNA for
linux. There's no way around it unless you duplicate all of the functionality
provided by autotools ;)

Prebuild can be dumped. It was required back when MonoDevelop didn't really 
support
VS stlye projects. What you should do is create a .sln set of project files 
using
MonoDevelop which can then be opened/built using VS or MD.

Finally, to support linux properly you can open the solution in MD and export 
anj
initial set of autotools based makefiles. These should then be kept updated by 
hand
when files are added/removed. MonoDevelop can auto synchronise these, but if you
start manually editing the makefiles it will overwrite those changes. Just bear 
that
in mind. You may start needing manual changes once you start packaging for linux
properly.

Original comment by alan.mcg...@gmail.com on 11 May 2009 at 10:46

GoogleCodeExporter commented 9 years ago
Thanks for the input. 

I've created a new issue for cleaning up the development environment. The 
autotools
support will be fixed as well.

Original comment by lav...@gmail.com on 12 May 2009 at 5:34