タグ付けされた質問 「cross-compilation」

1
モノはどのように魔法ですか?
私はC#を学んでいるので、と言う小さなC#プログラムをHello, World!作成し、それをコンパイルしてmono-csc実行しましたmono。 $ mono-csc Hello.cs $ mono Hello.exe Hello, World! 私は私が打ったとき気づいTABでbash、Hello.exe実行可能なマークされました。実際、ファイル名をロードするシェルだけで実行されます! Hello.exe面白いファイル拡張子を持つELFファイルではありません: $ readelf -a Hello.exe readelf: Error: Not an ELF file - it has the wrong magic bytes at the start $ xxd Hello.exe | head -n1 00000000: 4d5a 9000 0300 0000 0400 0000 ffff 0000 MZ.............. MZこれは、Microsoft Windowsが静的にリンクされた実行可能ファイルであることを意味します。Windowsのボックスにドロップすると、実行されます(実行されるはずです)。 …

1
ARM SoC用のGLIBCのクロスコンパイル
chrootで管理されたDebian armel環境で本当に奇妙なものを見ています。 しかし、最初に、少し裏話があります...これは長いですが、質問は複雑であり、潜在的な助けはすべてのストーリーを知ることにかかっています。 Linuxを実行する組み込みARM SoCがありarmelます。具体的には、2.6.17カーネル上のDebian Lennyです。Debianディストリビューション自体は、後のバージョン(sudo apt-get dist-upgrade)に簡単にアップグレードできるため、armelバージョン、squeezeまたはバージョンに合わせ て高速化できwheezyます。 問題は、カーネルがカスタムカーネルであるということです...問題のARM SoCはメインラインカーネルの一部ではないため、2.6.17でほぼ放棄されています。 LinuxとGLIBCがどのように機能するかを知っていれば、すでに問題を確認できます-GLIBCバージョンは、サポートされている最小カーネルバージョンでコンパイルされています... たとえば、Debianスクイーズにchrootしようとすると... $ # From inside the little ARM machine running Debian Lenny $ sudo debootstrap --arch armel squeeze /squeeze \ http://ftp.whateverCountry.debian.org/debian $ sudo -i # mount -t proc none /squeeze/proc # mount -t sysfs none /squeeze/sys # mount …

1
'cc1'を実行しようとしたGCCエラー
Raspberry Pi用のLinuxカーネルをラップトップ(debian 7を実行)でクロスコンパイルしていました(こちらの手順に従ってください)。しかし、コンパイルを開始すると(make ARCH=arm CROSS_COMPILE=${CCPREFIX})、次のメッセージが表示されます。 CHK include/linux/version.h CHK include/generated/utsrelease.h make[1]: `include/generated/mach-types.h' is up to date. CC kernel/bounds.s gcc: error trying to exec 'cc1': execvp: No such file or directory make[1]: *** [kernel/bounds.s] Error 1 make: *** [prepare0] Error 2 問題は、cc1が見つからないか、gcc正しくインストールされていないことだと考えました(したがって、gccを再インストールしましたapt-get --reinstall install gccが、運はありませんでした)。 gcc -v 与える: Using built-in specs. COLLECT_GCC=gcc …

1
ARM用Chromiumをクロスコンパイルするにはどうすればよいですか?
ゴール Linux 3.0.8 armv7lをmini210s実行しているFriendlyARMにChromiumをインストールする必要があります 環境 Ubuntu Precise64の浮浪者ボックス インストールされているdepot_toolsこれらのガイドラインは、次のGet-コードおよび LinuxのクロムARMを ツールチェーンdepot_tools を取得した後depot_tools: vagrant@vagrant:~/depot_tools$ fetch chromium 環境変数 export GYP_CROSSCOMPILE=1 export GYP_DEFINES="target_arch=arm arm_float_abi=hard" 依存関係 vagrant@vagrant:~/depot_tools/src$ ./chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py --arch=arm Installing Debian Wheezy arm root image: /home/vagrant/depot_tools/src/chrome/installer/linux/debian_wheezy_arm-sysroot Downloading http://storage.googleapis.com/chrome-linux-sysroot/toolchain/285950/debian_wheezy_arm_sysroot.tgz build/install-build-deps.sh --arm build/install-build-deps-android.sh gclient sync コンパイル build/gyp_chromium -Goutput_dir=out_arm ninja -C out_arm/Debug chrome エラー vagrant@vagrant:~/depot_tools/src$ ninja -C out_arm/Debug …

4
クロスコンパイルされたValgrindの使用
Valgrindトランクからソースをダウンロードし、ARM926(ARMv5tアーキテクチャ)を搭載した組み込みLinuxシステム(Montavista Linux)で使用するためにビルドしました。作成したアプリケーションを確認するために実行するまで、すべてがうまくいきました。Valgrindは私に言います: "valgrind:プラットフォーム 'arm-linux'のツール 'memcheck'の起動に失敗しました:そのようなファイルまたはディレクトリはありません。 他のツールを実行しようとすると、同じメッセージが表示されます。以下のためにメイクインストール私はNFSを介して装着されている組み込みシステムのファイルシステムを指す--prefixオプションを使用(例えば--prefix = /ホーム/ NFS_mountedは/ opt / valgrindの)。インストール場所を確認し、そこのlibディレクトリに適切なツールが含まれていることを確認しました。Valgrindの対応するpkgconfigファイルも確認しましたが、問題はないようですので、現時点では無知で、何が問題なのかを理解できません。2つの質問: そのようなクロスコンパイルされたValgrindを使用/インストールすることは正しいですか?多分私はセットアップに関して何か間違ったことをしている、あるいは多分私が見逃しているホストシステムに関係している何かがある(gdb / gdbserverのような)。 誰かがARMアーキテクチャでそれを実行してみましたか?私はサポートがかなり最近であることを知っているので、きちんとした結果が得られるかどうか疑問に思っています。

1
Beagleboard用のCross Linux From Scratch(CLFS)用のGCCクロスコンパイラーを構築する方法
現在、私はからの命令でゼロから組込みLinuxを構築しようとスクラッチからのクロスのLinux。 GCCクロスコンパイラーをコンパイルしようとするまで、すべてがうまくいきました。Beagleboard-xM用のLinuxを構築したいので、次の設定を選択しました。 export CLFS_ABI="aapcs-linux" export CLFS_HOST="x86_64-cross-linux-gnu" export CLFS_TARGET="armv7a-unknown-linux-uclibceabi" export CLFS_ARCH="arm" export CLFS_ENDIAN="little" export CLFS_ARM_ARCH="armv7" export CLFS_ARM_MODE="arm" export CLFS_FLOAT="hard" export CLFS_FPU="neon" いいえ、このページの手順を実行しようとすると、コマンドでmake all-gcc all-target-libgccエラーが発生します。 checking for armv7a-unknown-linux-uclibceabi-gcc... /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include checking for suffix of object files... configure: error: in `/mnt/clfs/sources/gcc-build/armv7a-unknown-linux-uclibceabi/libgcc': configure: error: cannot compute suffix of …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.