~/.profile 是在用户的主目录下的一个文件,每次用户登陆都会执行这里边的ENV环境变量设置
I am a new man to solaris and get some contents from website to config the gcc on solaris as follows:
/etc/profile是一个全局的环境变量设置,只要登陆系统的用户都会执行里面的ENV环境变量设置
~/.kshrc是在用户的主目录下面的,每次执行KSH下面的子shell的时候,都会执行这里面的ENV环境变量设置
~/.dtprofile是在用户的主目录下面的,在这里设置你进入CDE时的一些变量设置,如果用户没有通过CDE进入过系统,那么将不会产生这个文件 只有用户曾经用CDE进入过系统后就会自动生成一个.dtprofile文件,然后还可以对里边的变量进行设置
所以我的环境变量的设置是在/etc/profile中的
PATH=/usr/sbin:/usr/bin:/sbin:/usr/ucb:/usr/local/bin:/usr/ccs/bin
LD_LIBRARY_PATH=/usr/local/lib
第一行是一些命令的路径
第二行是在用GCC/G++调试程序的时候使用到的库文件路径
由于Solaris在安装后没有GCC/GDB的调试工具,所以必须手动安装,我下载了些以下的安装包,然后ftp到我的虚拟机器上,安装步骤如下
From the website we can download the following packages:
http://www.sunfreeware.com/programlistintel10.html#db4
gunzip expat-1.95.5-sol10-intel-local.gz
gunzip gdb-6.6-sol10-x86-local.gz
gunzip libiconv-1.11-sol10-x86-local.gz
gunzip gcc-3.4.6-sol10-x86-local.gz
gunzip libgcc-3.4.6-sol10-x86-local.gz
gunzip ncurses-5.6-sol10-x86-local.gz
pkgadd -d expat-1.95.5-sol10-intel-local
pkgadd -d gdb-6.6-sol10-x86-local
pkgadd -d libiconv-1.11-sol10-x86-local
pkgadd -d gcc-3.4.6-sol10-x86-local
pkgadd -d libgcc-3.4.6-sol10-x86-local
pkgadd -d ncurses-5.6-sol10-x86-local
首先是解压,然后是利用solaris安装包的命令,安装了包体
在这里再说个卸载包的命令:pkgrm
其实有个包可以不安装的,就是因为没有设置LD_LIBRARY_PATH这个变量,没有找到libstdc++.so.6,所以我就误认为没有装 libgcc-3.4.6-sol10-x86-local 这个包,重复安装了,还是没有出什么大的问题,但是一定要设置上面所说的那个变量,否则在运行c程序的时候会抱错
以上就是偶安装gcc/gdb的一个简单的过程,其中还有一些ftp的操作,主要的还是ftpd文件夹下的ftpusers中的一些说明
or
1.打开左上角菜单“系统” - “系统管理” - “Package Manager”。
2. 在工具栏下方的“Search”文本框中输入:SUNWgcc,回车。勾选下方列表中出现的SUNWgcc包,点击工具栏中的“Install /Update”按钮。
3. 出现 Install/Update Confirmation 提示窗口,查看包依赖和下载信息,点击“Next”按钮,开始下载文件,并自动进行安装。
在package manager里面输入gcc,可以看到有几个跟gcc相关的包,然后安装就行了。
gcc和gcc-dev应该是必须的好像
到这个网站http://www.sunfreeware.com/programlistintel10.html下载libiconv-1.11-sol10-x86-local.gz及gcc-3.4.6-sol10-x86-local.gz的安装包,解压缩用pkgadd -d安装.
#gunzip libiconv-1.11-sol10-x86-local.gz
#pkgadd –d libiconv-1.11-sol10-x86-local
#gunzip gcc-3.4.6-sol10-x86-local.gz
gcc -o hello hello.c
collect2: ld terminado con la señal 9 [Killed]
ld.so.1: ld: fatal: libld.so.4: version `SUNWprivate_4.2' not found (required by file /usr/bin/ld)
ld.so.1: ld: fatal: libld.so.4: open failed: No such file or directory
ld.so.1: ld: fatal: relocation error: file /usr/bin/ld: symbol ld32_main: referenced symbol not found
Running 'pkg install SUNWtoo' to fix the above problem
Or pfexec pkg install gcc-dev
You Can also see:
http://www.lupaworld.com/bbs/thread-22938-1-13.html
Solaris 安装GCC编译器
GCC是GNU组织的免费C编译器,Linux的很多发布缺省安装的就是这种。很多流行
的自由软件原代码基本都能在GCC编译器下编译运行。
虽然GCC有很多平台(操作系统)的版本,一般商业UNIX系统是不安装GCC的,要想在
这些操作系统上使用GCC,就必须自己动手安装。
下面主要介绍在SUN Solaris操作系统中获取GCC,安装和调试步骤。
1 取得针对操作系统和操作系统版本保持一致的GCC软件
如果你要在Solaris 2.5.1上使用GCC,要取得相映的GCC
ftp://ftp.cdit.edu.cn/pub/unix/solaris/sparc25/gcc-2.7.2.1.gz
2 解压缩
.gz表示是这是一个经过GZIP压缩过的文件。需要用gzip/gunzip软件首先
解压缩。
$ gunzip gcc-2.7.2.1.gz
3 安装
解压缩之后的就是安装包。在solaris操作系统中安装包有一套专门的命令和程序
#pkgadd -d ./gcc-2.7.2.1
在接下来的安装中,会有一个交互性安装过程。
4 调试
以gcc-2.7.2.1为例,GCC缺省安装的路径为/opt/GCC2721,这个路径可能不在
用户的PATH变量表示的范围内,所以需要对PATH变量更新,方便使用GCC。
对使用csh的用户:
% setenv PATH=$PATH:/opt/GCC2721/bin
对使用sh的用户:
$ PATH=$PATH:/opt/GCC2721/bin
$ export PATH
如果不想每次使用GCC都要更新PATH环境变量,可以将以上内容写在用户初始文件
中:
对csh用户: 写在用户主目录下的.cshrc文件中
对sh用户:写在用户主目录下的.profile文件中
5 常见问题
Q:解压缩gcc-version.gz文件时,提示"gunzip 没找到"
A:有可能是你没有事先安装gzip/gunzip软件,首先下载gzip for 相应OS,然后
安装。
还有可能是gzip/gunzip没在PATH搜索路径中,查看/usr/local/bin,如果有,
使用gunzip时加上绝对路径。
Q: 成功安装了gcc,在编译软件时出错"can't find gcc"。
A: 最大的可能就是gcc的执行目录没有在用户当前的搜索路径PATH中。按照本
文第4步讲述的方法去做。
Q: 怎么安装使用c++编译器 [added:1999/10/24]
A: gcc提供了g++作为c++的替代,一般还要使用g++的库来支持,下载针对你的OS
版本的libstdc++包,然后安装。
安装完毕,要设置LD_LIBRARY_PATH环境变量,让libstdc++库能被其它程序利用
$LD_LIBRARY_PATH=/usr/local/lib
$export LD_LIBRARY_PATH
I am a new man to solaris and get some contents from website to config the gcc on solaris as follows:
/etc/profile是一个全局的环境变量设置,只要登陆系统的用户都会执行里面的ENV环境变量设置
~/.kshrc是在用户的主目录下面的,每次执行KSH下面的子shell的时候,都会执行这里面的ENV环境变量设置
~/.dtprofile是在用户的主目录下面的,在这里设置你进入CDE时的一些变量设置,如果用户没有通过CDE进入过系统,那么将不会产生这个文件 只有用户曾经用CDE进入过系统后就会自动生成一个.dtprofile文件,然后还可以对里边的变量进行设置
所以我的环境变量的设置是在/etc/profile中的
PATH=/usr/sbin:/usr/bin:/sbin:/usr/ucb:/usr/local/bin:/usr/ccs/bin
LD_LIBRARY_PATH=/usr/local/lib
第一行是一些命令的路径
第二行是在用GCC/G++调试程序的时候使用到的库文件路径
由于Solaris在安装后没有GCC/GDB的调试工具,所以必须手动安装,我下载了些以下的安装包,然后ftp到我的虚拟机器上,安装步骤如下
From the website we can download the following packages:
http://www.sunfreeware.com/programlistintel10.html#db4
gunzip expat-1.95.5-sol10-intel-local.gz
gunzip gdb-6.6-sol10-x86-local.gz
gunzip libiconv-1.11-sol10-x86-local.gz
gunzip gcc-3.4.6-sol10-x86-local.gz
gunzip libgcc-3.4.6-sol10-x86-local.gz
gunzip ncurses-5.6-sol10-x86-local.gz
pkgadd -d expat-1.95.5-sol10-intel-local
pkgadd -d gdb-6.6-sol10-x86-local
pkgadd -d libiconv-1.11-sol10-x86-local
pkgadd -d gcc-3.4.6-sol10-x86-local
pkgadd -d libgcc-3.4.6-sol10-x86-local
pkgadd -d ncurses-5.6-sol10-x86-local
首先是解压,然后是利用solaris安装包的命令,安装了包体
在这里再说个卸载包的命令:pkgrm
其实有个包可以不安装的,就是因为没有设置LD_LIBRARY_PATH这个变量,没有找到libstdc++.so.6,所以我就误认为没有装 libgcc-3.4.6-sol10-x86-local 这个包,重复安装了,还是没有出什么大的问题,但是一定要设置上面所说的那个变量,否则在运行c程序的时候会抱错
以上就是偶安装gcc/gdb的一个简单的过程,其中还有一些ftp的操作,主要的还是ftpd文件夹下的ftpusers中的一些说明
or
1.打开左上角菜单“系统” - “系统管理” - “Package Manager”。
2. 在工具栏下方的“Search”文本框中输入:SUNWgcc,回车。勾选下方列表中出现的SUNWgcc包,点击工具栏中的“Install /Update”按钮。
3. 出现 Install/Update Confirmation 提示窗口,查看包依赖和下载信息,点击“Next”按钮,开始下载文件,并自动进行安装。
在package manager里面输入gcc,可以看到有几个跟gcc相关的包,然后安装就行了。
gcc和gcc-dev应该是必须的好像
到这个网站http://www.sunfreeware.com/programlistintel10.html下载libiconv-1.11-sol10-x86-local.gz及gcc-3.4.6-sol10-x86-local.gz的安装包,解压缩用pkgadd -d安装.
#gunzip libiconv-1.11-sol10-x86-local.gz
#pkgadd –d libiconv-1.11-sol10-x86-local
#gunzip gcc-3.4.6-sol10-x86-local.gz
gcc -o hello hello.c
collect2: ld terminado con la señal 9 [Killed]
ld.so.1: ld: fatal: libld.so.4: version `SUNWprivate_4.2' not found (required by file /usr/bin/ld)
ld.so.1: ld: fatal: libld.so.4: open failed: No such file or directory
ld.so.1: ld: fatal: relocation error: file /usr/bin/ld: symbol ld32_main: referenced symbol not found
Running 'pkg install SUNWtoo' to fix the above problem
Or pfexec pkg install gcc-dev
You Can also see:
http://www.lupaworld.com/bbs/thread-22938-1-13.html
Solaris 安装GCC编译器
GCC是GNU组织的免费C编译器,Linux的很多发布缺省安装的就是这种。很多流行
的自由软件原代码基本都能在GCC编译器下编译运行。
虽然GCC有很多平台(操作系统)的版本,一般商业UNIX系统是不安装GCC的,要想在
这些操作系统上使用GCC,就必须自己动手安装。
下面主要介绍在SUN Solaris操作系统中获取GCC,安装和调试步骤。
1 取得针对操作系统和操作系统版本保持一致的GCC软件
如果你要在Solaris 2.5.1上使用GCC,要取得相映的GCC
ftp://ftp.cdit.edu.cn/pub/unix/solaris/sparc25/gcc-2.7.2.1.gz
2 解压缩
.gz表示是这是一个经过GZIP压缩过的文件。需要用gzip/gunzip软件首先
解压缩。
$ gunzip gcc-2.7.2.1.gz
3 安装
解压缩之后的就是安装包。在solaris操作系统中安装包有一套专门的命令和程序
#pkgadd -d ./gcc-2.7.2.1
在接下来的安装中,会有一个交互性安装过程。
4 调试
以gcc-2.7.2.1为例,GCC缺省安装的路径为/opt/GCC2721,这个路径可能不在
用户的PATH变量表示的范围内,所以需要对PATH变量更新,方便使用GCC。
对使用csh的用户:
% setenv PATH=$PATH:/opt/GCC2721/bin
对使用sh的用户:
$ PATH=$PATH:/opt/GCC2721/bin
$ export PATH
如果不想每次使用GCC都要更新PATH环境变量,可以将以上内容写在用户初始文件
中:
对csh用户: 写在用户主目录下的.cshrc文件中
对sh用户:写在用户主目录下的.profile文件中
5 常见问题
Q:解压缩gcc-version.gz文件时,提示"gunzip 没找到"
A:有可能是你没有事先安装gzip/gunzip软件,首先下载gzip for 相应OS,然后
安装。
还有可能是gzip/gunzip没在PATH搜索路径中,查看/usr/local/bin,如果有,
使用gunzip时加上绝对路径。
Q: 成功安装了gcc,在编译软件时出错"can't find gcc"。
A: 最大的可能就是gcc的执行目录没有在用户当前的搜索路径PATH中。按照本
文第4步讲述的方法去做。
Q: 怎么安装使用c++编译器 [added:1999/10/24]
A: gcc提供了g++作为c++的替代,一般还要使用g++的库来支持,下载针对你的OS
版本的libstdc++包,然后安装。
安装完毕,要设置LD_LIBRARY_PATH环境变量,让libstdc++库能被其它程序利用
$LD_LIBRARY_PATH=/usr/local/lib
$export LD_LIBRARY_PATH