2010年1月10日星期日

Solaris 10 上如何安裝c/c++ 等的compilers?

最近在公司整理一個sun 450的服務器,從新安裝solaris 10, 居然可以成功的安裝10年前的Server, 進而想會不會有編譯環境呢?

gcc了一下沒有,我愛想在上面做的開發啥的,怎麼辦呢?google

發現sun 免費發放gcc的compliers

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=GCC-4.2.1-G-F@CDS-CDS_SMI

安裝說明參考

http://cooltools.sunsource.net/gcc/4.2.0/install.html

我的實驗:

bash-3.00# ls
SUNW0scgfss421.tar.bz2  SUNWgccfss421.tar.bz2
bash-3.00# /bin/bunzip2 -c SUNWgccfss421.tar.bz2  |/bin/tar xf -
bash-3.00# /bin/bunzip2 -c SUNW0scgfss421.tar.bz2 |/bin/tar xf -

bash-3.00# pwd
/usr/local/gcc/bin
bash-3.00# ls
ats                              gccbug
bit                              gcov
c++                              sparc-sun-solaris2.10-c++
cpp                              sparc-sun-solaris2.10-g++
discover                         sparc-sun-solaris2.10-gcc
g++                              sparc-sun-solaris2.10-gcc-4.2.1
gcc
bash-3.00#

bash-3.00# ./gcc
gcc: no input files
bash-3.00#

參考Advanced Programming in the UNIX 2ed

寫個小例子測試一下:

bash-3.00# cat test.c
#include<stdio.h>
#include<dirent.h>

int main(int argc, char *argv[])
{
        DIR   *dp;
        struct dirent *dirp;

        if(argc != 2)
        {
                printf("usage: ls directory_name \n");
                return 1;
        }

        if((dp = opendir(argv[1]))== NULL)
                printf("can't open %s", argv[1]);

        while((dirp = readdir(dp)) !=NULL)
                printf("%s \n", dirp->d_name);

        closedir(dp);
        //exit(0);
        return 0;
}
bash-3.00#

bash-3.00# /usr/local/gcc/bin/gcc -o test test.c
bash-3.00#

bash-3.00# ./test
usage: ls directory_name
bash-3.00# ./test .
.
..
test.c
test.o
test
core
bash-3.00#

貌似可以了, 記錄一下備忘!

没有评论:

发表评论