分页: 1 / 2

编译语言的安装

发表于 : 2009-07-26 9:17
syfnet
我的一个程序是用c语言编写的,要在ubuntu中进行安装,总是失败,据分析可能是c语言相关的软件包没有安装完全,有什么方法可以将相关的一次性安装全,而不用在新里得里不停的点。

Re: 编译语言的安装

发表于 : 2009-07-26 21:03
wangdu2002
看右上角的wiki,找到Qref,一键安装GNU工具键。

Re: 编译语言的安装

发表于 : 2009-07-27 9:53
syfnet
wangdu2002 写了:看右上角的wiki,找到Qref,一键安装GNU工具键。
麻烦能不能说具体点,点了半天没找到。

Re: 编译语言的安装

发表于 : 2009-07-28 11:48
syfnet
:em20

找不到

Re: 编译语言的安装

发表于 : 2009-07-28 14:40
foolegg

代码: 全选

sudo apt-get install build-essential

Re: 编译语言的安装

发表于 : 2009-07-28 17:16
syfnet
build-essential 好像不是装全部的软件包。

我的情况是这样:有些软件是不同语言编写的有的需要gcc,有的需要g77,我对linux不熟悉,但硬盘大,我不介意全部安装,只要保证我的软件先运行起来。编译软件的时候总是显示缺这少那,所以如果能够一键把所有相关的解释语言都能安装估计可以解决问题了。

另外,我在redhat、redflag完全安装下都可以编译,但这两个系统都没ubuntu好用,所以还是在ubuntu中操作,二楼的能不能稍微详细的指导一下。谢谢了

Re: 编译语言的安装

发表于 : 2009-07-28 19:20
foolegg
解释语言?要是lisp之类的话,linux下的选择可不少
common lisp
elisp
....
要再算上Scheme,那就更多了
你狠一点可以干脆装一个gnome-devel,编译一般的东西应该是没问题了

Re: 编译语言的安装

发表于 : 2009-07-29 9:08
syfnet
gnome-devel已安装,但是在编译的时候还是出现问题,显示以下命令找不到:
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... f95

Re: 编译语言的安装

发表于 : 2009-07-29 9:43
foolegg
就那么几个了,你一个一个手动装吧……

Re: 编译语言的安装

发表于 : 2009-07-29 9:55
syfnet
装g77就遇到问题,说需要lib2c0-dev,但是ubuntu说lib2c0-dev将不会被安装,无语!!

Re: 编译语言的安装

发表于 : 2009-07-29 9:59
upsuper
syfnet 写了:gnome-devel已安装,但是在编译的时候还是出现问题,显示以下命令找不到:
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... f95
没有在这里失败退出标示找到了,应该是f95可以被使用。
不要纠结与g77,那个已经过时了,ubuntu没有这个包了
一般来说同样用途只要找到一个就可以用了。
如果后面失败,你可以尝试在最后失败的一段连续的no当中找一个可以装的装上任意一个就可以了

Re: 编译语言的安装

发表于 : 2009-07-29 10:26
syfnet
没有在这里失败退出标示找到了,应该是f95可以被使用。
不要纠结与g77,那个已经过时了,ubuntu没有这个包了
一般来说同样用途只要找到一个就可以用了。
如果后面失败,你可以尝试在最后失败的一段连续的no当中找一个可以装的装上任意一个就可以了
说的很有道理。也有人建议把g77换成gfortran或g95,我也换了,但后面这一串no,我就不知道怎么办好了,比如f77,我在新里得搜到的也不能安装 :em20

Re: 编译语言的安装

发表于 : 2009-07-29 11:21
upsuper
syfnet 写了:
没有在这里失败退出标示找到了,应该是f95可以被使用。
不要纠结与g77,那个已经过时了,ubuntu没有这个包了
一般来说同样用途只要找到一个就可以用了。
如果后面失败,你可以尝试在最后失败的一段连续的no当中找一个可以装的装上任意一个就可以了
说的很有道理。也有人建议把g77换成gfortran或g95,我也换了,但后面这一串no,我就不知道怎么办好了,比如f77,我在新里得搜到的也不能安装 :em20
不要怕no,我说了只要没有出错跳出no是无所谓的
你可以把整个configure结束后的所有输出贴出来看看

Re: 编译语言的安装

发表于 : 2009-07-30 10:46
syfnet
把整个make的过程贴出来,麻烦帮忙看看。
ubuntu:~/mydoc/dock6_m/install# make install
Starting installation of
DOCK v6.3
at 2009年 07月 30日 星期四 11:09:12 CST.

cd ../src && make install
make[1]: 正在进入目录 `/root/mydoc/dock6_m/src'
cd dock && make install
make[2]: 正在进入目录 `/root/mydoc/dock6_m/src/dock'
g++ -c -O2 -o amber_typer.o amber_typer.cpp
g++ -c -O2 -o base_grid.o base_grid.cpp
base_grid.cpp: In member function ‘void Base_Grid::read_header(std::string)’:
base_grid.cpp:38: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
base_grid.cpp:39: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
base_grid.cpp:40: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
base_grid.cpp:41: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
g++ -c -O2 -o base_mpi.o base_mpi.cpp
g++ -c -O2 -o base_score.o base_score.cpp
g++ -c -O2 -o conf_gen.o conf_gen.cpp
g++ -c -O2 -o dock.o dock.cpp
dock.cpp: In function ‘int main(int, char**)’:
dock.cpp:86: 警告: 忽略声明有 warn_unused_result 属性的‘FILE* freopen(const char*, const char*, FILE*)’的返回值
g++ -c -O2 -o dockmol.o dockmol.cpp
g++ -c -O2 -o grid.o grid.cpp
grid.cpp: In member function ‘void Bump_Grid::read_bump_grid(std::string)’:
grid.cpp:58: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:59: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:60: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:61: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:64: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp: In member function ‘void Contact_Grid::read_contact_grid(std::string)’:
grid.cpp:118: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:120: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp: In member function ‘void Energy_Grid::read_energy_grid(std::string)’:
grid.cpp:174: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:175: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:176: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:177: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:183: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:184: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp:185: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
grid.cpp: In member function ‘void GB_Grid::read_gb_grid(std::string)’:
grid.cpp:241: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
grid.cpp:242: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
grid.cpp:246: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
grid.cpp:285: 警告: 忽略声明有 warn_unused_result 属性的‘int fscanf(FILE*, const char*, ...)’的返回值
grid.cpp: In member function ‘void SA_Grid::read_sa_grid(std::string)’:
grid.cpp:339: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
grid.cpp:342: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
grid.cpp:346: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
grid.cpp:383: 警告: 忽略声明有 warn_unused_result 属性的‘int fscanf(FILE*, const char*, ...)’的返回值
grid.cpp:387: 警告: 忽略声明有 warn_unused_result 属性的‘int fscanf(FILE*, const char*, ...)’的返回值
grid.cpp:413: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
grid.cpp:416: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
grid.cpp:424: 警告: 忽略声明有 warn_unused_result 属性的‘int fscanf(FILE*, const char*, ...)’的返回值
grid.cpp:430: 警告: 忽略声明有 warn_unused_result 属性的‘int fscanf(FILE*, const char*, ...)’的返回值
g++ -c -O2 -o library_file.o library_file.cpp
g++ -c -O2 -o master_score.o master_score.cpp
g++ -c -O2 -o orient.o orient.cpp
orient.cpp: In member function ‘void Orient::read_chem_match_tbl()’:
orient.cpp:1532: 警告: 忽略声明有 warn_unused_result 属性的‘int fscanf(FILE*, const char*, ...)’的返回值
g++ -c -O2 -o score.o score.cpp
g++ -c -O2 -o simplex.o simplex.cpp
g++ -c -O2 -o sphere.o sphere.cpp
g++ -c -O2 -o score_solvent.o score_solvent.cpp
score_solvent.cpp: In member function ‘float GB_Pairwise::get_gb_solvation_score(DOCKMol&)’:
score_solvent.cpp:281: 警告: 忽略声明有 warn_unused_result 属性的‘int fscanf(FILE*, const char*, ...)’的返回值
g++ -c -O2 -o score_amber.o score_amber.cpp
g++ -c -O2 -o sasa.o sasa.cpp
g++ -c -O2 -o score_chemgrid.o score_chemgrid.cpp
score_chemgrid.cpp: In member function ‘void Shape_Filter::read_shape_grid()’:
score_chemgrid.cpp:162: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
score_chemgrid.cpp: In member function ‘void Chemgrid_Grid::read_chm_grid()’:
score_chemgrid.cpp:518: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:519: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:520: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:521: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:523: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:524: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:525: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:531: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:532: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:533: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp: In member function ‘void Chemgrid_Grid::read_odm_grid()’:
score_chemgrid.cpp:560: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:561: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:562: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:563: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:570: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:571: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp: In member function ‘void Chemgrid_Grid::read_phi_grid()’:
score_chemgrid.cpp:602: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:603: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:604: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:605: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp:609: 警告: 忽略声明有 warn_unused_result 属性的‘size_t fread(void*, size_t, size_t, FILE*)’的返回值
score_chemgrid.cpp: In member function ‘void Chemgrid_Grid::read_solv_grid()’:
score_chemgrid.cpp:680: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
score_chemgrid.cpp:690: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
score_chemgrid.cpp: In member function ‘void Chemgrid_Grid::read_rdsol_grid()’:
score_chemgrid.cpp:766: 警告: 忽略声明有 warn_unused_result 属性的‘char* fgets(char*, int, FILE*)’的返回值
g++ -c -O2 -o utils.o utils.cpp
g++ -c -O2 -o trace.o trace.cpp
cd nab && make all
make[3]: 正在进入目录 `/root/mydoc/dock6_m/src/dock/nab'
gcc -c -O3 -D_ANSI_SOURCE -DDOCK -Dflex sff.c
gcc -c -O2 -o traceback.o traceback.c
traceback.c: 在函数‘rt_errormsg’中:
traceback.c:14: 警告: 格式字符串不是一个字面字符串而且没有待格式化的实参
gcc -c -O2 -o select_atoms.o select_atoms.c
gcc -c -O2 -o memutil.o memutil.c
memutil.c: 在函数‘vector’中:
memutil.c:31: 警告: 格式‘%lld’需要类型‘long long int’,但实参 3 的类型为‘size_t’
gcc -c -O2 -o reslib.o reslib.c
gcc -c -O2 -o jacobi.o jacobi.c
gcc -c -O2 -o molutil.o molutil.c
molutil.c: 在函数‘get’中:
molutil.c:111: 警告: 格式‘%ld’需要类型‘long int’,但实参 3 的类型为‘size_t’
gcc -c -O2 -o chirvol.o chirvol.c
gcc -c -O2 -o regexp.o regexp.c
gcc -c -O2 -o binpos.o binpos.c
gcc -c -O2 -o time.o time.c
gcc -c -O3 -D_ANSI_SOURCE rand2.c
gcc -c -O3 -D_ANSI_SOURCE conjgrad.c
gcc -c -O2 -o database.o database.c
database.c: 在函数‘zbDBReadLine’中:
database.c:686: 警告: 忽略声明有 warn_unused_result 属性的‘fgets’的返回值
gcc -c -O2 -o tleap.o tleap.c
tleap.c: 在函数‘tleap’中:
tleap.c:41: 警告: 忽略声明有 warn_unused_result 属性的‘system’的返回值
ar rv nab.a molio.o prm.o sff.o traceback.o select_atoms.o memutil.o reslib.o jacobi.o molutil.o chirvol.o regexp.o binpos.o time.o rand2.o conjgrad.o database.o tleap.o
ar: creating nab.a
a - molio.o
a - prm.o
a - sff.o
a - traceback.o
a - select_atoms.o
a - memutil.o
a - reslib.o
a - jacobi.o
a - molutil.o
a - chirvol.o
a - regexp.o
a - binpos.o
a - time.o
a - rand2.o
a - conjgrad.o
a - database.o
a - tleap.o
ranlib nab.a
make[3]:正在离开目录 `/root/mydoc/dock6_m/src/dock/nab'
g++ -O2 -o dock6 amber_typer.o base_grid.o base_mpi.o base_score.o conf_gen.o dock.o dockmol.o grid.o library_file.o master_score.o orient.o score.o simplex.o sphere.o score_solvent.o score_amber.o sasa.o score_chemgrid.o utils.o trace.o nab/*.o -lm -lpthread
mv dock6 ../../bin
make[2]:正在离开目录 `/root/mydoc/dock6_m/src/dock'
cd accessories && make install
make[2]: 正在进入目录 `/root/mydoc/dock6_m/src/accessories'
g77 -c -O2 -fno-automatic -fno-second-underscore -o showbox.o showbox.f
make[2]: g77:命令未找到
make[2]: *** [showbox.o] 错误 127
make[2]:正在离开目录 `/root/mydoc/dock6_m/src/accessories'
make[1]: *** [utils] 错误 2
make[1]:正在离开目录 `/root/mydoc/dock6_m/src'
make: *** [install] 错误 2


这是./configure 生成的文件:
# DOCK configuration file for GNU compilers.
# This configuration file can be used on many platforms:
# Linux, Macintosh OS X, Windows with Cygwin, etc.
# If g77 is not available then change FC below to gfortran or g95.

# CC is the C compiler
# CXX is the C++ compiler
# CFLAGS is the flags for the C and C++ compilers
# FC is the Fortran compiler
# FFLAGS is the flags for the Fortran compiler
# LIBS is the flags for the linker
# LINK_WITHOUT_FORTRAN_MAIN is the flag for linking without Fortran's main
# LOAD is the command to invoke the linker
# DOCK_SUFFIX is the suffix for the dock executable

CC= gcc
CXX= g++
CFLAGS= -O2
FC= g77
FFLAGS= -O2 -fno-automatic -fno-second-underscore
LIBS= -lm -lpthread
LINK_WITHOUT_FORTRAN_MAIN=
LOAD= g++
DOCK_SUFFIX=

# Macro definitions for NAB
# AR is the library archiver
# LEX is the lexical analyzer generator
# OCFLAGS is the flags for the C compilers with high optimization
# RANLIB is the library index generator
AR= ar rv
LEX= flex
OCFLAGS= -O3 -D_ANSI_SOURCE
RANLIB= ranlib
DOCKHOME=/root/mydoc/dock6_m
# Created at 2009年 07月 30日 星期四 10:47:11 CST via ./configure gnu


我把config文件中的g77改成了gfortran,重新make则显示:命令yacc未找到。

Re: 编译语言的安装

发表于 : 2009-07-30 11:30
foolegg
yacc?安装bison试试
用到yacc这种东西,楼主要装的程序似乎很强大……或者超古老 - -