scons - How do I troubleshoot CheckLib returning false? -


स्कन संस्करण 2.3.3 है। यहां निर्माण स्क्रिप्ट का प्रासंगिक हिस्सा है:

  अगर conf.CheckLib ('portaudio'): अपवाद बढ़ाएं ('libportaudio.a, portaudio.lib, या PortAudio- V19 विकास हेडर फाइल। ')  

चेकलिब हमेशा एक गलत मान लौटा रहा है। मैं इसे कैसे डीबग कर सकता हूं? मैं इसे स्कॉन्ज़ स्रोत कोड के माध्यम से तब तक चलाया जब तक कि वह एक छोटे से परीक्षण कार्यक्रम तैयार करने की कोशिश न कर लेता लेकिन तब मैं इसे आगे नहीं ट्रैक कर सकता था।

मैंने सभी समस्या निवारण झंडे का सुझाव दिया, लेकिन उनमें से कोई भी अतिरिक्त आउटपुट । उदाहरण के लिए,

  सी: \ code \ github \ mixxx2> स्कोन -क्यू -डेबग = खोज लिब्स winlib =% WINLIB_PATH% qtdir =% WINL IB_PATH% \ build \ qt-everywhere-opensource- Src-4.8.6 hss1394 = 1 mediafoundation = 1 op us = 0 build =% BUILD_TYPE% मशीन =% TARGET_MACHINE% toolchain = msvs virtualize = 0 tes t = 1 sqlitedll = 0 mssdk_dir =% MSSDK_DIR% बल 32 = 1  

मुझे नहीं पता है कि -क्यू विकल्प के लिए क्या है मैंने इसे छोड़ने की कोशिश की है और इसमें कोई अंतर नहीं है; मुझे stdout पर कोई अतिरिक्त जानकारी नहीं मिलती। बस यह:

  [... truncated ...] सी लायब्रेरी पोर्टल के लिए जाँच ... कोई त्रुटि नहीं: रूट: अनमेट निर्भरता: libportaudio.a, portaudio.lib, या नहीं मिला PortAudio-v19 विकास हेडर फाइलें  

कॉन्फ़िगर ऑब्जेक्ट एक लॉग फ़ाइल उत्पन्न करता है क्योंकि यह डिफ़ॉल्ट रूप से इसकी क्रियाओं को निष्पादित करता है फ़ाइल config.log है स्कैन मैन पेज के खंड के अनुसार, लॉग फाइल को तब अनुकूलित किया जा सकता है जब Configure ऑब्जेक्ट को एक log_file तर्क से गुजारें के द्वारा आरंभीकृत किया जाता है।

सरल सिंक्रैक्ट के साथ, मुझे एक बिल्डिंग विफलता के साथ config.log फ़ाइल मिलती है।

संकेतन:

  env = पर्यावरण () conf = कॉन्फ़िगर (env) अगर conf.CheckLib ('foo') नहीं: बाहर निकलें ('foo नहीं मिल सकता है')  

config.log:

  फ़ाइल / घर / dbacher / कोड / SCons-परीक्षा / SConstruct, पंक्ति 2: कॉन्फ़िगर (confdir = .sconf_temp) SCons : कॉन्फ़िगर करें: सी लाइब्रेरी फू के लिए जांच ... .sconf_temp / conftest_0.c & lt; - | | | | Int | main () {| | वापसी 0; |} | जीसीसी -ओ .sconf_temp / conftest_0.o -c .sconf_temp / conftest_0.c जीसीसी -ओ .sconf_temp / conftest_0 .sconf_temp / conftest_0.o -lfoo / usr / bin / ld: -lfoo collect2 नहीं मिल सकता है: ld 1 से बाहर निकलें स्थिति लौटा स्कैन: कॉन्फ़िगर करें: नहीं  

मुझे लगता है कि इस लॉग फ़ाइल की समस्या के निदान के लिए आपके लिए पर्याप्त है

Btw, SCons मैनुअल का वर्णन करता है -Q के रूप में विकल्प:

SConscript फ़ाइलें, इमारत लक्ष्यों को पढ़ने और निर्देशिका में प्रवेश के बारे में SCons स्थिति संदेश quiets । आदेशों के पुनर्निर्माण के लिए लक्ष्य फ़ाइलों को अभी भी मुद्रित कर रहे हैं क्रियान्वित कर रहे हैं।


Comments