"stress-ng"パッケージをコンパイルしてGEM5フルシステムシミュレータ内で使用するための静的リンク実行ファイルを生成しようとしています。"stress-ng"パッケージの静的にリンクされた実行可能ファイルをコンパイルする
このパッケージのタールボールは、hereからダウンロードできます。私がコンパイルしようとしているバージョンは0.07.08です。
このパッケージの動的リンクされた実行可能ファイルをコンパイルするには、 "make"するだけです。これは私のために働く。
しかし、GEM5のフルシステムシミュレーションから "stress-ng" exeを実行する必要があるため、exeが自己完結型であることを確認する必要があります。これは通常 "-static" CFLAGオプションを使用して行われますが、 "stress-ng"ではこのオプションを試してみるとエラーになります。
このエラーを再現するためにここで行うことです。編集「のMakefile」とライン#25の末尾に「-static」オプションを追加しライン25は、次のようになります。
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libpthread.a(lowlevellock.o): In function `__lll_lock_wait_private':
/build/eglibc-3GlaMS/eglibc-2.19/nptl/../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:78: multiple definition of `__lll_lock_wait_private'
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libc.a(libc-lowlevellock.o):(.text+0x0): first defined here
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libpthread.a(lowlevellock.o): In function `__lll_unlock_wake_private':
/build/eglibc-3GlaMS/eglibc-2.19/nptl/../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:328: multiple definition of `__lll_unlock_wake_private'
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libc.a(libc-lowlevellock.o):(.text+0x30): first defined here
collect2: ld returned 1 exit status
make: *** [stress-ng] Error 1
:作る
CFLAGS += -Wall -Wextra -DVERSION='"$(VERSION)"' -O2 -std=gnu99 -static
保存、その後、あなたは下のエラーが表示されます。
最後に、OSはUbuntu 14.04で、ccバージョンは4.6.4です。
ここに他のCFLAGオプションがありませんか?
あなたは、このツールの開発者である、あなたではありませんか?人を助けてくれてありがとう。私はもう1つ質問してください:gem5シミュレーションシステムでのstress-ngの使用を妨げる問題や制限はありますか?シミュレーションしたシステムの中からstress-ng(オプション "--cpu 4 -b 1 --vm 4 --vm-bytes 1M --timeout 4s")を試したときにエラーが発生したので、私は尋ねています。幸運にも、労働者の処刑を止めることはありませんでしたが、その重大さはどれほど深刻なのかよく分かりません。エラーは "stress-ng:error:[46]/sys/devices/system/cpuは存在しません"と表示されます。どんな考えですか? – user8420488483439