OpenArena Message Boards

OpenArena Contributions => Development => Topic started by: beast on August 05, 2007, 07:00:23 pm



Title: What is your preferred dev machine/environment?
Post by: beast on August 05, 2007, 07:00:23 pm
At the risk of never hearing the end of it, I like to find out what the most common dev environment is. I am assuming some form of Gnu/Linux, but would like to hear what most people find the best to use.

I have machines running Windows (multiple versions), Ubuntu, Fedora, and Suse, so I'm not really trying to start an argument over what OS is better, just looking for how to configure the machine that I will use for primary development on OA and ioQuake. At this point I am using a Windows machine with mingw32, but I am leaning towards a Gnu/Linux box, but will wait to see what replies come along...

[Update]
I forgot to mention the machine that I plan to use. It is an AMD Athlon64 3300+, 4GB Ram, Dual 250GB HD, and a Radeon x700. Middle of the road machine, but should suffice.

Also, for Linux, what flavor seems to be the most popular amongst the devs? What dev tools are being used on Linux boxes?

Thanks...


Title: Re: What is your preferred dev machine/environment?
Post by: fromhell on August 05, 2007, 07:05:58 pm
i'd use linux more often if my budget tv card and tablet worked.


Title: Re: What is your preferred dev machine/environment?
Post by: sago007 on August 05, 2007, 07:14:54 pm
I spend almost all my time in Linux. I only boot into Windows for games (and thanks to OA it is now very seldom).

If I need Visual Studio or some other non 3d Windows programs I use VmWare.

I also have Windows 98 and 2000 as Virtual Machines to test my programs on those systems. And now I also have a laptop running Vista so I can test on such a system too.


Title: Re: What is your preferred dev machine/environment?
Post by: iLeft.bye on August 05, 2007, 07:27:08 pm
xpsp2 mingw scite
replaced msys console with Console2
gcc is 4.2


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on August 05, 2007, 09:31:38 pm
I don't suggest using Ubuntu to develop on, it is just not stable enough and you'd basically be screwing people that run stable distros with binary incompatibility.

Slackware or Debian Stable are the defacto "Best" platforms for GNU/Linux development due to their conservative nature, testing of packages, enduring history, and binaries compiled on these two platforms will run on just about any Modern distribution without forcing people to recompile.

I use Debian's Etch AMD64 port which meets my needs*. 
Vim, vi, nano, or kate depending on what needs to be done. 
GCC 4.1.1 (sometimes 3.4.6 or even 3.3.6)
For build systems, Autoconf is a MFPITA, I would suggest cmake or scons, though for oa and ioq3 dev. purposes the build system is already there and completely unnecessary.
mingw32-g**-3.4.5 for cross platform compiling (4.x isn't where it should be)

You couldn't pay me enough to use Visual Studio, even if I had a Windows license.  Borland still has the best IDE and compiler for the MS Windows environment.

*This may change from my default boot environment if Sun releases Open Solaris under the GPL v3. 


Title: Re: What is your preferred dev machine/environment?
Post by: beast on August 05, 2007, 10:34:09 pm
That's good info about Ubuntu. I might have been tempted to use that if you hadn't said something.

If I go with Debian, is the netinst best or should I download the dvd images? Do you recommend direct from Debian or some other distro based on Debian?

Thanks...


Title: Re: What is your preferred dev machine/environment?
Post by: fromhell on August 05, 2007, 11:47:27 pm
netdist didn't work for my onboard lan :(


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on August 06, 2007, 12:30:59 am
If I go with Debian, is the netinst best or should I download the dvd images? Do you recommend direct from Debian or some other distro based on Debian?

I <3 netinstall :D  It gives you complete control over what you install on your system.  Granted you have the same control with the DVD + CD images, you just waste less bandwidth and the media is less expensive. 

Also of Note: if you decide to go the CD or DVD route you really only need to download the first DVD and/or the first CD, you then just edit /etc/apt/sources.list to point towards a Debian mirror near you and install what ever else you want or need.

Obviously, I only suggest Debian Stable for development.

netdist didn't work for my onboard lan :(

It worked fine here last time I used it, granted that was back in the day when AMD64 was an unofficial port and Sarge was still "Testing" if IIRC I used the Sid netinstall iso and just pointed my sources.list to testing.  The only issue I had was with the gameport of my audigy soundcard being recognized as a firewire ethernet port which is fairly easy to rmmod eth1394 and then insmod <whatever ethernet module> ifconfig eth0 inet up && dhclient eth0 (if you use dhcp) Just remember to blacklist the eth1394 module after install, of course.


Title: Re: What is your preferred dev machine/environment?
Post by: hyp3rfocus on August 06, 2007, 11:10:08 am
i haven't used windows for a long time, i'm currently using ubuntu.

dmn_clown-
you've got me thinking about using debian. it was the first linux distro i ever tried and at the time it was a bit beyond me so i went for redhat 8 instead. i've tried various distros over the years and i'm currently using ubuntu. i love the apt package managment, but the unstability is really starting to annoy me. i think it's long overdue that i give debian another shot. debian might have older packages than ubuntu, but since i build pretty much everything i use from subversion repositories that's an irrelevance anyway. what i really need is a stable system to build upon.


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on August 06, 2007, 02:40:43 pm
Etch + etch-backports will save a lot of trouble there.


Title: Re: What is your preferred dev machine/environment?
Post by: beast on August 09, 2007, 01:41:35 pm
I downloaded the Debian etch DVDs (AMD64 variety) and installed it on one of my machines. The machine is:

AMD64
4GB RAM
ATI Radeon X700

Overall, the install went rather painlessly. But, and you know there's always one of those, after the install... Well, it doesn't seem to want to find my video card at all. So, X doesn't start up. (BTW, sad to say that Ubuntu on the same machine, found the video card and worked flawlessly)

I'll Google around to see if I can find anything, so if you know any tricks to try, please let me know...


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on August 09, 2007, 02:18:07 pm
:# dpkg-reconfigure xserver-xorg

select vesa as the driver until you can get the fglrx from non-free also file a bug against the d-i using the install report form here (http://d-i.alioth.debian.org/manual/en.i386/ch05s03.html#submit-bug).


Title: Re: What is your preferred dev machine/environment?
Post by: beast on August 09, 2007, 04:45:19 pm
Thanks.  I'll give it a try when I get home from work. (~1:00am EDT)


Title: Re: What is your preferred dev machine/environment?
Post by: beast on August 14, 2007, 03:47:09 am
That didn't work. Still trying. In the mean time, I have a vmware image of Etch installed and running on a different machine. A full Gnome install was done. Since I know nothing about Debian, what do I have to do at this point to make it a development machine for ioquake/openarena?

I noticed there is a Synaptic Package manager, so I am assuming that I will get the required packages via that- I just don't know what packages are required. Thanks for you help...


Title: Re: What is your preferred dev machine/environment?
Post by: ALucas on August 14, 2007, 04:53:31 am
Ubuntu works just fine for development (if you want stability, take dapper, if you want the latest applications, take feisty). I think it's better for someone who's not that experienced with linux yet. Ofcourse debian is rock stable, and I use Etch on my server. I still prefer Ubuntu on my laptop though.

I use eclipse for development (with cdt plugin for c++ development ofcourse). The main reason for that is that I also develop in Java and PHP a lot (the first one is included with eclipse, the latter also has a plugin for it).


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on August 14, 2007, 05:47:36 am
Ubuntu works just fine for development

Not if you want binary compatibility with the majority of GNU/Linux installations.  Compile something on Gassy Baboon, then try to run it on Slackware 12, go ahead, I'll wait but not long because the binary won't run...

That didn't work. Still trying. In the mean time, I have a vmware image of Etch installed and running on a different machine. A full Gnome install was done. Since I know nothing about Debian, what do I have to do at this point to make it a development machine for ioquake/openarena?

Code:
apt-get update && apt-get install build-essential libopenal-dev libvorbis-dev libogg-dev libsdl1.2-dev libasound2-dev libdirectfb-dev

from the console as root this will pull in g++, gcc, libc6-dev, make, and the ioq3 dependencies to compile a fully functional oa engine (I may have missed a dependency, just remember to install the -dev package of whatever gcc whines about not having).  No need for a gui ;)


Title: Re: What is your preferred dev machine/environment?
Post by: ALucas on August 14, 2007, 06:35:57 am
Ubuntu works just fine for development

Not if you want binary compatibility with the majority of GNU/Linux installations.  Compile something on Gassy Baboon, then try to run it on Slackware 12, go ahead, I'll wait but not long because the binary won't run...
Haven't thought of that yet. I'm primarily a java developer, and don't have that problem there. The only c++ code I wrote was for personal use, so I didn't really care about other GNU/Linux installations.

Will keep in mind that if I ever want to compile something for other people's use, I'll do it on my debian machine :)


Title: Re: What is your preferred dev machine/environment?
Post by: beast on August 14, 2007, 01:17:00 pm
Code:
apt-get update && apt-get install build-essential libopenal-dev libvorbis-dev libogg-dev libsdl1.2-dev libasound2-dev libdirectfb-dev

from the console as root this will pull in g++, gcc, libc6-dev, make, and the ioq3 dependencies to compile a fully functional oa engine (I may have missed a dependency, just remember to install the -dev package of whatever gcc whines about not having).  No need for a gui ;)

That seems to have done it. After installing all of the packages, I was able to compile OA. Woohoo! Now... Where are those bugs? ... :-)


Title: Re: What is your preferred dev machine/environment?
Post by: beast on August 14, 2007, 02:36:41 pm
Ok. Next step... Does anyone cross compile the windows client on linux? If so, just wondering what other packages I need to install to get it to work... mingw32? directx-devel.tar.gz ? anything else? Or... just don't do it ?

Thanks...


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on August 15, 2007, 07:30:04 pm
You need the directx package from sdl but you also need ogg and vorbis headers / libs (and the libs have to be compiled with whatever gcc you choose).


Title: Re: What is your preferred dev machine/environment?
Post by: next_ghost on August 17, 2007, 04:57:13 pm
Gentoo Linux, GVim+BASH+GCC+Make and some cross tools for Windoze cross compiling.


Title: Re: What is your preferred dev machine/environment?
Post by: beast on August 19, 2007, 01:11:33 pm
...and some cross tools for Windoze cross compiling.

Ok.... So.... What might 'some cross tools for Windoze' be? :-)


Title: Re: What is your preferred dev machine/environment?
Post by: next_ghost on August 19, 2007, 02:52:21 pm
Ok.... So.... What might 'some cross tools for Windoze' be? :-)

This (http://forums.gentoo.org/viewtopic-t-66125.html)


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on August 19, 2007, 04:01:34 pm
*sigh*

http://www.mingw.org/MinGWiki/index.php/BuildMingwCross

Read and understand the script before running it.


Title: Re: What is your preferred dev machine/environment?
Post by: beast on August 22, 2007, 03:35:54 pm
As I mentioned a few posts back,
just wondering what other packages I need to install to get it to work... mingw32? directx-devel.tar.gz ? anything else? Or... just don't do it ?

Mingw32, and directx-devel.tar.gz are items that I installed. I was merely asking if there was anything else that I needed to have in order to get the cross compile to work. Since next_ghost didn't mention what tools were being used, I thought I would ask just to see if there was something different there.

Sorry if this came across as not understanding what was going on. I'll try what I've got installed and form a better question if/when it doesn't work. Thanks...


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on August 22, 2007, 03:48:35 pm
You need to have the libogg and libvorbis headers along with a libogg.a, libvorbis.a, and libvorbisfile.dll.a


Title: Re: What is your preferred dev machine/environment?
Post by: harvest on August 30, 2007, 12:08:25 pm
Quote from: dmn_clown
Not if you want binary compatibility with the majority of GNU/Linux installations.  Compile something on Gassy Baboon, then try to run it on Slackware 12, go ahead, I'll wait but not long because the binary won't run...

But strictly for development, doesn't it make more sense to just use whatever distro you feel comfortable with, and to achieve binary compatibility before you deploy, compile on a Debian box? Or am I missing something? This assumes that the project would need no changes to compile on each distro.
At worst I would think that you would have two project configs with minor differences, prolly wrt include libs and paths, one for your Ubuntu development, and one for your Debian compilation. Since Ubuntu is built on Debian, I would think the differences would be painless to nil.


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on August 30, 2007, 03:47:42 pm
Since Ubuntu is built on Debian, I would think the differences would be painless to nil.

The last time I checked, the majority of development packages available within *buntu were not officially supported due to their focus on the desktop and not as a development platform which generally leaves security/bug fix tracking up to the person that installs the packages.  That can be very painful/time consuming.



Title: Re: What is your preferred dev machine/environment?
Post by: moHiJ on September 02, 2007, 08:46:52 am
Well I use Gentoo/Linux for everything.


Title: Re: What is your preferred dev machine/environment?
Post by: w1zrd on September 04, 2007, 09:59:43 pm
Well I use Gentoo/Linux for everything.
Nobody does Win95 for heavy development anymore? :(


Title: Re: What is your preferred dev machine/environment?
Post by: beast on September 15, 2007, 09:48:28 am
You need to have the libogg and libvorbis headers along with a libogg.a, libvorbis.a, and libvorbisfile.dll.a

NOOB question... Where do i get those from?


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on September 15, 2007, 04:42:06 pm
http://xiph.org/downloads/

Configure* them for compiling with your version of mingw32, then compile them for whichever gcc version you use.  The *.a files will be built in a hidden directory (libogg.a gets built in src/.libs the libvorbis files get built in lib/.libs).

copy the headers to your mingw32/include directory:

mingw32/include/ogg/
mingw32/include/vorbis/

and copy the *.a files to mingw32/lib/

* - cross-config.sh ahould be something like this: 
Code:
#!/bin/sh

CONFIG_SHELL=/bin/sh
export CONFIG_SHELL
PREFIX=/usr/mingw32/
TARGET=mingw32
PATH="$PREFIX/bin:$PREFIX/$TARGET/bin:$PATH"
export PATH
if [ -f "$PREFIX/$TARGET/bin/$TARGET-sdl-config" ]; then
    SDL_CONFIG="$PREFIX/$TARGET/bin/$TARGET-sdl-config"
    export SDL_CONFIG
fi
cache=cross-config.cache
sh configure --cache-file="$cache" \
--target=$TARGET --host=$TARGET --build=i386-linux \
$*
status=$?
rm -f "$cache"
exit $status

edit PREFIX to match your environment


Title: Re: What is your preferred dev machine/environment?
Post by: daedulus on September 27, 2007, 10:53:17 am
Has anyone managed to forget the fact that the source is always available? so if something doesn't run due to a rather newer library version they could just compile it themselves. I mean "make install" people, for crying out loud :P


Me personally however develop on a Linux Mint laptop and use debian 4.0 build servers to compile stuff as for the IDE I use Eclipse with CDT.


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on September 27, 2007, 02:10:29 pm
You're right we should do source only releases, especially for Windows because there are just too many versions of Windows to support and it is impossible to cover them all.










some people will get that joke


Title: Re: What is your preferred dev machine/environment?
Post by: kit89 on September 27, 2007, 02:28:41 pm
Quote
especially for Windows because there are just too many versions of Windows to support and it is impossible to cover them all.

I like your thinking! ;)


Title: Re: What is your preferred dev machine/environment?
Post by: iLeft.bye on September 27, 2007, 05:14:32 pm
xpsp2 mingw scite
replaced msys console with Console2
gcc is 4.2
changed :D
ubuntu scite meld
gcc whatever feisty has


Title: Re: What is your preferred dev machine/environment?
Post by: daedulus on September 27, 2007, 08:14:05 pm
You're right we should do source only releases, especially for Windows because there are just too many versions of Windows to support and it is impossible to cover them all.
Well I was merely stating that the whole argument of not using something just because of binary incompatibilities that can be resolved just by building from source is pretty damn ludicrous. but meh, nice joke btw :P


Title: Re: What is your preferred dev machine/environment?
Post by: dmn_clown on September 27, 2007, 10:12:50 pm
Well I was merely stating that the whole argument of not using something just because of binary incompatibilities that can be resolved just by building from source is pretty damn ludicrous.

Actually, it's not ludicrous, previous ioq3 revs have shown it is not always possible to build something from source on certain platforms.