PDA

View Full Version : What version of linux


Mortamer
11-17-2003, 04:54 PM
I have redhat on one of my computers now to test and I thought it was pretty good, but I dont want to use something thats not going to be updated so I figured I'd switch. I don't know that much about linux but I plan on learning C++ in a little while so it might be good to know. What I'm asking is what version would be suitable for someone coming from red hat without that much linux experience? Is their any distro thats pretty close to redhat? I tried Mandrake but people say that its not good for C++ among other things so I uninstalled it.

mattmeck
11-17-2003, 05:00 PM
Google for "linux for newbies" and you will get pages of diferent versions of Linus. I just did it for a good laugh, some of these have a desktop that looks just like windows........

I would love to switch to Linus too, however i have no programming skills so it kinda scares me :oops:

a_Guest03
11-18-2003, 03:28 AM
matt, I can't program. I can only read syntax and copy variables in.

I was studying programming in high school and college and gave up on it. The linux desktop can look just like windows, and depending on how much you know about linux and wine, it might actually run your windows programs (slower of course).

If you want to install linux, I suggest you have a friend who knows what he's/she's doing install it for you the first time. There are a lot of options to screw up, and when you're installing, it's a bit hard to look up the answers on the internet.

If you want a distribution that's updated, I suggest not using slackware. They get updated rarely.

loderunner
11-18-2003, 12:04 PM
I currently run Red Hat version 9, but I'm dumping their sorry arses in favor of something else. Debian or Mandrake I'm thinking. Anyone have a favorite? why?

Mortamer
11-18-2003, 02:09 PM
I think Mandrake is nice, but its apparently not considered good for developing. I have rh9 but I don't know how this Fedora is going to turn out so I want to switch.

Eglin
11-18-2003, 05:13 PM
I think it is probably a good idea to try out lots of distributions, even if your rationale for doing so isn't sound. At one time, installing Linux was a learning experience, but nowadays it generally takes less effort than a Windows install. Even so, the process of customizing it to suit your tastes and installing auxillary packages is still very valuable administrative practice... eventually you will become proficient enough to just install the packages that you want, instead of changing an entire distribution for want of a single program. just my 2cp

Eshry
11-18-2003, 07:26 PM
I installed linux redhat on one of my computers, it came with a desktop program that was about as close to windows as you can legally be... heh

Chrysm
11-18-2003, 08:36 PM
IMHO I think you should take a look at Gentoo (http://www.gentoo.org/).

The good thing about gentoo is:
1. You can compile everything from source.
2. It gives you a "start from scratch" box without all the un-necessary mumbo-jumbo like gnome kde etc
3. The emerge system is like apt-get.
4. Excellent install documentation!

They have 3 stages for install.
1. Start from scratch! What you do here is update your use flags your compiler flags like, "-march=pentium4 -02 -pipe -funroll-loops" etc etc. You then bootstrap the system and then begin compiling the basic tools like gcc, ls, bzip2, etc.

2. Start with the bootstrapping already done. All you have to do is update your use flags and maybe look at your compile flags. Then your start compiling your system.

3. Everything is already pre-compiled that best suits your system depending on your processor. It's basically a giant zip file.

NOTE-The compile process from stage 1 actually takes a day and a half and from stage2 about 1 day depending on the speed of your system.

The reason why this is so good, because you have programs compiled for your system. If you have a pentium4 you can take full advantage of the processor features such as mmx sse sse2 etc. This makes a very highly tuned system!

Now about the emerge command. Gentoo keeps a list of all software for linux, thier versions, and dependencies. Much like apt-get.
To get the latest versions of the programs you would type emerge sync. WHat this does is syncs the list on your computer with the list on thier rsync mirrors.
Then you can type emerge -u system or world to update your entire system to the newest versions of installed software(or downgrade if security bugs were found). Best of all, it does all the dependency checking for you and initiates all the use flags for the programs at compile time. No more rpms or tgz's.

I can't sell it enough! I think it's the greatest thing since sliced bread!

Anyways, head on over read a bit and download the cd for your processor =)

Chrysm
11-18-2003, 08:39 PM
PS-Also, if you want to run a server with heavy loads, you can install fluxbox or blackbox instead of gnome or kde. kde and gnome look pretty but, do a ps -aux and look at all the memory it takes to run them!

Good for learning programming! say you have hello.cpp,
type g++ hello.cpp -o hello

It's what I learned on. Grant it, I'm not a very good programmer heh. I only learned up to STLs.

loderunner
11-19-2003, 12:44 AM
Chrysm,

wow, that was a very compelling, and extrememly convincing presentation for Gentoo. I will certainly look into it and see if it is right for me.

My Linux machine is basically just a server but occasionally I do like to run X on it. So, having all that extraneous garbage in memory like you mentioned..doesnt sit well with me. : )

Thank you very much for your response.

Trumpcard
11-19-2003, 12:57 AM
I've switched over the xfce4 recently from fluxbox.. alot less bloat than kde, and xfce4 is a little more feature rich.. Gentoo is just fun.. Good way to learn the workings of a linux box from the ground floor up, redhat abstracts alot away from you..

Chrysm
11-19-2003, 01:16 AM
I haven't tried it yet, will give it a look =)
Heh, before gentoo came along, the flavor to learn from the ground up was slackware. I just saw on Freshmeat about 2 days ago that an emerge typr tool was released for Slack 8.1. I guess it's going to catch on for those flavors that don't charge to have you automatically update your system to fix security issues. I also know they have an apt-get for Slack and all this time I thought that was for Debian heh!

a_Guest03
11-19-2003, 02:35 AM
It was for debian too.

I noticed that emerge for Slack 8.1 as well! If only I had internet at home! I could install stuff!

Rogean
11-19-2003, 02:39 AM
Join any linux IRC Channel with a lot of gurus on it, say "Ahh screw this, linux sucks, im goin back to windows" and immedietely youll have 50 people tryin to help you. =)

mattmeck
11-19-2003, 02:46 AM
Join any linux IRC Channel with a lot of gurus on it, say "Ahh screw this, linux sucks, im goin back to windows" and immedietely youll have 50 people tryin to help you. =)


ROFL!! :lol:

a_Guest03
11-19-2003, 02:54 AM
You think it's funny! I know it for a fact to be true.

Trumpcard
11-19-2003, 03:20 AM
I saw a really good write up on how to get linux help where the guy pointed that exact fact out...lol...

He had a problem no one would help him with, so he went onto an IRC linux channel and said 'Linux sucks because it cant handle XXX like windows can' and he immediately had people coming out of the woodwork to help him out....

the fact is that most geeks are skilled elitiest, but at the same time shallow and gullible..lol...

Mortamer
11-19-2003, 05:16 PM
Wow, Gentoo sounds excellent... I havent had much Linux experience so do you think Gentoo will be to overwhealming to start with? Do you think I should start with an easier distro like Mandrake or jump right into Gentoo?

Chrysm
11-19-2003, 06:54 PM
Jump right in with gentoo. They give you the install guide and in it they explain some basic linux stuff. Also, your best way to learn is to stay away from windowmanagers for a while and stick with the console. No matter how bad you want to use Mozilla-Firebird, DON'T!!

This will force you to find the answers yourself and help you to figure out troubleshotting processes.

For example... you don't know what program blah does and when you run it you don't get any output, it just exits... what do you do.

Firstly, try blah --help or blah -h to see if it gives you a list of commands on how to run it and it may also tell you what the program does.

Secondly, you gan do man blah to see if it has a manual.

Thirdly, you can head on over to the ever faithful /usr/doc or /usr/share/doc where every program installed has documentation and start reading.

NOTE: I have noticed in gentoo that some of the docs are .gz'd (gzipped). To view these type man /usr/share/doc/blah-x.x/README.gz

Another helper that everyone new to linux should know is the locate command. You use it by locate blah and it spits out a list of files and directories that have blah in thier names.

A REALLY IMPORTANT one is the less command. When you try to locate something, it will scroll by really fast. You can pause it by piping it to less like so... locate blah | less
You can scroll up and down and when you're done hit q for quit. same thing with man. Scroll up and down and hit q when you're done.

You can even send the output to a file like this locate blah > nameoffile

All executables should be placed in a folder with bin in it's name example /bin /usr/bin These are folders for binARY EXECUTABLES.
You also have sbin which is the folder for commands to be used by administrators which are more powerful for the average user to use at first.

To display the contents of the currend directory you type ls for list
'ls -l' long list 'ls -a' list all or use them together 'ls -al'

Your current working directory should be on the prompt somewhere liek [root @ host root] # nameofuser @ hostname directory #

Well I think I have rambled on enough but, I think everyone who wants to try linux should know those commands. And if you don't know what to do, you can always find it in some sort of dobumentation because, you're not the first one to ride that rodeo ;P

a_Guest03
11-20-2003, 02:37 AM
My suggestion, Mortamer, is to install it. You never know relatively how hard it is until you try. There will be some questions to which you don't know the answer. Then just ask someone for help if you absolutely cannot continue.

flyrken
11-20-2003, 05:46 PM
SuSE is my favorite, reminds me of bsd.
Why? DVD-ROM install =hell with CD's.
GUI installation tools if you want both for X desktop and console.
Supports latest XFree, so its normally Notebook friendly (XFree dev works for SuSE also.)

German based group also closer to the amazing European Linux Devs, so they tend to be better at stability, however less with English strings. (Some of the messages, make me laugh sometimes with localization.)

Never had a bad issue with support, free lifetime updates, no subscription crap. SuSE is not free, I pay for Professional each time it comes out, and expect better than email support if needed.

Fyi

Eglin
11-20-2003, 09:23 PM
Never had a bad issue with support, free lifetime updates, no subscription crap. SuSE is not free, I pay for Professional each time it comes out, and expect better than email support if needed.

I usually try to refrain from posting just to tell someone that they're wrong, but you're wrong :) If they promised to provide lifetime updates for their distributions, why would you need to purchase the "pro" version "every time it comes out?" That sure sounds like a subscription to me.

I feel sorry for people who get sucked into buying what they're told to by "the machine." Part of the reason that I am interested in this project (EQEmu) is because I despise SOE for establishing a new precedent of money-grubbing. It is bad enough that they would create a pay-for-play service, but to then charge for expansions and related content is just off the wall. If I'm paying monthly charges to use a software system, it had better include upgrades for free! I look at their website and see statements like "EQ1 fans need not worry that they're being abandoned with the coming of eq2... we have heard your concerns and are making plans for further expansions!" Duh! Of course they are. Considering that a person who has played the game since its initial release would never "catch a deal" on bundled expansions (like trilogy or whatever), you're talking about an investment of like $280 (7 software boxes at ~$40 US) for the software alone. Add to that the $15/mo charge for playing online, and you're talking about a considerable amount of money. Factor in a couple of strategy guides and you could realistically be talking about $700 or so over a two-year period. And that isn

mehltd
11-24-2003, 02:14 AM
I run gentoo linux on both my server and my workstation. The installation is hellish, but the end result is <3.

http://gentoo.org

mehltd
11-24-2003, 02:23 AM
Wow, Gentoo sounds excellent... I havent had much Linux experience so do you think Gentoo will be to overwhealming to start with? Do you think I should start with an easier distro like Mandrake or jump right into Gentoo?

The installation took me 8 hours on a p3 1.1ghz, and 17 hours on a p2 233mhz. If you want the system to be optimized, you'll be waiting that long too.


Gentoo's install is all instruction based, and you have to read each and every instruction and make sure you got them all right before continuing.. If you dont get each right, you basically have to start over. Take a look at the installation documents on gentoo.org, and see if you think you would be able to follow that closely. The manual basically describes every command and everything you would need to install, but there are a lot of 'IF YOU HAVE THIS OR THAT' that you have to follow.

My rating of gentoo is:

Install: hellish

Speeds: very nice when optimized. optimization is acieved by downloading source code to everything and compiling it specifically for your processor, which the install does automatically.

support: gentoo has a nifty program called 'portage,' which allows you to get packages for gentoo. Say you wanted kde. you would type 'emerge kde' on a root shell. The kde download is about 10 minutes on DSL, but the compilation was like 13 hours (1.1ghz).

more on portage is on their website, http://gentoo.org

I dont recommend gentoo linux for a newbie of linux because it takes a lot of reading to install -- and there is no 'automatic install' like on red hat. you boot the cd, and you get a root shell. :)

If you want more info on gentoo, go to their website (gentoo.org), or send me a message and ill rant more :lol:

Muuss
11-24-2003, 08:42 PM
At job (University) i m running slackware 9.1 on lots of computers, http, smb servers and we're pretty satisfied of it. Its main quality is that they have for goal to look like a professional OS, not a windows-like linux. Stability is excellent, install process is ok. The full distribution can be stored on a single 700Mo CDROM, you may need 2 if u want to have sources and all the bootdisks and such.
You can select at install everything you need or don't need, and batch it to make it re-installable later on another computer. Several windows manager are available, from gnome to enlightenment, via fvmw95 (very usefull to save memory). Daemons are up to date, like most of the main tools (gcc, libs, emacs...) and make of the slacks a good developpment platform.
Compilation of drivers, kernels and such never caused any troubles and now, there's even a website that provides slack binaries of lotsa applications (http://www.linuxpackages.net/) if you're to lazy to compile them yourself :)

In the past, i was running redhat 3.0, then 5.0, but had to stop due to to many vulnerabilities and lack of stability. I went to Slackware and now, we have something like 250 computers using it, for students or teachers and the big great majority are pleased of it. I would never come back to redhat (or mandrake). I have also tried Suse and Debian, both were pretty good, far better than RH, but my heart still balances for Slack !

I had no trouble compiling eqemu 0.4.4 on Slackware, haven't tried 0.5 yet tho.

Muuss-Decimal

Eglin
12-01-2003, 08:51 PM
I have redhat on one of my computers now to test and I thought it was pretty good, but I dont want to use something thats not going to be updated so I figured I'd switch. At the risk of kindling a flame war, I thought I'd share that I just (6 hours ago) sat in front of a Fedora (http://fedora.redhat.com/) OS (RH 10, essentially) and would have no qualms whatsoever recommending it wholeheartedly.

Muuss
12-01-2003, 10:24 PM
No need to flame someone who runs a RH, he does it by himself :D

JK of course Eglin, we're all free to like or don't whatever we want :)

mehltd
12-05-2003, 07:18 AM
[insert his big <3 for slackware here]

the only reason i dont run slack is because gentoo has portage (emerge). Im not too sure if slack has a program similar to it (debian has apt-get, i think), and im not going to format just to find out :P

I have heard a lot of praise about slack, but my heart goes to gentoo. :mrgreen:

a_Guest03
12-05-2003, 07:29 AM
Slackware has a portage system you can install. I don't bother. Call me a caveman.

Muuss
12-08-2003, 03:39 AM
So many people saying that Gentoo is nice, i m gonna try it...
i m yet hearing people here flaming me hehe :)

and mehltd, let my big <3 in peace plz ! 8)

Eglin
12-08-2003, 05:25 AM
So many people saying that Gentoo is nice, i m gonna try it...
i m yet hearing people here flaming me hehe :)

and mehltd, let my big <3 in peace plz ! 8)That's cool. I'll try it too, eventually, but I think it is going to be well worth it to wait until they figure out how to use icc (Intel's optimizing compiler). _Every_ report I've seen on icc thusfar rates it as far superior to gcc.

The fact that gentoo, a distribution geared towards building from scratch, is having so much trouble adapting to another compiler is a bit distressing, but I still think it is going to be the best choice once the switch to icc is more fully fleshed out.

Trumpcard
12-08-2003, 05:38 AM
icc is available in gentoo portage, so you can pull it down if you like...

* dev-lang/icc
Latest version available: 7.1.006
Latest version installed: [ Not Installed ]
Size of downloaded files: 61,920 kB
Homepage: http://www.intel.com/software/products/compilers/clin/
Description: Intel C++ Compiler - Intel's Pentium optimized compiler for L
inux

Why default to using icc though for portage builds rather than gcc ?

GCC is a commited opensource compiler, switching over 100% to icc , regardless of better optimizations, would be insane... You are bound to eventually run into licensing issues with Intel as icc isnt GPL.. icc is free for personal/noncommerical use, but relying on it would be dangerous should intel decide to yank the way they handle it or discontinue evaluation versions... Then you have a distro that requires a purchased compiler.

Heres the price should should you decide you want to purchase ICC

http://www.intel.com/software/products/compilers/clin/pricelist.htm


You can put icc in your USE flags and it will try to use icc for any package that supports it....

Eglin
12-08-2003, 07:07 AM
icc is available in gentoo portage, so you can pull it down if you like...
Yeah, but since the number of ebuilds that actually respect the use icc option is extremely small, that doesn't really help.


Why default to using icc though for portage builds rather than gcc ?
GCC is a commited opensource compiler, switching over 100% to icc , regardless of better optimizations, would be insane...It's all about the performance, man. I think the insanity would be in _not_ switching if you can realize a 30+% performance gain. Code size could be a benefit for some, too. If the Intel compiler can take code (like eqemu's own distance calculations, for example) and automagically optimize it to haul major ass by going superscalar or hyperthreading or whatever the hell else the processor supports, then I sure as heck would want to make sure that the binaries I download were compiled with it! All evidence supports that vector distance calculations, like the kind that we make en masse, are faster when compiled by icc to the tune of more than double the speed. I've seen cases where certain optimization flags were completely prohibited by benchmarkers, because the performance gains were so dramatic that one can only assume that the compiler is being _too_ smart (i.e. 10x gains in whetstone). Additionally, the Intel compiler is the _only_ 100% ANSI compiler available. So, if I'm going to see gains of 100% in floating-point apps and 30% gains elsewhere, then I hardly think that switching default compilers is _insane_. Nor do I think that it is inappropriate for me to look to a distribution like gentoo, which touts its ability to build systems from the ground up supporting user-defined compilation metrics/options to ease the transition.

You are bound to eventually run into licensing issues with Intel as icc isnt GPL.. icc is free for personal/noncommerical use, but relying on it would be dangerous should intel decide to yank the way they handle it or discontinue evaluation versions... Then you have a distro that requires a purchased compiler.I don't think so. For one thing, a license change wouldn't affect the status of software built with the compiler, only the compiler itself. So, it isn't like my system would just fall apart. Besides, intermingling gcc apps from that point on would not be any worse than adding icc apps at this point, so I don't follow your argument (unless you're suggesting that one not use icc at all). I can say that I certainly would never ever choose to spend 18 hours building a system from scratch just to get a 1-3% performance improvement (what you can expect over binary packages, assuming you know what you're doing). On the other hand, if I could rebuild using icc and get a 30+ percent improvement across the board, then the prospect would suddenly look much more attractive.


Heres the price should should you decide you want to purchase ICC

http://www.intel.com/software/products/compilers/clin/pricelist.htm

Yeah, I've seen the details. To save others the hassle of checking it out - it is free for noncommercial use, <$100 for students and ~$305 for all others. That puts it roughly on par with the cost of other popular compilers. Certainly not what I would consider highway robbery.

You can put icc in your USE flags and it will try to use icc for any package that supports it....Yeah, but that is limited to only a very small number of emerge ports ATM.

The bottom line is that icc seems to do a much better job than gcc ATM. Enough so, in fact, that I'm going to wait to start the 18 hour odyssey of building a gentoo system until it properly supports using icc. Of course, if it turns out that Mandrake starts packaging icc built binaries (a definite possibility, since it has always optimized builds for Pentium chips) before gentoo gets its stuff together, then I'll probably just go that route.

Trumpcard
12-08-2003, 07:47 AM
I understand what you are saying, but switching over to a 3rd party, non open source compiler is risky, and ultimately against the opensource principles linux is built on. If you dont get the source code for it, then your linux distro shouldnt use it as a fundamental building block. I can see another SCO fiasco on the horizon...

Gentoo as a whole does not support icc in mass, even though icc is superior for INTEL compilation. I havent seen stats for other processors, but I would be willing to bet that the performance gains are much more minimal, and rewriting 1000's of ebuilds to work with a ultimately COMMERCIAL compiler for a single processor implemenation is alot of work and doesnt make much sense to me.

So your xmms opens 30% faster! Personally, I'd rather wait for the gcc folks to catch up. 3.5 is planning on including autovectorization which should drasticlly narrow the performance / optimization gap between icc.

So, overall, I see what youre saying, but I think it would be ultimately a bad idea to put the fate of a linux distro (and alot of initial work and possible rework) in the hands of a profit driven company... Who knows when Intel is going to hit dire straits and decide to milk everyone they can....

Eglin
12-08-2003, 11:23 AM
I understand what you are saying, but switching over to a 3rd party, non open source compiler is risky, and ultimately against the opensource principles linux is built on. If you dont get the source code for it, then your linux distro shouldnt use it as a fundamental building block. I can see another SCO fiasco on the horizon...I'm not following your argument at all. Where are the legal risks? At any rate, the freedom to recompile your source code is precisely what open source is all about. When a new chip or compiler or idea or whatever comes along, you can do your thing and reap the benefits, since you can do whatever you want with the source.


Gentoo as a whole does not support icc in mass, even though icc is superior for INTEL compilation. I havent seen stats for other processors, but I would be willing to bet that the performance gains are much more minimalYeah. I'm positive that you're right-on in that regard. I mean, it _is_ an Intel compiler :) Besides, there are features on the newer Intel systems that just aren't existent on other chips.


rewriting 1000's of ebuilds to work with a ultimately COMMERCIAL compiler for a single processor implemenation is alot of work and doesnt make much sense to me.
Your argument that builds would have to "support" icc in particular is not really appropriate, IMHO. The fact of the matter is that the Intel compiler (well, at least the parser) is fully ANSI standard compliant and has gone to great lengths to be command-line compatible with GCC. I don't think that anyone would argue against writing ANSI compatible C++ code, do you? Code that will compile under gcc but won't under icc is typically either making use of a nonstandard feature of gcc or abusing gcc's leniency in some way. This isn't just causing incompatibilities with commercial compilers; this is a portability problem that affects portability to other free platforms just as badly -- a problem that can most definitely be seen in even moving from one version of gcc to another (as can easily be seen in even eqemu's code). I think that the fact that many people are already running Linux kernels compiled with icc and the fact that 2.6 is definitely going to provide support for icc out of the box are pretty strong supporting facts for my case.


So your xmms opens 30% faster! Personally, I'd rather wait for the gcc folks to catch up. 3.5 is planning on including autovectorization which should drasticlly narrow the performance / optimization gap between icc.
Well, that's your prerogative. I don't fault you for it. OTOH, I doubt that everyone would agree with you. GCC has gradually gotten _slower_ over time, and I'm not sure that platform independent optimizations alone can ever approach the benefits of platform specific ones. Further, it is going to be very hard to beat Intel at their own game. I can't compare gcc3.5 against icc7, but all indicators seem to point to ~20-30 percent improvement in fixed-point code (maybe due to more aggressive memory management), and as much as double the performance or more in floating point intensive code by moving to icc now. That is a big deal. 30% is a big deal. Twice as fast is a very big deal -- especially for something as simple as a compiler change.


So, overall, I see what youre saying, but I think it would be ultimately a bad idea to put the fate of a linux distro (and alot of initial work and possible rework) in the hands of a profit driven company... Nobody is going to argue that putting "the fate of a linux distro ... in the hands of a profit driven company" is a good idea. I'm totally at a loss, however, as to how you suggest that refining the emerge build process and maybe making a few packages a bit more standards compliant is going to get us there. Again, I'd like to point out that the Intel compiler is ANSI compliant. Since the gcc compiler is striving towards compliance, it is reasonable to think that code that won't compile under icc will not compile under gcc much longer, either.


Who knows when Intel is going to hit dire straits and decide to milk everyone they can....Umm... I don't know about the "dire straits" part, but I think it is fair to assume that the milking part started a while ago! I remember seeing 486sx chips that had math copros onboard that were disabled. I've seen Celerons that had portions rendered unusable, too. All this because it is often cheaper to destroy functionality than to introduce a new manufacturing process. Nonetheless, you're going to have to provide some scenarios where using icc would backfire for me to understand your stance.

Ultimately, I think that the possibility of a 20-200% gain in performance is going to be very attractive to a lot of people. If compiling my ray tracer with icc means that all my images render _twice_ as fast, you'd better believe that I'm going to look into it! I'm pretty sure that my users would want my binary distributions to be based around the built that runs twice as fast, too! Why on Earth wouldn't they? If using icc means that I can squeeze another year out of my aging systems, then I feel further compelled to look into it. We aren't talking about nominal differences here, we're talking big fun - and hardware is expensive.

Trumpcard
12-08-2003, 12:18 PM
Im also at a loss as to what your big complaint with gentoo is then...

That's cool. I'll try it too, eventually, but I think it is going to be well worth it to wait until they figure out how to use icc

icc has been an option for gentoo for awhile now.. So Im confused as to what youre talking about here..

The fact that gentoo, a distribution geared towards building from scratch, is having so much trouble adapting to another compiler is a bit distressing

What troubles are you referring to? That only a few of the package builders ensure their makefiles can take advantage of icc or are capable of compiling out of the box with icc ?

The bottom line is that icc seems to do a much better job than gcc ATM. Enough so, in fact, that I'm going to wait to start the 18 hour odyssey of building a gentoo system until it properly supports using icc.

For INTEL systems, I'll agree with you.. How does it NOT support icc though? Do you mean that you the bootstrap system has to use gcc opposed to icc ? You can alter the ebuilds pretty leisurely if icc is cross compatible to build with if thats the case. Its very easy to manually play with and recompile glibc and the kernel if you desire, if icc is that simple, i doubt it would require that many changes to perform...

Im still confused why the linux community should rush to embrace ICC over GCC other than performance benefits. As far as ANSI compatible, so is GCC, but that doesnt mean that every package compiled on GCC is going to compile out of the box on ICC without code changes. I'd be amazed if EQEMU for example didnt require quite a free changes to compile on ICC for example (I'm more than willing to test it out).

Since you're not understanding my arguments, and apparently I'm not understanding yours, how about articulating what you expect gentoo/mandrake/debian/etc to do to 'figure out how to use icc'

Your comments make it sound like the linux community should drop GCC in favor of ICC, and thats what I'm argueing against, not that someone shouldnt investigate it's use.... I agree that better performance is ultimately a good thing, but how is it that everyone is scared away from ICC as you're making it sound?

Eglin
12-08-2003, 03:15 PM
Im also at a loss as to what your big complaint with gentoo is then...I certainly didn't mean to start a flame war, but my complaint would be that the system would take many many hours (possibly days) to install, justifying the time spent by declaring the result as optimal. I have read many many tidbits about using icc with gentoo and can say with absolute certainty that it is not a well supported option. This doesn't mean, of course, that individual packages can't be modified to compile. Nor am I trying to imply that it is not possible to finagle and coerce gentoo into building with icc. I do, however, think it is pretty rough that a system that is so geared up for building from scratch doesn't make it _easy_ to switch default compilers.

icc has been an option for gentoo for awhile now.. So Im confused as to what youre talking about here..OK, maybe I'm missing something. This is entirely possible, since I'm obviously inexperienced with gentoo. My current understanding is that if you want to have emerge build with icc instead of gcc you must use the 'use icc' construct. The port must then support that same construct. This is most definitely not the same thing as specifying a new compiler.

What troubles are you referring to? That only a few of the package builders ensure their makefiles can take advantage of icc or are capable of compiling out of the box with icc ? Not being able to properly specify a new compiler for emerge, for one thing. Correct me if I'm wrong, but it isn't enough for a package to compile perfectly under icc, is it? The makefile has to actually be modified to support the 'use icc' construct, right? How many packages are included in a modern Linux system? That's a lot of work to ask someone to do during an install process. Moreover, all of that must be done even if everything would otherwise compile perfectly.

Im still confused why the linux community should rush to embrace ICC over GCC other than performance benefits.Aside from having better support for the ANSI standard, I think that performance is the only reason. Isn't it reason enough? If you have the choice between two programs with _exactly_ identical functionality, but one runs _twice_ as fast as another, why would you ever choose the slow one? It is that same rationale that would drive me to emerge an icc system. Hell, I want to build gcc w/ icc! Why not? Wouldn't it be nice if your copy of gcc built everything 30% faster? For a person who generally installs binary packages when available (which I suspect constitutes the majority of Linux users), the license of the compiler used to make the package doesn't matter in the least, so I don't see any reason to not use the one that generates the fastest/smallest code. As far as

Trumpcard
12-08-2003, 04:33 PM
[quote]I

Muuss
12-08-2003, 08:34 PM
Your comments make it sound like the linux community should drop GCC in favor of ICC, and thats what I'm argueing against, not that someone shouldnt investigate it's use....

I don't wanna interfer in that discussion about the interests of icc against gcc, or vice versa (even more cause i m far of being technically able to follow it :p), but if i had to make a choice among those 2, i would obviously go for gcc, simply because we're also running linux on Digital-Compaq servers and a few old sun workstations, all this with shared homes. Nobody would even accept to talk of the eventuality to modify their code each time they change of platform. Before going for performance, we have to respect compatibilities.
Just 2 questions tho, is icc able to produce some code that is compatible whatever your ix86 cpu is, ie P4 code working on a P2 for example ? And is P4 written source compilable on a P2 ?

Eglin
12-09-2003, 12:45 AM
if i had to make a choice among those 2, i would obviously go for gcc, simply because we're also running linux on Digital-Compaq servers and a few old sun workstations, all this with shared homes.I agree that it is nice that gcc runs on all of these machines nowadays. OTOH, shared homes or otherwise, you're still going to have to recompile for each platform. Good code should strive to compile with icc or sun's cc or hp's cc or ... just as well as with gcc, IMHO. The biggest problem with switching compilers is usually related to linking with external libraries. Since icc can, from what I understand, produce code compatible with gcc's ld (or MS COFF and others), I don't think this is going to be a problem.

Nobody would even accept to talk of the eventuality to modify their code each time they change of platform. That's cool. Unfortunately, simply using gcc on all platforms isn't enough to satisfy that requirement (endianness, setenv(), and threads vs pthreads come to mind as examples of gcc behaving differently on sun than Linux).

Before going for performance, we have to respect compatibilities. That's cool. My suspicion, though, is that incongruities would have more to do with your code than your compiler.

Just 2 questions tho, is icc able to produce some code that is compatible whatever your ix86 cpu is, ie P4 code working on a P2 for example ? And is P4 written source compilable on a P2 ?I think that it is possible to use icc to write code for older x86 chips, if that is what you're asking. I am told that the performance benefits are still evidenced, perhaps due to more agressive memory alignment strategies. The compiler supports some optimizations, though, that are very chip specific. This is true for gcc and ms cl, too.

Muuss
12-09-2003, 01:58 AM
hehe, its funny to see how you deturn the general sense into small pieces just to make it keeping more a less the same meaning, but by still isolating the parts where you can place your opinion and finally return them :)

I basically don't care of what gcc compiler people use here at job. Most of them produce code that is trashed the next week (university researchers, in voice recognition, numerical analysis and such...) and they make themselves the choice of their compilers.
One thing is sure, all of them finnally end up with gcc as soon as they start to work on unix like stations.

I think that it is possible to use icc to write code for older x86 chips, if that is what you're asking. I am told that the performance benefits are still evidenced, perhaps due to more agressive memory alignment strategies. The compiler supports some optimizations, though, that are very chip specific. This is true for gcc and ms cl, too.

Well no, that's not what i was asking. The question is : i wrote some optimized code for my P4, can i compile it on that other computer which only has a P2 ?

Eglin
12-09-2003, 02:54 AM
hehe, its funny to see how you deturn the general sense into small pieces just to make it keeping more a less the same meaning, but by still isolating the parts where you can place your opinion and finally return them :) I felt that your statements should be addressed individually.

One thing is sure, all of them finnally end up with gcc as soon as they start to work on unix like stations. This is exactly contrary to your earlier statements implying that portability was of utmost importance. Not to mention the fact that it has no impact whatsoever on the fact that simply using gcc doesn't resolve all of the underlying differences in the various subsystems.

I think that it is possible to use icc to write code for older x86 chips, if that is what you're asking. I am told that the performance benefits are still evidenced, perhaps due to more agressive memory alignment strategies. The compiler supports some optimizations, though, that are very chip specific. This is true for gcc and ms cl, too.

Well no, that's not what i was asking. The question is : i wrote some optimized code for my P4, can i compile it on that other computer which only has a P2 ?So, you are asking if code specifically engineered to take advantage of features only found on a p4 (hyperthreading, for example) will run on a chip that doesn't support those features? Of course not. I'm not really sure how this could be unclear. I don't really see how this is an issue, though. It certainly hasn't hurt adoption of prior chip-specific features (like mmx or 3dnow! or sse or ...). If you don't have mmx avaliable, you just can't run mmx optimized code (obviously).

Muuss
12-09-2003, 03:28 AM
Thanks thanks, you confirmed my thoughts. I was wondering if it was possible for the compiler to automatically produce the alternative code to make the software able to execute on a lower CPU (as u see, i have low qualities of coder :p)

This is exactly contrary to your earlier statements implying that portability was of utmost importance.

Nope, nope, that's a too fast conclusion coming from an isolated sentence. there's not only gcc and icc in the world, portability can also be assumed in a laboratory with another compiler than the one choosen in that other laboratory, or this one... The only conclusion i can make of what's happening here (100+ persons writing source code, great majority of them being doctors) is that gcc is in all the cases the elected compiler.

Tho, i totally agree that on each specific platforms, there's several alternatives to gcc, which can certainly provide better results, as i wrote before, i have no preference for gcc or another one...