centos aclocal,centos sudo权限

SUSE Linux 11下glibc依赖问题

0.以下在系统CentOS 6.3 x86_64上操作

1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:

[cpp]view plaincopy

[ghui@StuOSbin]$pwd

/var/VMdisks/cross/mingw32/bin

[ghui@StuOSbin]$ls

lreleaseQtCore4.dllQtNetwork4.dllQtSql4.dllQtXml4.dll

mocQtDeclarative4.dllQtOpenGL4.dllQtSvg4.dllrcc

phonon4.dllQtGui4.dllQtScript4.dllQtTest4.dlluic

qmakeQtMultimedia4.dllQtScriptTools4.dllQtWebKit4.dll

[ghui@StuOSbin]$./qmake

./qmake:/lib64/libc.so.6:version`GLIBC_2.14'notfound(requiredby./qmake)

2.查看系统glibc支持的版本:

[cpp]view plaincopy

[ghui@StuOSbin]$strings/lib64/libc.so.6|grepGLIBC_

GLIBC_2.2.5

GLIBC_2.2.6

GLIBC_2.3

GLIBC_2.3.2

GLIBC_2.3.3

GLIBC_2.3.4

GLIBC_2.4

GLIBC_2.5

GLIBC_2.6

GLIBC_2.7

GLIBC_2.8

GLIBC_2.9

GLIBC_2.10

GLIBC_2.11

GLIBC_2.12

GLIBC_PRIVATE

[cpp]view plaincopy

[ghui@StuOSbin]$rpm-qa|grepglibc

glibc-static-2.12-1.80.el6_3.6.x86_64

glibc-headers-2.12-1.80.el6_3.6.x86_64

glibc-common-2.12-1.80.el6_3.6.x86_64

glibc-devel-2.12-1.80.el6_3.6.x86_64

glibc-static-2.12-1.80.el6_3.6.i686

glibc-devel-2.12-1.80.el6_3.6.i686

glibc-2.12-1.80.el6_3.6.i686

glibc-2.12-1.80.el6_3.6.x86_64

3.可以看到最高只支持2.12版本,所以考虑编译解决这个问题:

a.到下载最新版本,我这里下载了glibc-2.14.tar.xz这个版本,解压到任意目录准备编译

b.这里解压到/var/VMdisks/glibc-2.14/

[cpp]view plaincopy

[ghui@StuOSbin]$cd/var/VMdisks/glibc-2.14/

[ghui@StuOSglibc-2.14]$pwd

/var/VMdisks/glibc-2.14

[ghui@StuOSglibc-2.14]$ls

abilistconfig.h.inintlREADME.libm

abi-tagsconfig.logioresolv

aclocal.m4config.make.inlibc-abisresource

aoutconfigurelibidnrt

argpconfigure.inlibioRules

assertconformLICENSESscripts

autom4te.cacheCONFORMANCElocalesetjmp

bitsCOPYINGlocaledatashadow

BUGSCOPYING.LIBloginshlib-versions

buildcppflags-iterator.mkmachsignal

CANCEL-FCT-WAIVEcryptMakeconfigsocket

CANCEL-FILE-WAIVEcsuMakefilesoft-fp

catgetsctypeMakefile.instdio-common

ChangeLogdebugMakerulesstdlib

ChangeLog.1direntmallocstreams

ChangeLog.10dlfcnmanualstring

ChangeLog.11elfmathsunrpc

ChangeLog.12extra-lib.mkmiscsysdeps

ChangeLog.13extra-modules.mkNAMESPACEsysvipc

ChangeLog.14FAQNEWStermios

ChangeLog.15FAQ.innistest-skeleton.c

ChangeLog.16gmonNOTEStime

ChangeLog.17gnulibnptltimezone

ChangeLog.2grpnptl_dbtls.make.c

ChangeLog.3gshadownscdversion.h

ChangeLog.4hesiodnssVersions.def

ChangeLog.5hurdo-iterator.mkwcsmbs

ChangeLog.6iconvpowctype

ChangeLog.7iconvdataposixWUR-REPORT

ChangeLog.8includePROJECTS

ChangeLog.9inetpwd

confINSTALLREADME

c.在glibc源码目录建立构建目录,并cd进入构建目录

[cpp]view plaincopy

[ghui@StuOSglibc-2.14]$mkdirbuild

[cpp]view plaincopy

[ghui@StuOSglibc-2.14]$cdbuild

d.运行configure配置,make&& sudo make install

[cpp]view plaincopy

[ghui@StuOSbuild]$../configure--prefix=/opt/glibc-2.14

[ghui@StuOSbuild]$make-j4

[ghui@StuOSbuild]$sudomakeinstall

[sudo]passwordforghui:

4.临时修改环境变量

[cpp]view plaincopy

[ghui@StuOSbin]$exportLD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH

[cpp]view plaincopy

[ghui@StuOSglibc-2.14]$cd/var/VMdisks/cross/mingw32/bin/

[cpp]view plaincopy

[ghui@StuOSbin]$./qmake

Usage:./qmake[mode][options][files]

QMakehastwomodes,onemodeforgeneratingprojectfilesbasedon

someheuristics,andtheotherforgeneratingmakefiles.Normallyyou

shouldn'tneedtospecifyamode,asmakefilegenerationisthedefault

modeforqmake,butyoumayusethistotestqmakeonanexistingproject

...

此时运行正常,问题解决。

By ghui

iomato.dev@Gmail.com

00:10- 2013-01-04

CentOS下如何安装CodeBlocksCentOS下安装CodeBlocks图文详解

一.安装平台说明:

CentOs6.4-i686 gcc-4.4.7

二.下载最新源码:

在此安装的是最新版:Code::Blocks 16.01

三.阅读官方安装说明文档:

通过阅读官方安装说明文档可以获取如下信息:

安装CodeBlocks有如下依赖关系:

Code::Blocks-> xwWidget(> libwxGTK2.8)-> GTK+(> libgtk-x11-2.0)->X

也就是说先要安装X系统,也就是桌面吧,然后安装libgtk-x11-2.0,然后安装libwxGTK2.8,最后再开始源码安装Code::Blocks。

四.按照以上的依赖关系开始依次安装:

1.建立一个目录:

mkdir~/devel//在家目录创建devel目录,此目录名可以随便指定

2.安装GTK+(libgtk-x11-20)库:

yum install gtk+*

3.源码安装wxGTK(libwxGTK2.8)库:

下载wxGTK源码:

注意选择如下源码包,别选错了:

将下载到的源码拷贝到前面创建的目录:~/devel/,然后解压缩:

1 mv./Desktop/wxGTK-2.8.12.tar.gz devel///将桌面wxGTK源码包拷贝到之前建立的工作目录devel

2 cd devel///进入devel目录

3 tar zxvf wxGTK-2.8.12.tar.gz//解压缩源码包

进入wxGTK-2.8.12目录执行如下命令:

mkdir build_gtk2_shared_monolithic_unicode//建立编译目录

cd build_gtk2_shared_monolithic_unicode//进入刚建立的目录

../configure–prefix=/opt/wx/2.8–enable-xrc–enable-monolithic–enable-unicode//执行configure脚本文件

make//开始编译

su//切换到root

make install//开始安装

安装过程如下:

执行以上步骤,可以看到Makefile已经生成,此时就可以make编译了:

make//开始编译

编译完成,开始安装make install:

su root//切换到root用户

make install//开始安装

出现如下信息表示wxGTK库安装完成:

4.以上所有准备工作做完了,现在开始安装Code::Blocks:

同样先将CB源码拷贝到我们之前创建的工作目录:~/devel,然后进入源码目录:

mv../Desktop/codeblocks-16.01.release/.///将codeblocks源码包拷贝到当前目录(devel/)

cd codeblocks.16.01.release///进入源码目录

将wxGTK-2.8.12下的wxwin.m4复制到/usr/share/aclocal:

cp wxwin.m4/usr/share/aclocal//将wxGTK-2.8.12下的wxwin.m4拷贝到/usr/share/aclocal

进入CodeBlocks源码目录,执行./bootstrap:

./bootstrap

开始执行configure脚本:

//注意此处/opt/wx/2.8/bin/wx-config的路径应该是你安装wxGTK的路径

./configure-with-wx-config=/opt/wx/2.8/bin/wx-config

开始编译:make

make//开始编译

切换到root安装:

su root//切换到root用户

make install//开始安装

此时可以看到CodeBlocks已经安装完毕:

五.启动CodeBlocks:

1.通过命令行启动:

以上所有步骤把CodeBlocks安装到了linux系统,但是我们直接启动会出现问题:

原因是找不到libwx_gtk2u-2.8.so.0这个动态链接库。

解决如下:

vim/etc/profile

//加入如下环境变量,加到文件末尾:

//注意此处/opt/wx/2.8/lib的路径应该是你安装wxGTK的路径

export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/opt/wx/2.8/lib

保存后执行:source/etc/profile让配置文件马上生效。

最后命令行启动CodeBlocks成功:

2.通过桌面图标来启动:

默认安装后桌面没有图标,也就无法通过双击启动。此时我们需要创建启动器:

在桌面右键–>CreateLaucher:

填入如下信息,然后点击OK:

此时桌面会产生codeblocks图标,双击即可启动(注意:如果双击启动不了,需重启下系统即可):

六.新建工程测试是否能正常运行:

此时我们编译能成功,但是运行时无法弹出控制台窗口:

原因是CB默认启动用的是xterm,而不是gnome控制台,解决方法如下:Setings–>Environment

此时点击执行按钮时一切正常:

centos6.5安装wps提示缺libc.so.6(GLIBC_2.15)(64bit),怎办

1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:

[ghui@StuOS bin]$ pwd

/var/VMdisks/cross/mingw32/bin

[ghui@StuOS bin]$ ls

lrelease QtCore4.dll QtNetwork4.dll QtSql4.dll QtXml4.dll

moc QtDeclarative4.dll QtOpenGL4.dll QtSvg4.dll rcc

phonon4.dll QtGui4.dll QtScript4.dll QtTest4.dll uic

qmake QtMultimedia4.dll QtScriptTools4.dll QtWebKit4.dll

[ghui@StuOS bin]$./qmake

./qmake:/lib64/libc.so.6: version `GLIBC_2.14' not found(required by./qmake)

2.查看系统glibc支持的版本:

[ghui@StuOS bin]$ strings/lib64/libc.so.6|grep GLIBC_

GLIBC_2.2.5

GLIBC_2.2.6

GLIBC_2.3

GLIBC_2.3.2

GLIBC_2.3.3

GLIBC_2.3.4

GLIBC_2.4

GLIBC_2.5

GLIBC_2.6

GLIBC_2.7

GLIBC_2.8

GLIBC_2.9

GLIBC_2.10

GLIBC_2.11

GLIBC_2.12

GLIBC_PRIVATE

[ghui@StuOS bin]$ rpm-qa|grep glibc

glibc-static-2.12-1.80.el6_3.6.x86_64

glibc-headers-2.12-1.80.el6_3.6.x86_64

glibc-common-2.12-1.80.el6_3.6.x86_64

glibc-devel-2.12-1.80.el6_3.6.x86_64

glibc-static-2.12-1.80.el6_3.6.i686

glibc-devel-2.12-1.80.el6_3.6.i686

glibc-2.12-1.80.el6_3.6.i686

glibc-2.12-1.80.el6_3.6.x86_64

3.可以看到最高只支持2.12版本,所以考虑编译解决这个问题:

a.到下载最新版本,我这里下载了glibc-2.14.tar.xz这个版本,解压到任意目录准备编译

b.这里解压到/var/VMdisks/glibc-2.14/

[ghui@StuOS bin]$ cd/var/VMdisks/glibc-2.14/

[ghui@StuOS glibc-2.14]$ pwd

/var/VMdisks/glibc-2.14

[ghui@StuOS glibc-2.14]$ ls

abilist config.h.in intl README.libm

abi-tags config.log io resolv

aclocal.m4 config.make.in libc-abis resource

aout configure libidn rt

argp configure.in libio Rules

assert conform LICENSES scripts

autom4te.cache CONFORMANCE locale setjmp

bits COPYING localedata shadow

BUGS COPYING.LIB login shlib-versions

build cppflags-iterator.mk mach signal

CANCEL-FCT-WAIVE crypt Makeconfig socket

CANCEL-FILE-WAIVE csu Makefile soft-fp

catgets ctype Makefile.in stdio-common

ChangeLog debug Makerules stdlib

ChangeLog.1 dirent malloc streams

ChangeLog.10 dlfcn manual string

ChangeLog.11 elf math sunrpc

ChangeLog.12 extra-lib.mk misc sysdeps

ChangeLog.13 extra-modules.mk NAMESPACE sysvipc

ChangeLog.14 FAQ NEWS termios

ChangeLog.15 FAQ.in nis test-skeleton.c

ChangeLog.16 gmon NOTES time

ChangeLog.17 gnulib nptl timezone

ChangeLog.2 grp nptl_db tls.make.c

ChangeLog.3 gshadow nscd version.h

ChangeLog.4 hesiod nss Versions.def

ChangeLog.5 hurd o-iterator.mk wcsmbs

ChangeLog.6 iconv po wctype

ChangeLog.7 iconvdata posix WUR-REPORT

ChangeLog.8 include PROJECTS

ChangeLog.9 inet pwd

conf INSTALL README

c.在glibc源码目录建立构建目录,并cd进入构建目录

[ghui@StuOS glibc-2.14]$ mkdir build

[ghui@StuOS glibc-2.14]$ cd build

d.运行configure配置,make&& sudo make install

[ghui@StuOS build]$../configure--prefix=/opt/glibc-2.14

[ghui@StuOS build]$ make-j4

[ghui@StuOS build]$ sudo make install

[sudo] password for ghui:

4.临时修改环境变量

[ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH

[ghui@StuOS glibc-2.14]$ cd/var/VMdisks/cross/mingw32/bin/

[ghui@StuOS bin]$./qmake

Usage:./qmake [mode] [options] [files]

QMake has two modes, one mode for generating project files based on

some heuristics, and the other for generating makefiles. Normally you

shouldn't need to specify a mode, as makefile generation is the default

mode for qmake, but you may use this to test qmake on an existing project

...

阅读剩余
THE END