Я пытаюсь собрать Mono из репозитория git на плате Freescale P2020RDB. Мне удалось собрать его на хост-машине с Debian 8
с кросс-компилятором, и это работает как шарм. Однако из-за требований заказчика я был вынужден создать собственный дистрибутив Linux
с предустановленным набором инструментов для выбранного процессора. Сейчас я пытаюсь следить за компиляцией моно из git, однако процесс установки останавливается на:
if test -w /run/media/sda1/mono/mcs; then :; else chmod -R +w /run/media/sda1/mono/mcs; fi
cd /run/media/sda1/mono/mcs && make NO_DIR_CHECK=1 PROFILES='binary_reference_assemblies net_4_x xbuild_12 xbuild_14 ' CC='gcc' all-profiles
*** Assuming PLATFORM is 'linux'.
make[3]: Entering directory `/run/media/sda1/mono/mcs'
make profile-do--binary_reference_assemblies--all profile-do--net_4_x--all profile-do--xbuild_12--all profile-do--xbuild_14--all
make[4]: Entering directory `/run/media/sda1/mono/mcs'
make PROFILE=basic all
make[5]: Entering directory `/run/media/sda1/mono/mcs'
Mono JIT compiler version 4.8.0 (Stable 4.8.0.371/902b4a9 Tue Feb 7 00:58:05 CET 2017)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: normal
Notifications: epoll
Architecture: ppc
Disabled: none
Misc: softdebug
GC: sgen
make[6]: Entering directory `/run/media/sda1/mono/mcs'
make -C .//packages
make[7]: Entering directory `/run/media/sda1/mono/mcs/packages'
make all-local
make[8]: Entering directory `/run/media/sda1/mono/mcs/packages'
make[8]: Nothing to be done for `all-local'.
make[8]: Leaving directory `/run/media/sda1/mono/mcs/packages'
make[7]: Leaving directory `/run/media/sda1/mono/mcs/packages'
mcs /warn:0 /noconfig /r:System.dll /r:mscorlib.dll /out:build/deps/basic-profile-check.exe build/common/basic-profile-check.cs
Я также проверил, исчерпывает ли /run/media/sda1/
sapce, но это не проблема:
root@p2020rdb:/run/media/sda1/mono# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 6.7G 480M 5.9G 8% /
devtmpfs 344M 8.0K 344M 1% /dev
tmpfs 376M 160K 376M 1% /run
tmpfs 376M 44K 376M 1% /var/volatile
/dev/mmcblk0p1 504M 8.5M 470M 2% /run/media/mmcblk0p1
/dev/sda1 111G 1.6G 103G 2% /run/media/sda1
/dev/sdb1 3.8G 17M 3.8G 1% /run/media/sdb1
Что здесь может быть не так?
ПРИЛОЖЕНИЕ 1: Когда я создавал собственный дистрибутив Linux
для платы P2020RDB
, я уже предустановил другую версию meta-mono, используя Yocto:
testuser@debianvirtual:~/QorIQ-SDK-V1.9-20151210-yocto/build_barebone$ bitbake fsl-image-minimal
Loading cache: 100% |########################################################################################################################################| ETA: 00:00:00
Loaded 2524 entries from dependency cache.
Parsing recipes: 100% |######################################################################################################################################| Time: 00:00:01
Parsing of 1966 .bb files complete (1964 cached, 2 parsed). 2525 targets, 184 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.26.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Debian-8.7"
TARGET_SYS = "powerpc-fsl-linux-gnuspe"
MACHINE = "p2020rdb"
DISTRO = "fsl-qoriq"
DISTRO_VERSION = "1.9"
TUNE_FEATURES = "m32 spe ppce500v2"
TARGET_FPU = "ppc-efd"
meta
meta-yocto
meta-yocto-bsp = "(detachedfromb74ea96):ddf114933ccfc6e3ce51a10e8e8f95e514b73578"
meta-oe
meta-networking
meta-perl
meta-python
meta-ruby
toolchain-layer = "(nobranch):214e1801d0efc38d3b6142bdc0d8e58ca593e34c"
meta-freescale = "(detachedfrom7fb32a2):7fb32a20983a0ebd5503eb42e851550b0deb8679"
meta-freescale-internal = "(detachedfrom220bff8):220bff8b2030e5af7393b5870d74c6f0af0d76d1"
meta-freescale-extra = "(nobranch):ced26c806cb566b1400a2f4f26a94d8d44d13233"
meta-linaro-toolchain = "(nobranch):3f1933242062d1cf473d20b86fa4582963ff9441"
meta-mono = "master:c122ccfb820ac8fdc72e94bf9fa696b566e55b75"
NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 3214 tasks of which 3214 didn't need to be rerun and all succeeded.
Summary: There were 2 WARNING messages shown.
Однако из-за некоторых неприятных проблем в предустановленной версии mono нам пришлось клонировать репозиторий, изменить некоторые исходные файлы, и теперь мы пытаемся переустановить его.