問題タブ [musl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gcc - GLIBC なしの GOMP
OpenMP でMuslを使用したいと思います。ただし、次のような単純な OpenMP プログラムをコンパイルすると、
と
エラーが発生します
どうやら、スレッド ローカル ストレージ (TLS) に関連する問題があるようです。OpenMP でmuslを動作させるにはどうすればよいですか?
現在、Intel(R) Xeon(R) CPU E5-1620 で Ubuntu 14.04、GCC 4.9.1、EGLIBC 2.19 を使用しています。
からのcollect2タグから見つけたリンカーに送信されるものは次のとおりmusl-gcc -v -fopenmp omp.o
です。ほとんどのスペースを改行に変換しました。-fopenmp
これとオプションなしでこれを行うことの唯一の違いは、pthread
との追加ですgomp
。
ここからの出力は次のとおりですmusl-gcc -fopenmpomp.c -Wl,--trace
linux - musl libc: Linux ヘッダーへのパス
私は lfs を構築しようとしており、glibc の代わりに musl libc 実装を使用しています。glibc では実際に Linux カーネル ヘッダーへのパスを設定できますが (--with-headers など)、musl ではできません。
さらに、muslのreadmeには次のように書かれています
Musl のビルドに使用されるシステムは、Linux ベースである必要はなく、Linux カーネル ヘッダーが利用可能である必要もありません。
これはどのように可能ですか?libc は、カーネルに存在する機能を認識している必要があり、この情報は通常、ヘッダーによって提供されます。助言がありますか?
PS:Fedora 21を実行しています
rust - rustcがmusl対応の場合、cargoを使用してrust-libcをビルドできない
このリンクをたどって、musl
構成済みを正常に作成しましたrustc
私が使用したときにプロジェクトを構築する試み(muslで構成されていない錆を使用してうまく構築されます)は失敗しましたcargo rustc -- --target=x86_64-unknown-linux-musl
次に、rust-libc
crate のコードを使用してライブラリを作成しようとしました。より正確にするために、提供されたコマンドを使用しcargo
て build rust-libc
、コマンドに追加--target=x86_64-unknown-linux-musl
しただけです。今回はレポートに失敗しました:
2 つの質問があります。
使用できるように
musl
構成されたビルドは必須ですか?cargo
cargo build --target=x86_64-unknown-linux-musl
これに対処するにはどうすればよいですか:
/li>
musl - glibc システムで musl アプリを実行する (libc.so 共有ライブラリを使用)
musl-gcc
glibc ベースのシステムで (静的リンクなしで) コンパイルされたプログラムをビルドして実行するにはどうすればよいですか?
単純な hello world c プログラムをビルドすると、objdump -p
libc.so のみが NEEDED として表示されます
ただし、musl の libc を含むディレクトリを LD_LIBRARY_PATH に追加しても、プログラムは実行されません。glibc ベースのシステムで musl の libc に依存するプログラムを実行することは可能ですか?
(現在、静的リンケージを使用してmuslで構築されたプログラムを実行できます)
c++ - libstdc++ を musl に対してコンパイルする
musl-gcc ラッパーを使用していくつかの C++ プログラムをコンパイルする必要があるため、C++ ヘッダーとライブラリが必要です。それらを使用する前に、musl-gcc 自体を使用して、musl に対して libstdc++ ソースをコンパイルする必要があると思います。
gcc ソースの最新バージョンから libstdc++ ソースを取得しました。このガイドによれば、コンパイラ パス (/usr/local/musl/bin/musl-gcc) を - -host オプション引数
ただし、構成は失敗し、エラーが発生します
いくつかのステップがありませんか?