LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Other *NIX Forums > AIX
User Name
Password
AIX This forum is for the discussion of IBM AIX.
eserver and other IBM related questions are also on topic.

Notices


Reply
  Search this Thread
Old 06-10-2007, 08:50 AM   #1
trigggl
Member
 
Registered: Dec 2004
Location: Jacksonville, AR
Distribution: Debian Etch, AIX, Slackware
Posts: 117

Rep: Reputation: 15
gcc failing, ld seems to be the problem


I'm finally able to use the AIX boxes I acquired. I downloaded some linux rpms from the IBM website. I'm able to use them when I need them, but I don't seem to be able to compile. Actually, it's the ./configure command that isn't working for me. The end of the error file shows this:

BEGIN /tmp/ffmpeg-conf-9089-307414-1958.c
1 int main(){
2 return 0;
3 }
END /tmp/ffmpeg-conf-9089-307414-1958.c
gcc -fomit-frame-pointer -c -o /tmp/ffmpeg-conf-17416-307414-11471.o /tmp/ffmpeg
-conf-9089-307414-1958.c
gcc -Wl,--warn-common -o /tmp/ffmpeg-conf-31953-307414-10860 /tmp/ffmpeg-conf-17
416-307414-11471.o -lm
ld: 0706-012 The -- flag is not recognized.
ld: 0706-012 The -w flag is not recognized.
ld: 0706-012 The -a flag is not recognized.
ld: 0706-027 The -n flag is ignored.
ld: 0706-012 The -- flag is not recognized.
ld: 0706-012 The -c flag is not recognized.
collect2: ld returned 255 exit status
C compiler test failed.


Is there any way to work around this? Am I just out of luck, or is there something I'm missing here?
 
Old 06-10-2007, 09:34 AM   #2
MensaWater
LQ Guru
 
Registered: May 2005
Location: Atlanta Georgia USA
Distribution: Redhat (RHEL), CentOS, Fedora, CoreOS, Debian, FreeBSD, HP-UX, Solaris, SCO
Posts: 7,830
Blog Entries: 15

Rep: Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668
?

Are you running Linux on the box or AIX? These are two different operating systems. "Linux RPMs" aren't going to work on "AIX".

The fact that the box may originally have had AIX doesn't make it an "AIX" box. You need to be a little clearer in what you're talking about. You don't load Linux on top of AIX - you replace AIX with Linux if you want it to run Linux.

Note that you may be able to compile open source programs on AIX but the C you likely got by default with AIX isn't "gcc" (GNU C Compiler). You'd need to first install gcc as most open source packages are built to work with gcc and associated libraries. That doesn't mean other C compilers wouldn't work but that you might have to spend a lot of effort making them work.

I have an old HP PA-RISC system that was built for HP-UX (HP's UNIX like AIX is IBM's UNIX). I was able to install Debian on that (using the HPPA build) but once I did that it was no longer an HP-UX box.
 
Old 06-11-2007, 08:24 AM   #3
trigggl
Member
 
Registered: Dec 2004
Location: Jacksonville, AR
Distribution: Debian Etch, AIX, Slackware
Posts: 117

Original Poster
Rep: Reputation: 15
Aix

I am running AIX and yes the "Linux" programs do work. They are supplied by IBM and even some of them are split up by AIX version.
http://www-03.ibm.com/servers/aix/pr.../download.html

gcc is actually on the system, I have discovered, so I'm going to quit trying to use the "Linux" version I installed. I did successfully install Openssl and Openssh from source this morning so that tells me gcc does work. I may need to try compiling ffmpeg again using the AIX gcc and recheck the error log.

To be really specific, the version of AIX I'm using is '5.2'. I guess I really need to be asking this question at the ffmpeg site.
 
Old 06-11-2007, 10:29 AM   #4
MensaWater
LQ Guru
 
Registered: May 2005
Location: Atlanta Georgia USA
Distribution: Redhat (RHEL), CentOS, Fedora, CoreOS, Debian, FreeBSD, HP-UX, Solaris, SCO
Posts: 7,830
Blog Entries: 15

Rep: Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668
In computers the exclamation point means "not".

Linux != AIX

It is EITHER Linux OR AIX - NOT BOTH.

Linux != AIX

Linux is a specific operating system.

AIX is a different specific operating system.

Linux != AIX

Open Source Software (OSS) can run on many different operating systems including the OSS operating system known as Linux which is where much of it was developed.

Linux != AIX

RPM = RedHat package manager which is ONE way of bundling and distributing sofware pacakges used for OSS. There are other ways of bundling and distributing packages that are used on various operating systems. RPM isn't even the one used on all Linux distros let alone all operating systems.

Linux != AIX

The fact that you have an RPM of an OSS for AIX does NOT make it a "Linux" software. It is simply an OSS "ported" to AIX.

Linux != AIX

You are going to get some really bad advice (not to mention a little derision) if you persist in calling it "Linux on AIX".

Linux != AIX

You can run EITHER Linux OR AIX on your hardware. You are NOT running both.

Linux != AIX

IBM wrote AIX. IBM also contributes to and pushes Linux as a platform but this also does NOT make AIX and Linux the same thing.

Linux != AIX

(For everyone else reading this - I'm leaving out virtualization and dual boot on purpose as it would obviously just confuse the OP more than he already is.)

Linux != AIX

So if you take nothing else away from all of this please take away this simple fact:

AIX is NOT Linux.
 
Old 06-11-2007, 10:57 AM   #5
trigggl
Member
 
Registered: Dec 2004
Location: Jacksonville, AR
Distribution: Debian Etch, AIX, Slackware
Posts: 117

Original Poster
Rep: Reputation: 15
Apparently IBM is confused then. It's their web page.

Yes, I understand that Linux is the kernel which AIX doesn't run on. If you would get off that subject, perhaps someone could take a stab at answering my question which really has nothing to do with Linux. Oh, that was your point?

Wine allows users to run Windows programs on Linux. Windows != Linux.

Can we please get off this AIX != Linux issue and get to the real question? Why is my attempt to configure ffmpeg failing, and what can I do about it? As I mentioned in my last post, I'm going to try again with the native gcc and check the error file again. Then I'm going to go to the ffmpeg site to try to get help there.

My goal is to get ffmpeg running on my AIX IBM RS/6000 PowerPC workstations.
 
Old 06-11-2007, 02:34 PM   #6
MensaWater
LQ Guru
 
Registered: May 2005
Location: Atlanta Georgia USA
Distribution: Redhat (RHEL), CentOS, Fedora, CoreOS, Debian, FreeBSD, HP-UX, Solaris, SCO
Posts: 7,830
Blog Entries: 15

Rep: Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668
My point is you contradicted what I said in trying to help you understand. Apparently you'd rather think you were right than accept the explanation.

Happy computing.
 
Old 06-12-2007, 08:47 AM   #7
MensaWater
LQ Guru
 
Registered: May 2005
Location: Atlanta Georgia USA
Distribution: Redhat (RHEL), CentOS, Fedora, CoreOS, Debian, FreeBSD, HP-UX, Solaris, SCO
Posts: 7,830
Blog Entries: 15

Rep: Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668
OK back to your original question.

Just as the C compiler that comes with AIX is not necessarily GCC it is also likely the linker (ld) is not the OSS linker.

The errors you got clearly indicate the ld you're using doesn't allow for the flags the configure/make would like to use.

If you type "man ld" you may be able to see what options the ld you're running does allow.

In this line of your output:
gcc -Wl,--warn-common -o /tmp/ffmpeg-conf-31953-307414-10860 /tmp/ffmpeg-conf-17416-307414-11471.o -lm

-Wl,--warn-common = Pass the flag, --warn-common, to the linker.

You then see the linker complain:
ld: 0706-012 The -- flag is not recognized.
ld: 0706-012 The -w flag is not recognized.
ld: 0706-012 The -a flag is not recognized.
ld: 0706-027 The -n flag is ignored.
ld: 0706-012 The -- flag is not recognized.
ld: 0706-012 The -c flag is not recognized.
collect2: ld returned 255 exit status

What the above means is that the ld you're running doesn't understand "--" (most OSS programs allow for -- arguments but most UNIX expect only a single -). It then says -w, -a, -n and -c don't work for the linker. Notices that w, a, n and c all appear in "warn-common" so it took each of the characters as individual flags rather than taking the whole string as a flag.

This is the way it normally works - you can almost always combine multiple "-"something flags into a single string prended by a "-". e.g.
ls -l -a -d = ls -lad (or even ls -dal).

You should download the OSS rpm that has "ld" in it so you get the ld that understands "--warn-common". On my Fedora System "ld" is part of the binutils package. On the IBM site you were using they may have an OSS "ld" since it is an add on for AIX (presumably) OR they may have binutils.

Note that binutils contains more than ld though.

On my FC4 system binutils contains the list of files below. If you're running AIX rather than Linux on this server you may wish to save off copies of the following before you load binutils OR load binutils into an alternate directory and set your PATH according to where you loaded it:

rpm -ql binutils
/usr/bin/addr2line
/usr/bin/ar
/usr/bin/as
/usr/bin/c++filt
/usr/bin/gprof
/usr/bin/ld
/usr/bin/nm
/usr/bin/objcopy
/usr/bin/objdump
/usr/bin/ranlib
/usr/bin/readelf
/usr/bin/size
/usr/bin/strings
/usr/bin/strip
/usr/include/ansidecl.h
/usr/include/bfd.h
/usr/include/bfdlink.h
/usr/include/dis-asm.h
/usr/include/libiberty.h
/usr/include/symcat.h
/usr/lib/libbfd-2.15.94.0.2.2.so
/usr/lib/libbfd.a
/usr/lib/libiberty.a
/usr/lib/libopcodes-2.15.94.0.2.2.so
/usr/lib/libopcodes.a
/usr/share/doc/binutils-2.15.94.0.2.2
/usr/share/doc/binutils-2.15.94.0.2.2/README
/usr/share/info/as.info.gz
/usr/share/info/bfd.info.gz
/usr/share/info/binutils.info.gz
/usr/share/info/configure.info.gz
/usr/share/info/gprof.info.gz
/usr/share/info/ld.info.gz
/usr/share/info/standards.info.gz
/usr/share/locale/da/LC_MESSAGES/bfd.mo
/usr/share/locale/da/LC_MESSAGES/binutils.mo
/usr/share/locale/da/LC_MESSAGES/gprof.mo
/usr/share/locale/da/LC_MESSAGES/ld.mo
/usr/share/locale/da/LC_MESSAGES/opcodes.mo
/usr/share/locale/de/LC_MESSAGES/gprof.mo
/usr/share/locale/de/LC_MESSAGES/opcodes.mo
/usr/share/locale/es/LC_MESSAGES/bfd.mo
/usr/share/locale/es/LC_MESSAGES/binutils.mo
/usr/share/locale/es/LC_MESSAGES/gas.mo
/usr/share/locale/es/LC_MESSAGES/gprof.mo
/usr/share/locale/es/LC_MESSAGES/ld.mo
/usr/share/locale/es/LC_MESSAGES/opcodes.mo
/usr/share/locale/fr/LC_MESSAGES/bfd.mo
/usr/share/locale/fr/LC_MESSAGES/binutils.mo
/usr/share/locale/fr/LC_MESSAGES/gas.mo
/usr/share/locale/fr/LC_MESSAGES/gprof.mo
/usr/share/locale/fr/LC_MESSAGES/ld.mo
/usr/share/locale/fr/LC_MESSAGES/opcodes.mo
/usr/share/locale/id/LC_MESSAGES/gprof.mo
/usr/share/locale/id/LC_MESSAGES/opcodes.mo
/usr/share/locale/ja/LC_MESSAGES/bfd.mo
/usr/share/locale/ja/LC_MESSAGES/binutils.mo
/usr/share/locale/nl/LC_MESSAGES/opcodes.mo
/usr/share/locale/pt_BR/LC_MESSAGES/gprof.mo
/usr/share/locale/pt_BR/LC_MESSAGES/opcodes.mo
/usr/share/locale/ro/LC_MESSAGES/bfd.mo
/usr/share/locale/ro/LC_MESSAGES/opcodes.mo
/usr/share/locale/ru/LC_MESSAGES/binutils.mo
/usr/share/locale/sv/LC_MESSAGES/bfd.mo
/usr/share/locale/sv/LC_MESSAGES/binutils.mo
/usr/share/locale/sv/LC_MESSAGES/gprof.mo
/usr/share/locale/sv/LC_MESSAGES/ld.mo
/usr/share/locale/sv/LC_MESSAGES/opcodes.mo
/usr/share/locale/tr/LC_MESSAGES/bfd.mo
/usr/share/locale/tr/LC_MESSAGES/binutils.mo
/usr/share/locale/tr/LC_MESSAGES/gas.mo
/usr/share/locale/tr/LC_MESSAGES/gprof.mo
/usr/share/locale/tr/LC_MESSAGES/ld.mo
/usr/share/locale/tr/LC_MESSAGES/opcodes.mo
/usr/share/locale/zh_CN/LC_MESSAGES/bfd.mo
/usr/share/locale/zh_CN/LC_MESSAGES/binutils.mo
/usr/share/man/man1/addr2line.1.gz
/usr/share/man/man1/ar.1.gz
/usr/share/man/man1/as.1.gz
/usr/share/man/man1/c++filt.1.gz
/usr/share/man/man1/gprof.1.gz
/usr/share/man/man1/ld.1.gz
/usr/share/man/man1/nm.1.gz
/usr/share/man/man1/objcopy.1.gz
/usr/share/man/man1/objdump.1.gz
/usr/share/man/man1/ranlib.1.gz
/usr/share/man/man1/readelf.1.gz
/usr/share/man/man1/size.1.gz
/usr/share/man/man1/strings.1.gz
/usr/share/man/man1/strip.1.gz
/usr/bin/addr2line
/usr/bin/ar
/usr/bin/as
/usr/bin/c++filt
/usr/bin/gprof
/usr/bin/ld
/usr/bin/nm
/usr/bin/objcopy
/usr/bin/objdump
/usr/bin/ranlib
/usr/bin/readelf
/usr/bin/size
/usr/bin/strings
/usr/bin/strip
/usr/include/ansidecl.h
/usr/include/bfd.h
/usr/include/bfdlink.h
/usr/include/dis-asm.h
/usr/include/libiberty.h
/usr/include/symcat.h
/usr/lib/libbfd-2.15.94.0.2.2.so
/usr/lib/libbfd.a
/usr/lib/libiberty.a
/usr/lib/libopcodes-2.15.94.0.2.2.so
/usr/lib/libopcodes.a
/usr/share/doc/binutils-2.15.94.0.2.2
/usr/share/doc/binutils-2.15.94.0.2.2/README
/usr/share/info/as.info.gz
/usr/share/info/bfd.info.gz
/usr/share/info/binutils.info.gz
/usr/share/info/configure.info.gz
/usr/share/info/gprof.info.gz
/usr/share/info/ld.info.gz
/usr/share/info/standards.info.gz
/usr/share/locale/da/LC_MESSAGES/bfd.mo
/usr/share/locale/da/LC_MESSAGES/binutils.mo
/usr/share/locale/da/LC_MESSAGES/gprof.mo
/usr/share/locale/da/LC_MESSAGES/ld.mo
/usr/share/locale/da/LC_MESSAGES/opcodes.mo
/usr/share/locale/de/LC_MESSAGES/gprof.mo
/usr/share/locale/de/LC_MESSAGES/opcodes.mo
/usr/share/locale/es/LC_MESSAGES/bfd.mo
/usr/share/locale/es/LC_MESSAGES/binutils.mo
/usr/share/locale/es/LC_MESSAGES/gas.mo
/usr/share/locale/es/LC_MESSAGES/gprof.mo
/usr/share/locale/es/LC_MESSAGES/ld.mo
/usr/share/locale/es/LC_MESSAGES/opcodes.mo
/usr/share/locale/fr/LC_MESSAGES/bfd.mo
/usr/share/locale/fr/LC_MESSAGES/binutils.mo
/usr/share/locale/fr/LC_MESSAGES/gas.mo
/usr/share/locale/fr/LC_MESSAGES/gprof.mo
/usr/share/locale/fr/LC_MESSAGES/ld.mo
/usr/share/locale/fr/LC_MESSAGES/opcodes.mo
/usr/share/locale/id/LC_MESSAGES/gprof.mo
/usr/share/locale/id/LC_MESSAGES/opcodes.mo
/usr/share/locale/ja/LC_MESSAGES/bfd.mo
/usr/share/locale/ja/LC_MESSAGES/binutils.mo
/usr/share/locale/nl/LC_MESSAGES/opcodes.mo
/usr/share/locale/pt_BR/LC_MESSAGES/gprof.mo
/usr/share/locale/pt_BR/LC_MESSAGES/opcodes.mo
/usr/share/locale/ro/LC_MESSAGES/bfd.mo
/usr/share/locale/ro/LC_MESSAGES/opcodes.mo
/usr/share/locale/ru/LC_MESSAGES/binutils.mo
/usr/share/locale/sv/LC_MESSAGES/bfd.mo
/usr/share/locale/sv/LC_MESSAGES/binutils.mo
/usr/share/locale/sv/LC_MESSAGES/gprof.mo
/usr/share/locale/sv/LC_MESSAGES/ld.mo
/usr/share/locale/sv/LC_MESSAGES/opcodes.mo
/usr/share/locale/tr/LC_MESSAGES/bfd.mo
/usr/share/locale/tr/LC_MESSAGES/binutils.mo
/usr/share/locale/tr/LC_MESSAGES/gas.mo
/usr/share/locale/tr/LC_MESSAGES/gprof.mo
/usr/share/locale/tr/LC_MESSAGES/ld.mo
/usr/share/locale/tr/LC_MESSAGES/opcodes.mo
/usr/share/locale/zh_CN/LC_MESSAGES/bfd.mo
/usr/share/locale/zh_CN/LC_MESSAGES/binutils.mo
/usr/share/man/man1/addr2line.1.gz
/usr/share/man/man1/ar.1.gz
/usr/share/man/man1/as.1.gz
/usr/share/man/man1/c++filt.1.gz
/usr/share/man/man1/gprof.1.gz
/usr/share/man/man1/ld.1.gz
/usr/share/man/man1/nm.1.gz
/usr/share/man/man1/objcopy.1.gz
/usr/share/man/man1/objdump.1.gz
/usr/share/man/man1/ranlib.1.gz
/usr/share/man/man1/readelf.1.gz
/usr/share/man/man1/size.1.gz
/usr/share/man/man1/strings.1.gz
/usr/share/man/man1/strip.1.gz

Last edited by MensaWater; 06-12-2007 at 08:50 AM.
 
Old 06-15-2007, 11:53 AM   #8
trigggl
Member
 
Registered: Dec 2004
Location: Jacksonville, AR
Distribution: Debian Etch, AIX, Slackware
Posts: 117

Original Poster
Rep: Reputation: 15
Actually, that was quite helpful. Thank you. It seems obvious, now that you've explained the double dash thing. I guess -r, -o and -m are recognized options. I did install the binutil rpm from the IBM web page, but apparently ld didn't come with it. I do have a working gcc.

I got ticked off when you kept repeating yourself like I was a complete idiot. I've learned a few things in life including programming in binary and assembly code. You could have said it once and then given me your explanation. I didn't even bother to read the rest of it because I felt like I was being talked down to.

I admit the box is AIX. It is ! Linux. If it was Linux I would have had the thing compiled by now. In fact, I installed it in Slackware this morning.

I'm sorry for being argumentative. You are right, I was wrong.

I just want to get this installed because that's the main thing I want to use it for. I frequently convert avi's to mpeg to make dvd's out of them. I hate tying up my PC to do that. With 2 Gigs of Ram and a 64 bit bus, I'm hoping that the RS/6000 may even do it faster. The processor is a little slower, but the PC is Rambus with not much Ram.
 
Old 06-15-2007, 01:06 PM   #9
MensaWater
LQ Guru
 
Registered: May 2005
Location: Atlanta Georgia USA
Distribution: Redhat (RHEL), CentOS, Fedora, CoreOS, Debian, FreeBSD, HP-UX, Solaris, SCO
Posts: 7,830
Blog Entries: 15

Rep: Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668Reputation: 1668
configure is usually a script (text file) so you should be able to just modify the gcc statement to leave out the "Wl,--warn-common" it tries to do simply by editing the file.

You might also want to look through the configure (and subsequent makefile created by configure) for other gotchas.

Did you check the gcc you downloaded to see if it contained its own ld? It seems if this was a port to AIX they might have included one there instead of binutils. If so by setting your PATH variable to have that ld's directory BEFORE the AIX native ld's directory you can get it to work.

"rpm -ql gcc" should show you which files gcc installed.

P.S. I was probably a bit to pedantic in my later response but my first one really was trying to find out what you were using because it seemed possible you could be either AIX or a Linux ported to the RISC on the system that originally had AIX.

Last edited by MensaWater; 06-15-2007 at 01:08 PM.
 
Old 06-15-2007, 01:22 PM   #10
trigggl
Member
 
Registered: Dec 2004
Location: Jacksonville, AR
Distribution: Debian Etch, AIX, Slackware
Posts: 117

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by jlightner
configure is usually a script (text file) so you should be able to just modify the gcc statement to leave out the "Wl,--warn-common" it tries to do simply by editing the file.

You might also want to look through the configure (and subsequent makefile created by configure) for other gotchas..
I did just find something similar to that in the ffmpeg-devel mailing list. They didn't go into detail, though, so I didn't know to just edit the configure file. I hope it is that easy. I'll try that when I get home.

Quote:
Originally Posted by jlightner
Did you check the gcc you downloaded to see if it contained its own ld? It seems if this was a port to AIX they might have included one there instead of binutils. If so by setting your PATH variable to have that ld's directory BEFORE the AIX native ld's directory you can get it to work.

"rpm -ql gcc" should show you which files gcc installed..
The rpms on the IBM site seem to install everything at /opt/freeware. I didn't find ld there, but I'll check with the command given above. I'm actually using a version of gcc that was already on the computer(I think). I guess it could be a symlink. The gcc I'm using is in the /usr folder somewhere.

Quote:
Originally Posted by jlightner
P.S. I was probably a bit to pedantic in my later response but my first one really was trying to find out what you were using because it seemed possible you could be either AIX or a Linux ported to the RISC on the system that originally had AIX.
Like I said, what's most important to me is getting this thing installed and the help you are providing more than makes up for it. I appreciate that you posted the help in spite of the disagreement.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
GCC in chroot failing to build, unable to find headers falt004 Linux From Scratch 4 08-03-2007 10:00 AM
eth1 failing on boot, IEEE firewire card driver failing, help jackuss_169 Linux - Laptop and Netbook 5 03-05-2005 07:34 AM
gcc compilation failing on UnixWare for LOCALE_ALIAS_PATH subu_s Programming 0 12-21-2004 07:15 AM
LILO install failing, Boot failing, but Installation fine. sramelyk Slackware 9 08-23-2003 02:37 PM
X failing to load; AddScreen/InitScreen failing for driver 0 weblion Linux - Software 1 08-01-2002 06:14 AM

LinuxQuestions.org > Forums > Other *NIX Forums > AIX

All times are GMT -5. The time now is 02:55 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration