![]() |
LINUX |
glibcのリビルド 4 Xen
*glibcをリビルドすることでxenのtls警告に対応します
*xenを起動するとtlsをdisabledにするよう、警告がでる場合があります
*tlsをdisabledにすると他に影響を与える場合があります
*i386.rpmは"-mno-tls-direct-seg-refs"オプション付きでbuildされています
*make はメンテナンスマシンで行っています
**以降はコメントです
*ソースの取得、削除は省略します
*エディタ、ファイラーの操作は省略します
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :glibc-2.5-42.el5_4.3.src.rpm (http://mirrors.kernel.org/centos/) |
参照ファイル
リビルド環境| :OS | CentOS 5.4 |
| :selinux | disabled |
| :kernel | kernel-2.6.18-164.11.1.el5 |
| :glibc | glibc-2.5-42.el5_4.3 |
| :インストール先 | |
| :作業 | /usr/src |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
*メンテナンスは一般ユーザから行います
System clockの設定*"system clock"で UTC を使うように設定します
*マシンの再起動
:/etc/sysconfig/clock
ZONE="Asia/Tokyo" UTC=true ARC=false |
glibc-2.5-42.el5_4.3
glibcのリビルド*/usr/srcでソースファイルを展開します
# useradd mockbuild # cd /usr/src # mkdir glibc # rpm -ivh glibc-2.5-42.el5_4.3.src.rpm # cd redhat/SPECS *glibc.specファイルの修正 (下記)
# vi glibc.spec
# rpmbuild -bb --target i686 --clean --rmsource \ --define 'dist .el5_4' glibc.spec *コンパイルが修了するまで1GHz-CPUで3時間程度かかります # mv glibc.spec /usr/src/glibc # cd ../RPMS/i686 *作成されたパッケージ # mv *.rpm /usr/src/glibc *アップデート # cd /usr/src/glibc # rpm -Uvh --force glibc-2.5-42.el5_4.3.i686.rpm # userdel -r mockbuild |
:glibc.specの修正
*ix86,i686に"no-tls-direct-seg-refs"オプションを与えてコンパイルします
|
*省略
%build
GCC=gcc
GXX=g++
%ifarch %{ix86}
BuildFlags="-march=%{_target_cpu} -mtune=generic -mno-tls-direct-seg-refs"
%endif
%ifarch i686
BuildFlags="-march=i686 -mtune=generic -mno-tls-direct-seg-refs"
%endif
%ifarch i386
BuildFlags="$BuildFlags -mno-tls-direct-seg-refs"
%endif
*省略 |
![]() |
Copyright(c) 528p.com All Rights Reserved. |

