发现在MLfinal 下安装什么软件都出错?
比如安装fish-0.1.1.tar.gz, ./configure通过,但是make就出现一堆问题:#make
makeall-recursive
make: Entering directory `/home/yuy2/fish-0.1.1'
Making all in fish
make: Entering directory `/home/yuy2/fish-0.1.1/fish'
Making all in docs
make: Entering directory `/home/yuy2/fish-0.1.1/fish/docs'
Making all in en
make: Entering directory `/home/yuy2/fish-0.1.1/fish/docs/en'
make: Nothing to be done for `all'.
make: Leaving directory `/home/yuy2/fish-0.1.1/fish/docs/en'
make: Entering directory `/home/yuy2/fish-0.1.1/fish/docs'
make: Nothing to be done for `all-am'.
make: Leaving directory `/home/yuy2/fish-0.1.1/fish/docs'
make: Leaving directory `/home/yuy2/fish-0.1.1/fish/docs'
make: Entering directory `/home/yuy2/fish-0.1.1/fish'
g++ -DHAVE_CONFIG_H -I. -I. -I..-I/usr/include/rpm -O2 -fno-exceptions -fno
-rtti -fno-check-new -c versionstring.cpp
In file included from versionstring.cpp:19:
versionstring.h:27: error: expected class-name before '{' token
versionstring.h:31: error: ISO C++ forbids declaration of `string' with no type
versionstring.h:32: error: ISO C++ forbids declaration of `string' with no type
versionstring.h:32: error: ISO C++ forbids declaration of `string' with no type
versionstring.cpp: In constructor `VersionString::VersionString()':
versionstring.cpp:31: error: class `VersionString' does not have any field named
`string'
versionstring.cpp: In constructor `VersionString::VersionString(const char*)':
versionstring.cpp:43: error: class `VersionString' does not have any field named
`string'
versionstring.cpp: At global scope:
versionstring.cpp:55: error: expected `,' or `...' before "initializer"
versionstring.cpp:55: error: ISO C++ forbids declaration of `string' with no typ
e
versionstring.cpp: In constructor `VersionString::VersionString(int)':
versionstring.cpp:55: error: class `VersionString' does not have any field named
`string'
versionstring.cpp:55: error: `initializer' undeclared (first use this function)
versionstring.cpp:55: error: (Each undeclared identifier is reported only once f
or each function it appears in.)
versionstring.cpp: At global scope:
versionstring.cpp:67: error: expected `,' or `...' before "version"
versionstring.cpp:67: error: ISO C++ forbids declaration of `string' with no typ
e
versionstring.cpp:67: error: redefinition of `VersionString::VersionString(int)'
versionstring.cpp:55: error: `VersionString::VersionString(int)' previously defi
ned here
versionstring.cpp: In constructor `VersionString::VersionString(int)':
versionstring.cpp:67: error: class `VersionString' does not have any field named
`string'
versionstring.cpp:67: error: `version' undeclared (first use this function)
versionstring.cpp:67: error: `release' undeclared (first use this function)
versionstring.cpp: In member function `int16 VersionString::compareVersionString
s(const VersionString&, const VersionString&) const':
versionstring.cpp:176: error: `string' undeclared (first use this function)
versionstring.cpp:176: error: expected `;' before "epochString1"
versionstring.cpp:177: error: expected `;' before "versionString1"
versionstring.cpp:178: error: expected `;' before "releaseString1"
versionstring.cpp:184: error: 'const class VersionString' has no member named 'l
ength'
versionstring.cpp:186: error: no match for 'operator[]' in 'version1'
versionstring.cpp:194: error: `epochString1' undeclared (first use this function
)
versionstring.cpp:194: error: 'const class VersionString' has no member named 's
ubstr'
versionstring.cpp:197: error: 'const class VersionString' has no member named 'l
ength'
versionstring.cpp:199: error: no match for 'operator[]' in 'version1'
versionstring.cpp:205: error: `versionString1' undeclared (first use this functi
on)
versionstring.cpp:205: error: 'const class VersionString' has no member named 's
ubstr'
versionstring.cpp:207: error: 'const class VersionString' has no member named 'l
ength'
versionstring.cpp:209: error: `releaseString1' undeclared (first use this functi
on)
versionstring.cpp:209: error: 'const class VersionString' has no member named 's
ubstr'
versionstring.cpp:209: error: 'const class VersionString' has no member named 'l
ength'
versionstring.cpp:212: error: 'const class VersionString' has no member named 'l
ength'
versionstring.cpp:214: error: no match for 'operator[]' in 'version2'
versionstring.cpp:222: error: `epochString2' undeclared (first use this function
)
versionstring.cpp:222: error: 'const class VersionString' has no member named 's
ubstr'
versionstring.cpp:225: error: 'const class VersionString' has no member named 'length'
versionstring.cpp:227: error: no match for 'operator[]' in 'version2'
versionstring.cpp:233: error: `versionString2' undeclared (first use this function)
versionstring.cpp:233: error: 'const class VersionString' has no member named 'substr'
versionstring.cpp:235: error: 'const class VersionString' has no member named 'length'
versionstring.cpp:237: error: `releaseString2' undeclared (first use this function)
versionstring.cpp:237: error: 'const class VersionString' has no member named 'substr'
versionstring.cpp:237: error: 'const class VersionString' has no member named 'length'
make: *** 错误 1
make: Leaving directory `/home/yuy2/fish-0.1.1/fish'
make: *** 错误 1
make: Leaving directory `/home/yuy2/fish-0.1.1/fish'
make: *** 错误 1
make: Leaving directory `/home/yuy2/fish-0.1.1'
make: *** 错误 2 是这个软件本身的错误。你这样说话太不负责任了。 很多软件都需要打补丁,特别是古老的软件。 我装好多软件不出错的。
出错很多时间也不是系统的问题。
找找问题的原因,就可以搞定。
实在搞不定,就只好上网找找其它版本了。 我下载这个软件是想安装其它的软件,因为我安装别的软件一样出错。难道能在redhat下用的在别的linux下不能用?那出那么多的linux有什么用?这不是浪费资源吗?反复重作相同的事,有必要吗?还不如专攻一个,多开发应用软得件,这样才有出路。这也是微软的方法。如果没有应用前景,操作系统作漂亮了,也会消失。 最起码普通老百姓不会用。 我想是因为这个代码太古老,已经不能在新的编译器和库文件里编译了。
我在 RedHat 里也经常遇到。一般找最新版的代码就可以了。
不然就把 ML 的 gcc 和其他的有关的 devel 文件降级。
估计 gcc 3.2 以前可以编译吧?
ML 的 bmp-mp4 插件就遇到了这种问题,升级到了新的代码就没事了。
还有就是什么叫浪费资源?难道现在许多软件在 Win95 里可以运行,到 WinXP 里就不能用就不叫浪费资源?!
说话前先过过脑子。 老软件经常不能在新环境下编译。
页:
[1]