今天运行一个例程,出现了/lib64/libc.so.6: version `GLIBC_2.14' not found问题,把解决过程简单记录一下。
系统环境: centos6.2
现象:
[root@localhost nvEncodeApp]# ./nvEncoder
./nvEncoder: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./nvEncoder)
好吧,人家需要的是'GLIBC_2.14',先查看一下当前系统glibc的情况:
[root@localhost build]# 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
1. glibc下载
从http://www.gnu.org/software/libc/ 下载源代码。我下载的版本是2.14,链接地址是http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz。
2. 安装
因为glibc库使用广泛,为了避免污染当前系统环境,最好自定义安装目录,使用时定义一下环境变量就行了。具体步骤如下:
[root@localhost ~]# tar xvf glibc-2.14.tar.gz
[root@localhost ~]# cd glibc-2.14
[root@localhost glibc-2.14]# mkdir build
[root@localhost glibc-2.14]# cd ./build
[root@localhost build]# ../configure --prefix=/opt/glibc-2.14
[root@localhost build]# make -j4
[root@localhost build]# make install
[root@localhost nvEncodeApp]# export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
[root@localhost nvEncodeApp]# ./nvEncoder
Error! Command line paramters -outFile is required in order to run this application
[ NVENC 3.0 Command Line Encoder]
Usage: nvEncoder -configFile=config.txt -numFramesToEncode=numFramesToEncode -outFile=output.264 <optional params>
> Encoder Test Application Parameters
[maxNumberEncoders=n] n=number of encoders to use when multiple GPUs are detected
> Optional Parameters to be Set from ConfigFile Or from Command Line
[frameNum] Start Frame (within input file) [bitrate] Video Bitrate of output file (eg: n=6000000 for 6 mbps) [maxbitrate] Video Bitrate of output file (eg: n=6000000 for 6 mbps) [rcMode] Rate Control Mode (0=Constant QP, 1=VBR, 2=CBR, 4=VBR_MinQP, 8=Two-Pass CBR [enableInitialRCQP] Enable Initial Frame RC QP mode setting [initialQPI] Initial Frame QP for Intra Frame [initialQPP] Initial Frame QP for Inter P-Frame [initialQPB] Initial Frame QP for Inter B-Frame [frameRateNum] Frame Rate numerator (default = 30000) (numerator/denominator = 29.97fps) [frameRateDen] Frame Rate denominator (default = 1001) [gopLength] Specify GOP length (N=distance between I-Frames) [profile] H.264 Codec Profile (n=profile #) 66 = (Baseline)
77 = (Main Profile)
100 = (High Profile)
[numSlices] Specify Number of Slices to be encoded per Frame
[preset] Specify the encoding preset
-1 = No preset
0 = NV_ENC_PRESET_DEFAULT
1 = NV_ENC_PRESET_LOW_LATENCY_DEFAULT
2 = NV_ENC_PRESET_HP
3 = NV_ENC_PRESET_HQ
4 = NV_ENC_PRESET_BD
5 = NV_ENC_PRESET_LOW_LATENCY_HQ
6 = NV_ENC_PRESET_LOW_LATENCY_HP
[numBFrames] Number fo B frames between P successive frames
[syncMode] Run NvEnc in sync Mode if set
[interfaceType] Run NvEnc at specified Interface
0 = (DX9)
1 = (DX11)
2 = (cuda)
3 = (DX10)
[vbvBufferSize] HRD buffer size. For low latancy it should be less or equal to single frame size
[vbvInitialDelay] Initial HRD bufffer Fullness
[fieldMode] Field Encoding Mode (0=Frame, 1=Field) [level]) Codec Level value [inFile]) InputClip [enablePtd]) if set picture type decision will be taken by EncodeAPI [reconfigFile] Reconfiguration will occur after the frameNum mentioned in reconfig file with specified param