Linux Distribution Deb, ISO Ideas and Discussion.

Support for running, installing or compiling OpenMW
Locked
User avatar
lgromanowski
Site Admin
Posts: 1193
Joined: 05 Aug 2011, 22:21
Location: Wroclaw, Poland
Contact:

Linux Distribution Deb, ISO Ideas and Discussion.

Post by lgromanowski »

Hircine wrote: I haven't been on in a while. just finished this year of uni. (only have like 3 courses to go, which i should be completed mid next year...)

and i have thought about this for a bit and over my break. which is from now until about march next year i would do some opensource development work. get my skills up etc.

I am amaturish in my programming(i know c# but c++ shouldn't be too much of a stretch). its not going to be 'good' code. not optimized or anything. (i in particular don't know how to optimize something.. something i need to learn)
but then again thats what i will perceive this as. a learning experience.

but i would like to lend a hand. even if my skills aren't that great.

i have started up a new development environment. now using Puppy Linux.
previously i had a bloated ubuntu install. i thought if all goes well and i get it working and openMW compiled. i could package the whole thing as an image.
and find a place to distribute it. this would make it easier for people to test the particular milestones. (i could update it every time it reaches a milestone)


if this has already been done, let me know.
if not. let me know what you think. and any limitations there are on any of the libraries that are being used in terms of distribution etc.

i know i can't put the esms/bsas with it. so don't worry about that. ;)

anyway.

thanks for reading.

Peter.

EDIT: changed title. :)
Zini wrote: Currently we only have source distributions for Linux. But having OpenMW properly packaged certainly wouldn't hurt. I guess we could upload the files at Sourceforge together with the Linux source packages and the Windows binaries.
Hircine wrote: I decided against PL. as apt-getting on Ubuntu is far easier :)

I went with a minimal install. though it still takes up a damn huge chunk on my hdd. :|

a few issues with gnome and xserver but isn't too much of a problem.

atm it has cmake and codeblocks. terminal and software centre on it.

i will upload a distro image somewhere soon.
Star-Demon wrote:
Hircine wrote:I am amaturish in my programming(i know c# but c++ shouldn't be too much of a stretch). its not going to be 'good' code. not optimized or anything. (i in particular don't know how to optimize something.. something i need to learn)
but then again thats what i will perceive this as. a learning experience.

but i would like to lend a hand. even if my skills aren't that great.
Hey Hircine!

C++ is a little harder than C# - there are comparisons out there that cover the technical line-by-line differences if you wanna see, but since you're into C# I'm gonna assume you've played with XNA (which is awesome).

C# is very friendly - it handles all sorts of internal management that, if you don't mind spending the hardware resources, lets you get right to work.

Not so much with C++ - in C++ you have to split yourself in two, and since so many learn programming in school through java and other languages, a lot of the understanding of memory management and the real splits between implementation files and header files that go into what the project IS can be hard to get used to. C++ does not hold hands - it's made for complex projects.

On the bright side - it is THE thing, despite naysayers, for game programming, but it is quite advanced and takes a lot of experience.

You're kinda in the same boat as I am - I don't have a lot of experience and my knowledge is still developing. (not to mention the lack of time, which I regretfully say has paused my documentation bonanza.) BUT! Just keep working at it and eventually we'll get to a point where we can organize all of our programmers and everyone can contribute on their own time.

if you get time to jump in - just remember simple stuff:

- Design to test - not design to fail/
- Document *everything*.
- Make it meaningful

All those good habits are important. :)
Hircine wrote: thanks Star!.

yes i have played with XNA. its pretty sweet. something i will be using next year with my friend for our own game. but we gotta design the whole thing from top to bottom first.

i have used java. and have developed a hate for it. (performance etc)

and recently just finished a course at uni that used ruby (with rails).
which was *fun*.... ;)

anyway. where could i upload a 1.5gb image file? :o
preferably one that has really nice fast servers...
Zini wrote: The right place to store the file would be Sourceforge (all our other releases are stored there). But only Nico can upload there, so you will have to find out how to get the file to Nico.

Though for Ubuntu the preferred type of distribution would be a .deb file, right?

btw. why it is so big? 1.5gb sounds pretty bloated.
Zini wrote: Opps. Sorry. My previous post was obviously nonsense. If it is a complete working live-CD then it obviously has to be that big.

I still think a more reasonable thing for Ubuntu would be just a .deb. Having an Ubuntu/OpenMW live-CD is kinda overkill.
Star-Demon wrote:
Zini wrote:Opps. Sorry. My previous post was obviously nonsense. If it is a complete working live-CD then it obviously has to be that big.

I still think a more reasonable thing for Ubuntu would be just a .deb. Having an Ubuntu/OpenMW live-CD is kinda overkill.
I'd say take full advantage of online packages and repositories - but you obviously need the stuff up to be able to provide that service.
Hircine wrote: yes it is a live cd.

1.5gb iso.
http://www.megaupload.com/?d=9K6GCAXP

md5
http://www.megaupload.com/?d=GA18EMPS


as its a backup style image. made by remastersys.
login info is
developer with pw openmw
and if openmw password doesn't work with some root logins
try password root.
it contains everything needed except MW datafiles.

if a .deb would be better, could someone point me in the right direction of creating one?

cheers,
Peter.


EDIT: I definitely think a deb package would be better. but it will be 400+MBs i'd imagine.
another option is possibly a bash script that installs all required packages from
appropriate sources using apt-get(or other package managers) if running ubuntu.

EDIT2: Threw up some info on the wiki in the Developemen Environment Setup, with a selection of commands that gets dev packages for Ubuntu.
ill keep working on it as i remember them.
Peppe wrote:
Hircine wrote:I definitely think a deb package would be better. but it will be 400+MBs i'd imagine.
You started out writing about enabling easier testing, so I'm assuming we are talking about simple binary packages of openmw. Not simplifying the setup of a build environment.

Considering we can't distribute Morrowind's data files we only have the binary and some resources. In my current build that amounts to about 16MB, deb archives are compressed so an actual package will be smaller.

There is the slight problem that the version of libogremain in the repositories are a bit dated (for Debian at least), but a package for that shouldn't be more than a few MB either.
Hircine wrote:another option is possibly a bash script that installs all required packages from appropriate sources using apt-get(or other package managers) if running ubuntu.
Maybe I'm misunderstanding, but I don't really see how this is another option. What apt-get does is (simplified) downloading and installing deb packages. So for that to be an option there is still a need for a package.
Hircine wrote: easier development. the deb package i want to build when i get around to it, will have everything included needed to run OpenMW and develop it.

with your 16mb is that only the the required binaries of Ogre? (the full Ogre package normally is 60+ mb)

this isn't about redistributing openmw for people to play. this is a quick and sure-fire way of being able to develop Openmw without having to go through pain of getting it setup.

there are issues on any development platform in regards to getting OpenMW working.

there is another set of repos that contain 1.7.1 & also a full development package (OIS, mygui & full ogre)... you have to override the ubuntu ones to get them.
Hircine wrote: great. i just checked the download at megaupload.. *should have done it earlier*

but it seems as tho you have to have a premium membership to download it.

ignore it for now// and ill try and get a deb package together.
Peppe wrote:
Hircine wrote:with your 16mb is that only the the required binaries of Ogre? (the full Ogre package normally is 60+ mb)
The 16MB is openmw binary and resources, Ogre not included.
I tried to build a package of it and ended up at 7MB.

Current Ogre version in the Debian repository have a combined package size of about 3.5MB, comparing with the 1.7.1 I build I doubt it would be much larger. This is just headers and libraries, excluding samples etc.
Hircine wrote:this isn't about redistributing openmw for people to play. this is a quick and sure-fire way of being able to develop Openmw without having to go through pain of getting it setup.

there are issues on any development platform in regards to getting OpenMW working.
I'm not sure if packages will help that much for the development environment.
There is already packages for everything except the openmw source and Ogre in the standard repositories. And for Ubuntu you have Ogre available from a 3rd party repository.

This leaves the openmw source, which I believe should be pulled from the git repository rather than be distributed as a snapshot. As the point of setting up a development environment is that you will be making changes.

I suppose you could script this as you wrote earlier.
Personally I think just providing clear instructions should be enough.
Clearly list the dependencies and which packages provide them.
Hircine wrote:
Peppe wrote:I suppose you could script this as you wrote earlier.
Personally I think just providing clear instructions should be enough.
Clearly list the dependencies and which packages provide them.

yeah your absolutely right.
ill write up a list.
cheers,

Peter.
Pahanilmanlintu wrote: A deb package would be great for people like me who would like to test it but aren't too familiar with building stuff from source.
Peppe wrote: No doubt binary packages will be beneficial for users who just want to run the application.

I'm not sure the application is complete enough at this point though.
There certainly is a need for a few changes to configuration and resource handling before it can be packaged properly. I.e. binary in /usr/bin, platform independent resources in /usr/share, user configuration files in the user's home directory, etc. But this should be fairly easy to fix.

What I'm more worried about at this point is the users' expectations.
Would a normal user who gets a package of the current state understand what to expect from it and what not to expect? Will it encourage users' to stay around for newer versions or will the incompleteness scare them away.
Hircine wrote: at this point im not too worried about Endusers.
its about making life easier for the developers.
Im currently getting the latest Ubuntu downloaded so i can go and make a list of packages that are needed so all a dev has to do is copy paste a command to install everything. then they can go about handling the downloading of the git package etc.
Hircine wrote: Hi all,

i have finished *i think*
the required packages list for OpenMW.

check it out here:
http://openmw.org/wiki/index.php?title= ... etup#Linux

let me know if i have forgotten anything.
Pahanilmanlintu wrote: Hey. I haven't got any dev stuff installed on my ubuntu 10.10 64bit, and i haven't yet managed to install OpenMW, so i'm a suitable test subject for your instructions.

I followed them exactly (well, except for making a folder "build" instead of "Build"). Cmake is missing from the list of packages to install. Once i installed that and continue, cmake gets stuck with "CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name."

Compiler missing? Apt-get says gcc is the newest version.
Zini wrote: gcc is the package without the C++ compiler, right? For C++ you need g++.
Hircine wrote: yeah i had g++ as a dependency to get as part of the list, but i think Ap0 removed it.

if all thats missing is the compiler, then the list is complete.
Pahanilmanlintu wrote: Is your goal to make the instructions clear enough even for a complete newbie (like me)? If yes, the next thing newbies will probably get stuck with, is this (running "make", at 52%):

Code: Select all

In file included from /home/veepee/Downloads/openmw/openmw/components/bsa/bsa_archive.cpp:30:
/home/veepee/Downloads/openmw/openmw/./libs/mangle/stream/clients/ogre_datastream.hpp: In member function â??void Mangle::Stream::Mangle2OgreStream::init()â??:
/home/veepee/Downloads/openmw/openmw/./libs/mangle/stream/clients/ogre_datastream.hpp:29: error: â??mAccessâ?? was not declared in this scope
/home/veepee/Downloads/openmw/openmw/./libs/mangle/stream/clients/ogre_datastream.hpp:29: error: â??WRITEâ?? is not a member of â??Ogre::DataStreamâ??
/home/veepee/Downloads/openmw/openmw/components/bsa/bsa_archive.cpp: In member function â??virtual Ogre::Archive* BSAArchiveFactory::createInstance(const Ogre::String&)â??:
/home/veepee/Downloads/openmw/openmw/components/bsa/bsa_archive.cpp:142: error: cannot allocate an object of abstract type â??BSAArchiveâ??
/home/veepee/Downloads/openmw/openmw/components/bsa/bsa_archive.cpp:37: note:   because the following virtual functions are pure within â??BSAArchiveâ??:
/usr/include/OGRE/OgreArchive.h:131: note:    virtual Ogre::DataStreamPtr Ogre::Archive::open(const Ogre::String&) const
make[2]: *** [apps/openmw/CMakeFiles/openmw.dir/__/__/components/bsa/bsa_archive.cpp.o] Error 1
make[1]: *** [apps/openmw/CMakeFiles/openmw.dir/all] Error 2
make: *** [all] Error 2
Could it be that the current git snapshot(?) doesn't compile?
Zini wrote: Sorry, somehow missed your post. This is a problem on your side. OpenMW compiles just fine. Looks like the wrong OGRE version. You need at least 1.7.1.
Pahanilmanlintu wrote: Indeed. I guess i wasn't following the guide exactly after all, despite claiming otherwise... :oops:
Hircine wrote: at the moment its not a guide for 'noobies'
but people proficient with Linux. who know what to do. but don't know the exact packages (trust me if you don't know what to get you can waste hours).

if your proficient with C++ (we need all the devs we can get ) but not at linux, maybe i should write a more thorough guide.

there is a command in the 'guide' that checks if you have 1.7.1
run that and see if you have the proper version.

getting the key added as trusted is an important step. i might do a video tutorial if i find a suitable screen cap and voice recorder software package for Linux.

i just got my internet back. (it was capped at 300kbits(u/d) for 4 days)
so i might just be able to do it.
anyways let me know if a vid would help.
Locked