|
LinuxVerge question(s)... Displaying 1-20 of 23 total.
12
next
Robomagus
|
Well, I seem to recall there once being instructions on compiling Verge for Linux, but now I can't locate them... at all. That being the case, I have a few questions/requests...
1. Could someone point out the location of the Verge compilation instructions for Linux, if they exist as I seem to recall?
2. Does the Tiled-to-maped converter I think I saw before work for the version of Tiled available on Linux? (probably a stupid question)
3. How would one go about making sprites on Linux? Does the openchareditor or whatever it's called run on Wine? I suppose the text-based default one wouldn't...
Many thanks to anyone who can help!
Posted on 2011-01-15 13:09:12
|
resident
|
To be honest, those instructions are probably quite a bit out of date now. But basically they involved installing GCC, figuring out what dependancies you'd actually need, installing those as well, then downloading the source and setting GCC to work on it.
It's all on GitHub these days, whereas when I last did it, I think it was using a different Version Control System.
On the plus side, it looks there's more to compile than just the base engine, this time.
To be honest, if you're running on anything more powerful than a netbook, the best solution probably involves using Wine.
Posted on 2011-01-16 14:52:27
|
resident
|
So the full process - under Ubuntu/debian type distros - is something like
use "apt-get" to install:
build essentials
zlib
sdl development package
subversion
use SVN to retrieve source code from:
http://www.verge-rpg.com/svn/verge3/
Username: anonymous
Password: anonymous
navigate to verge/trunk/linux in downloaded source
type 'make'. Wait for compile to complete and present you with verge3 and libfmod.so
copy libfmod.so to /usr/lib/
download and extract a VERGE game
copy verge3 into the extracted folder, and run it from there.
I believe someone said there were issues with the way that Linux handles upper/lower case though compared to Windows, and I did run into this with Demon Lord Adventure, where the files were named in upper case on the disk, and in lower case in the code, so that's another compatibility issue to watch for. Once the files were renamed though, music did play (poorly, but I blame that on the netbook and my crappy headphones ;) ). That sound output works at all is miraculous.
And the original topic.
http://verge-rpg.com/help/mono-related-question/
Posted on 2011-01-16 15:00:27 (last edited on 2011-01-16 15:02:31)
|
Overkill
|
Yeah, resident pretty much covered it. Although we moved to git instead of svn. The Linux build will likely need some errors fixed, since we don't have any designated Linux dev right now. Also there are two branches, at least in my github repository, one for in-progress dev (removes VC and plans to remove other dependencies and tidy the code somewhat), and another branch which is more or less the last thing with VC. (It's intended that VC will be removed in later versions, so this branch is more or less for fixing minor bugs, not for introducing new features)
Anyway, hopefully Linux dev goes okay, I haven't tried building Verge on Linux in a long while, but it was relatively painless last time.
EDIT: Fixed the URLs. I forgot to put tree/ in between ...github.org/Bananattack/ and the branch name in those addresses. Whoops!
Posted on 2011-01-16 17:32:59 (last edited on 2011-01-17 12:17:02)
|
Robomagus
|
Hey, thanks! I'll give this a try, I suppose. If I can do this and get it working, I'll see if I can make a nice .deb package (but mind you that I've never made a package before, so no promises).
Thanks a ton!
EDIT: As for using Wine, I'm pretty sure that'll only work if I can get mono working, which I'm not entirely familiar with. A native binary would be far nicer from my experience, so I'll try compiling first. (additional edit: Those github links apparently lead to a cleverly-themed error message... gonna try and figure this wine situation out with mono or whatever)
Posted on 2011-01-16 22:21:05 (last edited on 2011-01-16 22:28:42)
|
resident
|
Posted on 2011-01-17 06:17:06
|
mcgrue
|
(They're also on the "About Verge" page)_
Posted on 2011-01-17 11:44:00
|
Overkill
|
Yep, there's the About Verge contains all the useful repo information in one spot. Having said that though, the link could stand to be more visible, possibly a navigation item inside the header box, rather than a small link at the top of the page.
Posted on 2011-01-17 12:35:22
|
Kryptonite803
|
Linux noob here trying to compile Verge on Fedora 14.
I got git installed and downloaded the source with no issue, but trying to compile has been a struggle.
Several #include statements pointed to the wrong file location, so I've been fixing those as I go, but I've been stumped by this last error message:
../SDL_stdinc.h:166:1: error: size of array ‘SDL_dummy_uint64’ is negative
../SDL_stdinc.h:167:1: error: size of array ‘SDL_dummy_sint64’ is negative
Of course, looking into SDL_stdinc.h at lines 166 and 167, there is a clever comment "Figure out why these are negative"
Anyone got a hack to get around this or has the issue been resolved before?
Posted on 2011-02-20 14:17:04
|
Overkill
|
Never heard of this error before. Maybe make sure you're compiling Verge as a 32-bit executable?
Posted on 2011-02-20 19:23:13
|
Kryptonite803
|
Well, here's what I understand:
Those variables are essentially for 64 bit versions. Somehow the compiler failed the check to see that this is a 32-bit system and insisted on making those or some foolishness.
In any case, in a courageous act of possibly breaking everything, I commented out those two lines and tried to run the makefile again.
Things went smoothly until it gave me a new error:
No rule to make ../a_dict.o needed by verge3
As I understand it, a_dict.cpp implementation for dictionaries (very exciting). I easily found them in the documentation, so its not a new thing, but somehow the source code is completely missing a_dict.cpp and a_dict.h
Any idea where they wandered off to? And perhaps how I can get them back? I tried reloading the repository to no avail.
Thanks again.
Posted on 2011-02-20 21:25:56
|
Overkill
|
Oh, right. I intentionally removed some of that functionality in my master branch, in the effort of removing VC, starting to phase out some VC-only libraries, like the dictionary class, which is entirely useless if you're using Lua, which has tables that do everything a dictionary or array could in VC, but better.
I didn't update the Makefile, because I was only testing these changes on Windows. There are probably some other dependencies like a_dict too that won't exist anymore. It should be trivial to remove them in the Makefile though.
If you're loading from my repository, and you want VC, you might want to be using the verge-3.2 branch, not the master. Unless you're fine with Lua only, and the chance of systems being removed/rewritten. The master branch is for developing new stuff that might eventually be for use in the "next" Verge release.
Posted on 2011-02-21 08:01:20 (last edited on 2011-02-21 08:02:25)
|
Kryptonite803
|
Well, I took the time to remove all the unnecessary dependencies (including all the mac ones that made the compiler upset). Then I got hit by another brick wall:
The error is: "Cannot find -lluabind"
So I downloaded LuaBind, only to find I need Boost to install LuaBind. So I installed Boost and found the instructions to use it to build LuaBind to install it are so ambiguous that it was exceedingly difficult to use.
But after a few hours of headaches, I finally got *something* working. Another attempt at compiling left pages of errors, most of them coming back to lua_main.cpp and undefined references to a number of variables or arrays.
I would be tempted to try again with the verge-3.2 branch, but since verge is going Lua only and I was looking to jump on the wagon, on top of the fact that Lua seems broken on my disk, it seems little point.
In short, I'll flip to windows when I want to work on Verge for the time being.
If i get the ambition to try this again, I'll post any more problems I run into.
Posted on 2011-02-24 02:52:23
|
Overkill
|
Fair enough. I just haven't had the time or incentives to update the makefile and build on Linux whenever I changed something, because there seemed to be very little demand for the Linux version.
Anyways. LuaBind is no longer a required dependency as of Verge 3.14. You can remove that as well, since Verge should not use it anywhere anymore. Basically, you just need to delete that -lluabind flag.
I guess it's been a few years since I've looked at the Linux build. I'm sorry about that, but the unfortunate truth is that the Makefile has not been actively maintained since I last built it about 2 or 3 years ago. And there have been a few releases since the last time that Linux build was touched. To fix the Linux build, you will probably need to go through changelogs for releases to find out what has changed.
I want to remedy these portability issue someday, but I have a 40 hour work week and a few other projects on the go.
If you feel like continuing with it, just ask me about what you need to know, however. I'd gladly accept changes that make the engine more portable.
Posted on 2011-02-24 13:31:19
|
Kryptonite803
|
Alright, I'm a sucker and am back at it again. I might be addicted. If I can ever get a running engine, albeit a little hacked together, I'd be happy to try and keep it somewhat maintained. It may well prove useful for learning quite a bit.
Anyway, I stripped the entire OBJS paragraph out cuz they all seemed to look for VC functions which seem nonexistent due to the coming shift to pure Lua. Also I remember something about not needing fmod now? I took the line out of LDFLAGS.
The good news is: It compiled without any apparent errors!
The not so good news: I have a verge3 executable, but no .cfg file or any of that. Did I strip out something vital?
And when I run verge, it tries to run some libpng tests, all of which fail. It merely says could not find input file, so I am gonna do some digging to see where there might be an issue, but beyond that, anything else I should be looking for?
Thanks for all the help!
Posted on 2011-02-24 23:49:23
|
mcgrue
|
Are you trying to run the binary by itself in an empty directory?
Posted on 2011-02-24 23:56:15
|
Kryptonite803
|
After compiling, it sat in the linux folder, so I tried running it from there. After reading your question, I did try running an empty directory to the same effect. I'm beginning to think I was wrong about the entire OBJS paragraph.
Posted on 2011-02-25 00:21:00
|
mcgrue
|
get this file:
http://verge-rpg.com/downloads/verge-3-1-2007-08-25-current-official-build
And unzip the contents into the same dir as your compiled binary.
Then run your binary.
Then tell me what happens!
Posted on 2011-02-25 01:31:41
|
Overkill
|
Also, sorry for more confusion. You do need FMOD still, because our hooks into the audiere sound engine haven't been developed enough yet to replace it. But you should be able to work with linking libfmod.so or something in the meantime.
Posted on 2011-02-25 08:20:46
|
Kryptonite803
|
Then tell me what happens!
Nope, no success. Probably because so much of the actual code is missing, lol. As an added bonus, I tried compiling the official build, again to no avail. It exits with
make: *** [../verge/Source/vc_core.o] Error 1
There are loads of warnings about deprecated conversions from strings and such, but the above error is the only one. It also happens after line 2252 of vc_core. Ironic that there are only 2254 lines.
You do need FMOD still...
Thanks for the correction. Perhaps I read proposed plans? Anyway, I will keep that that in mind, but I seem to be stuck a peculiar problem. All the hundreds of "undefined reference to __" problems seem to point to numerous timing functions.
Now, in xerxes.h already includes mac_system.h and g_script.cpp includes xerxes.h. So why is the compiler not realizing that these functions are defined and where to find them?
There may be a series of errors before all the timing function errors, but I am currently looking for a way to print the full compile log to see what the very first error is.
Thanks for the help and putting up with the noob :P
Edit: Found out how to write output to a file. Yay learning! Anyway, the first error seems to be
../verge/Source/a_common.o: In function `arandseed(unsigned int)':
a_common.cpp:(.text+0x5de): undefined reference to `timeGetTime()'
Once again, timeGetTime() appears to be fully defined in mac_system.cpp, which is included in xerxes.h, which is included a_commin.cpp.
Posted on 2011-02-25 17:40:46 (last edited on 2011-02-25 18:09:14)
|
Displaying 1-20 of 23 total.
12
next
|
|