Jump to content


Photo

PRG- Linux Development


  • Please log in to reply
2 replies to this topic

#1 chrisp_21

chrisp_21

    Sergeant

  • Forum Members
  • PipPipPip
  • 85 posts

Posted 18 April 2004 - 10:11 PM

Hi everyone,

I have been able to successfully compile the OGRE engine and large portions of the Xeno project in Linux. Although the entire project is still not 100% Linux compatible, it is at a point where Linux developers should be able to effectively contribute. I think it is now time to try recruiting any Linux developers, or would be Linux Developers, that are interested in development.

If you are interested in Linux development, let me know. You will need to subscirbe to the programming email list on source forge to be able to effectively participate. You will also need to set up your development environment to match our standard.

The newest version of GCC (3.4.0) just came out today. This should be our standard compiler for the duration of the project. Your first step should be to download, compile, and install GCC 3.4.0 on your machine. I know this is no small task (I'm not looking forward to it myself), but it is important that we work in a standard environment to speed up development.

You can get GCC 3.4.0 at: http://gcc.gnu.org/gcc-3.4/index.html

Once you install GCC, you will need to set up your bin-utils package. For this you will need bin-utils 2.14. If you already have bin-utils 2.14, you're fine. If not, you'll need to compile and install this as well.

You can get it at: http://sources.redhat.com/binutils/

I recommend compiling these on your own for two reasons:

1. You will recieve a HUGE performance boost. It won't matter so much in the early days of the project, but later on it could make the difference between compile times measured in minutes and compile times measured in hours.

2. You will be much more familiar with your development environment. Since you installed and configured it yourself, you'll save yourself from not understanding these things down the rode.

If you get this far, congratulations. You're on your way.

From here you will need to set up the OGRE libraries. Unfortunately, OGRE is still in a somewhat early stage of development, so this can be challenging in Linux. Don't be surprised if you need help with this, even if you're experienced. It took me two evenings to get this set up on my own. I can help with this, and there is help available on the OGRE forums. I'll try and upload my build and some of the required libraries to the ftp site sometime this week.

You can get the OGRE source at: http://www.ogre3d.org/

Post here if you're interested in coding with Linux.

Regards,
chrisp

#2 PCWizard

PCWizard

    Squaddie

  • Forum Members
  • PipPip
  • 6 posts

Posted 26 July 2004 - 04:36 AM

Hi everyone,

I have been able to successfully compile the OGRE engine and large portions of the Xeno project in Linux.  Although the entire project is still not 100% Linux compatible, it is at a point where Linux developers should be able to effectively contribute.  I think it is now time to try recruiting any Linux developers, or would be Linux Developers, that are interested in development.

The newest version of GCC (3.4.0) just came out today.  This should be our standard compiler for the duration of the project.  Your first step should be to download, compile, and install GCC 3.4.0 on your machine.  I know this is no small task (I'm not looking forward to it myself), but it is important that we work in a standard environment to speed up development.

<{POST_SNAPBACK}>


OK, I'm interested to join this task. What status of Linux porting at this moment?
At this week I'll get the sources from CVS and play around with them - I'm new to this project, so I need to know it good.

Is there are some Task Force for Linux porting already?

BTW, is it good to use the lastest version of gcc for porting? Does it really have features we need? ORGE works with 3.2 version.

#3 chrisp_21

chrisp_21

    Sergeant

  • Forum Members
  • PipPipPip
  • 85 posts

Posted 03 September 2004 - 12:31 PM

Well it's been a long circular road for me to get back to this point (Yes I'm still here!), but it looks like I figured out the issue with Xerces-C++ that was causing so many problems on Linux.

It seems that the issue is more of GCC issue than a Xerces issue. Turns out, GCC isn't very standards compliant. One would think that it would be.. It seems to be moving in the right direction, but still has trouble compiling certain code (like Xerces!). Not only does it not like to compile the Xerces source, it doesn't like linking to the Xerces binaries either. The solution (at least for me) was to use the Intel C++ compiler (ICC). Some versions of GCC are known to work, but I have had no luck with any.

I'll have to explain a bit of the background to explain the issue..

I recently replaced my Slackware installation with Gentoo and set about trying to optimize my ageing P3 1Ghz as much as possible. ICC is known to produce the fastest code for X86, so I experimented with using this compiler on Gentoo. Since a vast majority of Linux is based exclusively on GCC (and GCC has several quirks), it wasn't surprising that many things didn't compile with ICC (they rely on GCC's quirks). Well I noticed that OGRE and Xerces are both in the Gentoo portage tree, and I remembered Xenocide. I thought that perhaps Gentoo would know how to set everything up so I can actually use them for coding (both are challenging to install on your own). Both compiled fine with GCC, but once again I had the SAME linking errors I always encountered with Xerces.

Finally, I tried re-compiling (emerging) Xerces using ICC and then used ICC to compile my test programs. IT WORKED! Apparantly Xerces is a little TOO ANSI compliant for GCC. It seems that if we want to develop on Linux, we may have to use ICC as our standard compiler. I'm pretty sure we'll be covered with Intel's 'free' license. I'll check with Intel to make sure (believe it or not I used to work in the group that maintains ICC before the metaphorical sh** hit the fan in 2001 - although I didn't work on ICC myself).

So.. for those that want to develop in Linux. I recommend using Gentoo and ICC. If there is still interest out there, I can post more detailed instructions on how to get things set up. I have yet to test OGRE, but doubt I'll have problems with it. More problems with Xerces may also show up, but I also doubt that.

At any rate.. I can finally start taking this seriously. The CVS repository is in a bit of a confusing state. So, I'm unsure where to begin building/developing. Can I get all of the newest source in a single chunk so I can start tweaking it to build on Linux?

Regards,
chrisp