DNS320, Fonzplug, NodeJS, Funplug (DNS323, моя первоначальная цель) также, по-видимому, применимы к шеевому плагину !!.
(в интересах 323 компиляция занимает около 7,5 часов, а 320занимает 1 час, 3 минуты)
(также компиляция на 1G8 Intel Linux (Debian) занимает около 15 минут)
=============================== ПРИМЕЧАНИЕ: на плагине fonz - вам необходимо установить следующее:
- binutils
- Элемент списка
- заголовки ядра
- pkg-config
- uclibc
- gcc
- make
- gettext
- patch
- bison
- flex
- autoconf
- automake
==============================тогда вы можете:
exported TMPDIR=/ffp/tmp (need this to put tmp files on HD not in memory!)
export CC='gcc -march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'
export CCFLAGS='-march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'
export CXX='g++ -march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'
export GCC='-march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'
./configure --prefix=/ffp --without-snapshot
......
make
.............
make install
Примечания:
У меня был опыт работы с NodeJS 0.4.9 - так что я продолжал его использовать - читайте дальше, почему !!
фактически компилируется без ошибок !!НО!
при запуске - Недопустимая инструкция - выскакивает
это происходит потому, что V8 ОЖИДАЕТСЯ для компиляции на главном компьютере, который НЕ является устройством !!
см. ниже ссылки, которые я нашел: (Мне потребовалось 6 месяцев, чтобы найти все это) Кто-то где-то решил, что работа на ARM - это встроенная среда, поэтому вы никогда не скомпилируете ее !!
Может ли кто-нибудь с полномочиями исправить это !!!!!!!!
Тот факт, что я могу получить чистую компиляцию, говорит, что она может работать, но по крайней мере V8 не хочет, чтобы мы тоже ????
оригинальные инструкции: https://github.com/joyent/node/wiki/Installation
Что еще я нашел:
http://code.google.com/p/v8/wiki/CrossCompilingForARM
http://code.google.com/p/v8/issues/detail?id=914
http://code.google.com/p/v8/issues/detail?id=1632&q=vfp%20off&colspec=ID%20Type%20Status%20Priority%20Owner%20Summary%20HW%20OS%20Area%20Stars
https://github.com/joyent/node/issues/1566
http://fastr.github.com/articles/Node.js-on-OpenEmbedded.html
http://freebsd.1045724.n5.nabble.com/problems-with-cvsup-on-FreeBSD-9-snapshot-201101-td4491053.html
http://code.google.com/p/v8/issues/detail?id=1446
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0133c/index.html
http://infocenter.arm.com/help/topic/com.arm.doc.qrc0007e/QRC0007_VFP.pdf
https://github.com/joyent/node/issues/1386
https://github.com/joyent/node/issues/2131
и из этой статьи минимальные установки fonz, которые необходимо предварительно-установлено:
http://www.shadowandy.net/2008/08/adding-compiling-capabilities-to-your-dns-323.htm
DNS323 - вики-сайт (новый ?? !!)
http://dns323.kood.org/dns-320
http://tsd.dlink.com.tw/downloads2008detail.asp (open source for dlink find dns then 320 - or 323 etc)
опции компилятора:
http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
опции отладки: http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html
Проценты:
http://itrs.tw/wiki/Code_Sourcery_G%2B%2B_Lite
http://pandorawiki.org/Floating_Point_Optimization
http://wiki.debian.org/ArmHardFloatPort/VfpComparison
https://groups.google.com/group/nodejs-dev/browse_thread/thread/18bfc495b01e2f9b/8507143b5578ebf9#8507143b5578ebf9
http://stackoverflow.com/questions/6788768/cannot-build-node-on-sheevaplug-armv5t-with-debian-squeeze/6790823#6790823
http://www.plugcomputer.org/plugwiki/index.php/Scratchbox2_based_cross_compiling
Почему 0,4,9, а не 0,6,6?6.6 может быть в том же месте, но ошибка говорит об ошибке EABI, компилятор с Fonz не понимает EABI.
Я думаю, что ребята из V8 (или ребята из узла) переименовали дескриптор ошибки в EABI, я нене знаю достаточно, чтобы отследить проблему.Для компиляторов есть куча других переключателей - я перестал их пробовать (другие люди, похоже, нашли ту же проблему, они НАМНОГО более осведомлены, чем я, поэтому я собираюсь предположить, что они перепробовали вседоступные ключи, которые могут иметь значение).
Интересно, что компиляция V8 использует только компилятор CXXFLAGS, в то время как остальная часть NodeJS, кажется, использует другие, которые я пометил !!
Также обратите внимание, что для запуска снимка он указывает на / tmp - независимо от того, что я делаю, - в итоге я переместил / tmp в / tmp1 и ln -s / tmp / ffp / tmp, т.е.
mv / tmp / tmp1
ln -s / tmp / ffp / tmp