タグ付けされた質問 「glibc」

glibcは、標準CライブラリのGNUによる実装です。

1
ld-linux.soハックで代替libcを使用します。クリーナーメソッド?
私は非常に古いglibcを備えたレガシーシステムを持っています。これは、膨大なテスト/検証作業を行わなければアップグレードできません。 そのシステム上で新しいプログラム(Java 1.7など)を数回実行する必要がありました。私は、必要なすべてのライブラリをパッケージ化し、chrootでサービスを実行するchrootソリューションを選択しました。 ただし、chrootは非常に制限されているため、LD_LIBRARY_PATHの問題を解決したいと考えています。残念なことに、私はそれlibc.so.6: cannot handle TLS dataを試みるときにエラーを受け取ります。 /lib/ld-linux.so.2chrootからも必要であることがわかりました。これは動作します: LD_LIBRARY_PATH=/home/chroot/lib /home/chroot/lib/ld-linux.so.2 /home/chroot/bin/program ただし、ライブラリのロード元を決定するためにjava検査/proc/self/cmdlineすることにより、私のトリックを阻止します。バイナリの名前が「bin / java」でない場合は失敗します。また、起動時にjava自体が実行されるため、問題がさらに複雑になります。 この作業を行う最後の試みとして、Javaバイナリを16進エディタで開き、文字列/lib/ld-linux.so.2を/home/chroot/ld.so(にシンボリックリンクしましたld-linux.so.2)に置き換えました。 しかし、すべての新しいバイナリのパスをネストされたシステムの絶対パスに書き換えるのは非常に面倒だと誰もが同意すると思います。 カスタムld-linux.so を含むカスタムライブラリパスを使用するよりクリーンな方法を知っている人はいますか?

2
Linuxの「perf record」をlibcおよびlibstdc ++シンボルに対して機能させる方法は?
私が使用しているperf record -gプログラムをプロファイルするのx86-64 Linux上で。libcまたはlibstdc ++のいくつかのシンボルは0、親として:__GI___strcmp_ssse3(libc)およびstrcmp@plt(libstdc ++)などです。(デバッガでこれらのシンボルを実際にブレークして、バックトレースを取得できます。) これらの関数の主要な呼び出し元と、それらが記録されない理由を知りたいです。これは、libcとlibstdc ++にx86_64のフレームポインターがないためですか?そして、実際には、これを回避する方法はありますか?
12 glibc  profiling  perf 

2
GNU Linux(Arch Linux)上のSIGINFOがない
私はアプリケーションを開発していますが、必要に応じていくつかのランタイム統計をコンソールに出力したいと考えています。killすぐに信号が浮かんできました。 WikiでUnixシグナルを読むSIGINFOことは、次の理由で進むべき道のようです。 それはされて意図これらの目的のために シグナルハンドラが実装されていない場合はプロセスを終了しません(逆にSIGUSRx- ここを参照) ただし、の出力を調べるkill -lと、サーバーにこの信号が実装されていないようです。 私の質問は: なぜSIGINFO私のシステムにはないのですか?すべてのGNU Linuxシステムに存在しませんか? この信号を有効にする簡単な方法(つまり、カーネル/ glibc再コンパイルなし)はありますか?ない場合、難しい方法は何ですか? ターゲットプロセスで処理されない場合に副作用を引き起こさない、目的に使用できる代替シグナルは何ですか?(glibcのマニュアルで他の適切な信号を見つけることができなかったので、私はすでに何も想定していません) Linuxメタ情報: Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux 更新:なぜこの信号が条件付きでBSD以外のシステムから除外されるのかについての詳細をまだ探しています(以下のコメントを参照)。信号は多くの目的に非常に役立つようですので、それがただの気まぐれの問題であると私が信じるのは難しいです-それで、この信号がLinuxで利用可能になる本当のショートッパーは何ですか?
12 linux  signals  glibc 

2
glibc-devel.i686のインストール後に32開発ライブラリエラーが発生しない
centOS 6にgcc 4.9.0をインストールしようとし./configureています。次のエラーが発生します。 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat- linux/4.4.7/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: cannot find -lgcc_s collect2: ld returned 1 exit status configure: error: I suspect your system does not have 32-bit developement libraries (libc and headers). If you have them, rerun …
11 centos  gcc  glibc 

1
「新しいホスト」の出力には何がありますか?
によって印刷されるフィールドは何getent ahosts DOMAINですか? の出力getent hostsは、IPとホスト名の単純な組み合わせです。にgetent ahostsは、追加の3番目のフィールドがあります。これは、私のすべてのテストでSTREAM、DGRAMまたはのいずれかRAWです。 の出力 getent hosts example.net 2001:500:88:200::10 example.net そしてのために getent ahosts example.net 2001:500:88:200::10 STREAM example.net 2001:500:88:200::10 DGRAM 2001:500:88:200::10 RAW 192.0.43.10 STREAM 192.0.43.10 DGRAM 192.0.43.10 RAW
10 networking  glibc 

1
glibcを適切にアップグレードする方法は?
私のNASのファームウェアには、glibc2.5 というかなり古いバージョンが付属しています。リンクされ、いくつかのコンパイル済みのバイナリに対応するためには*をglibc2.15、私はそれをアップグレードしたいと思います。chroot環境での簡単なテストから、新しいものlibc-2.15.soを追加してシンボリックリンクlibc.so.6を更新するだけでシステムが使用できなくなることを学びました。おそらく順libc-2.15.soにリンクさld-linux.so.3れているため、2.5バージョンではなく2.15バージョンも必要になります。でも、試行錯誤を繰り返す前に、 glibcを手動でアップグレードするための正しい手順は何ですか? *「静的」、彼らはリンクされているにもかかわらず、まだ動的にはglibcにリンク...
10 upgrade  glibc 

2
GNUをコンパイルしてブートストラップすることは可能でしょうか?
新しいGuixリリースが少し前に出ました。そして、glibc、gcc、およびguixをHURDおよびMachにブートストラップできれば、Linux以外のGNUシステムを使用できるというアイデアを得ました。ただし、bash、emacs、binutils、coreutils、initシステムなどのソフトウェアも必要です。Linuxに依存するシステムコールがあるものはありますか?LFSのようにできますか?
9 gcc  glibc  hurd 

1
Rpmdbチェックサムが無効です-CentOS 7.2 Dockerイメージにgccをインストールしようとしています
だから私はgccを含むDockerイメージを作成しようとしています。 RUN yum -y install gccDockerfile内でコマンドを実行しています。 依存関係をインストールしようとして最終的に失敗するまで、パッケージをダウンロードします。 Rpmdb checksum is invalid: dCDPT(pkg checksums): glibc-headers.x86_64 0:2.17-157.el7_3.1 - u 以下は出力です。 Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: gcc x86_64 4.8.5-11.el7 base 16 M Installing for dependencies: cpp x86_64 4.8.5-11.el7 base 5.9 M glibc-devel x86_64 2.17-157.el7_3.1 updates 1.1 M glibc-headers …
9 centos  docker  glibc 

1
Arch Linuxでglibcを再構築する方法は?
「静的なTLSを使用して一部のライブラリを動的にロードする」ため、MATLABはLinuxでかなり台無しになっているように見えます。 推奨される回避策glibcは、より大きなで再構築することDTV_SURPLUSです。これは私に2つの質問を残します: glibcArch Linuxで再構築して、DTV_SURPLUS?absツリーでPKGBUILDを調べたところ、DTV_SURPLUSどこにも表示されなかったため、どこに変更を加えるかわかりません。 どのような値に設定DTV_SURPLUSしますか?おそらく、それをに設定すること 2^64は、やり過ぎであり、悪い考えです。 MATLABの問題は、R2014aの次のMWEで確認できます。 >> ones(10)*ones(10); >> doc('help'); Exception in thread "XPCOMMessageLoop" java.lang.UnsatisfiedLinkError: /opt/matlab/sys/jxbrowser/glnxa64/xulrunner/xulrunner-linux-64/libxul.so: dlopen: cannot load any more object with static TLS at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(Unknown Source) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source) at com.teamdev.jxbrowser.gecko.xpcom.impl.linux.LinuxMozillaToolkit.c(Unknown Source) at com.teamdev.jxbrowser.gecko.xpcom.impl.linux.LinuxMozillaToolkit.a(Unknown Source) …

1
syscall-template.Sとは何ですか?
syscall-template.Sより具体的にはファイルの場所を見つけました .../sysdeps/unix/syscall-template.S このファイルは何ですか? それはどこにある。それは私のシステムではないと私は思い含むソースパッケージでそれを見つけることができないlinux-imageとglibc。
8 kernel  c  glibc 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.