c++ - रास्पबेरी पीआई के लिए Google v8 पुस्तकालय को संकलित करें



raspberry-pi cross-compiling (1)

मुझे रास्पबेरी पी के लिए Google v8 पुस्तकालयों को पार करने में समस्या है, और साइट से आधिकारिक नमूना संकलित करते समय निरंतर "अवैध निर्देश" त्रुटि मिलती है। ये मैं निम्नलिखित कदम उठाए हैं:

  1. क्रॉस कम्पाइल डाउनलोड किया गया https://github.com/raspberrypi/tools/
  2. क्लोन v8 git https://chromium.googlesource.com/v8/v8.git
  3. क्रॉस कम्पाइल टूल से एक्सपेक्स सीएफ़एक्स एक्सपोर्ट एक्सचेंज- arm-linux-gnueabihf-g++
  4. make arm.release armv7=false hardfp=on snapshot=off armfpu=vfp armfloatabi=hard -j5 रन make arm.release armv7=false hardfp=on snapshot=off armfpu=vfp armfloatabi=hard -j5
  5. कॉपी किए गए निष्पादन योग्य shell और d8 से आउट / आर्म। रीलीज निर्देशिका को पीआई (रास्पबेनी कर्नेल संस्करण 3.6.11) और इसे काम करता है। ये कदम साबित करते हैं कि क्रॉस कलेक्शन टूलकेन कार्यात्मक है

समस्या तब होती है जब v8 पुस्तकालयों से जुड़ा हुआ अन्य क्रॉस-कंपाइल किए गए सॉफ़्टवेयर को चलाने का प्रयास करते हुए उदाहरण के लिए नमूना कोड से https://developers.google.com/v8/get_started#intro कोड को इस कमांड के साथ संकलित किया गया है (उदाहरण के लिए, बस बदलते संकलक)

arm-linux-gnueabihf-g++ -I. hello_world.cc -o hello_world -Wl,--start-group out/x64.release/obj.target/{tools/gyp/libv8_{base,libbase,snapshot,libplatform},third_party/icu/libicu{uc,i18n,data}}.a -Wl,--end-group -lrt -pthread

जब मैं उस कोड को पीआई में कॉपी करता हूं और इसे चलाता हूं तो मुझे SIGILL (अवैध अनुदेश) मिलता है।

नोट: पार संकलित सॉफ़्टवेयर जो वी 8 पुस्तकालयों का उपयोग नहीं करता है ठीक काम करता है। इसके अलावा मेजबान कंप्यूटर पर x64 वी 8 पुस्तकालय ठीक काम करता है।

नए कर्नेल संस्करण shell और d8 पर भी SIGILL फेंक रहे थे लेकिन मैं पुराने संस्करण 3.6.11 (नए कर्नेल के साथ समस्या https://groups.google.com/forum/#!topic/v8-users/IPT9EeYK9bg ) में बदल गया था और वे काम करना शुरू कर दिया, लेकिन संकलित नमूना कोड को अभी भी एक ही समस्याएं दिखायी गई हैं।

क्या किसी के समान अनुभव है? कैसे इस समस्या को दूर करने के लिए पर कोई सुझाव?


मुझे v8 Google समूह पर पोस्ट करने के लिए एक समाधान मिला। https://groups.google.com/forum/#!topic/v8-users/LTppUbqNrzI

समस्या यह होना चाहिए बहस बनाने में था।

make arm arm_version=6 armfpu=vfp armfloatabi=hard




v8