2011-01-13 20 views
12

मैं ओपनलेज़ लाइब्रेरी को www.marcansoft.com से संकलित करने की कोशिश कर रहा हूं और सीएमके के साथ समस्याएं चला रहा हूं। सीएमके एक त्रुटि दे रहा है जिसमें कहा गया है कि उसे शापित नहीं मिल रहा है, और बहुत से देखे जाने के बाद भी मैं इस मुद्दे के बारे में सोच रहा हूं कि समस्या क्या है। मैंने जांच की है कि मेरे पास विभिन्न ncurses संकुल स्थापित हैं लेकिन अभी भी त्रुटि बनी हुई है। मैं सीएमके से बहुत परिचित नहीं हूं लेकिन मैं इससे पहले उत्पन्न होने वाले अन्य निर्भरता मुद्दों को हल करने में सक्षम था। टर्मिनल में आउटपुट निम्नलिखित है।सीएमके को शापित नहीं मिला

[email protected]:~/dev/openlase$ cmake ./ 
-- Found JACK 
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:70 (MESSAGE): 
    Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) 
Call Stack (most recent call first): 
    /usr/share/cmake-2.8/Modules/FindCurses.cmake:159 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) 
    examples/27c3_slides/CMakeLists.txt:3 (find_package) 


-- Configuring incomplete, errors occurred! 

किसी भी मदद की सराहना की जाएगी।

  • टॉम

उत्तर

2

आप इसी -dev पैकेज भी इंस्टॉल है? उबंटू (और शायद डेबियन से ली गई कुछ भी) पर यह libncurses5-dev है। अन्य सिस्टम -devel या इसी तरह के टैग का उपयोग कर सकते हैं।

कंपाइलर लाइब्रेरी हेडर की तलाश में है, और वे मानक पैकेज द्वारा प्रदान नहीं किए जाते हैं। (हेडर्स को रनटाइम पर जरूरी नहीं है, केवल सॉफ़्टवेयर संकलित करते समय, इसलिए वे उन सिस्टम के लिए अतिरिक्त बेकार सामान को निकालना आसान बनाते हैं जो किसी भी सॉफ्टवेयर संकलन नहीं कर रहे हैं।)

+0

अभी दो बार चेक किया गया है और वह पैकेज पहले से ही स्थापित और अद्यतित था। – waffleShirt

+0

केमेक में कई अलग-अलग लाइब्रेरी खोज पथ हैं: CMAKE_SYSTEM_LIBRARY_PATH सिस्टम-आपूर्ति पुस्तकालयों के लिए पर्याप्त होना चाहिए, CMAKE_LIBRARY_PATH परियोजनाओं के लिए अपने स्वयं के पथ प्रदान करने के लिए है। शायद आपकी ncurses.h फ़ाइल डिफ़ॉल्ट स्थान पर नहीं है? आपको अपनी प्रोजेक्ट के CMAKE_LIBRARY_PATH में निर्देशिका वाली निर्देशिका जोड़ने की आवश्यकता हो सकती है। – sarnold

+3

सहायता के लिए धन्यवाद। मैं बस FindCurses.cmake फ़ाइल में जा रहा हूं और इसे CURSES के बजाय NCURSES का उपयोग करने के लिए मजबूर कर रहा हूं। सब ठीक हो गया सब कुछ। – waffleShirt

7

अस्थायी रूप से CURSES_USE_NCURSES को TRUE पर सेट करें सीएमके को कोर्स खोजने की कोशिश करने के बजाय, एनसीयूआरएसईएस के उपयोग को मजबूर करें।

+0

यह काम नहीं करता है। – IanGilham

10

इसे ठीक करने के लिए एक अन्य तरीका (शीर्ष पर) FindCurses.cmake करने के लिए इन 2 लाइनों को जोड़ने के लिए है:

set(CURSES_LIBRARY "/opt/lib/libncurses.so") 
set(CURSES_INCLUDE_PATH "/opt/include") 
+1

यही वह अंततः मेरे लिए काम करता है। .so फ़ाइल का स्थान ढूंढने के लिए "libncurses.so" का पता लगाएं और ऊपर दिए गए पहले सेट में इसे प्रतिस्थापित करें। उबंटू खान पर "/lib/x86_64-linux-gnu/libncurses.so.5.9" था। FindCurses.cmake मेरे लिए /usr/share/cmake-2.8/Modules/FindCurses.cmake में स्थित था। – Deadron

1

openlase विकी जरूरत संकुल के सभी से दिखाई नहीं दे रहा था। अद्यतन निर्देशों के लिए github पर विकी पेज देखें। शाप के लिए याद आ रही पैकेज libncurses5-देव था sudo apt-get install libncurses5-dev

11

यहाँ Ubuntu 12.04 x86_64 (64 बिट) (धन्यवाद syslogic)

पर अपनी समस्याओं तय जो भी कारण है (1:00 बजे शायद?) की स्थापना CURSES_USE_NCURSES TRUE काम नहीं कर रहा था। तो मैं एक हैक नौकरी के साथ चला गया।

सत्यापित इसके इंस्टॉल:

$ sudo apt-get install libncurses5-dev 

आप प्रभाव से कुछ देखेंगे: libncurses5-dev is already the newest version.

तो पुस्तकालय खोजने के लिए और शामिल हैं।

$ locate libncurses.so

नोट स्थान, मेरा: /usr/lib/x86_64-linux-gnu/libncurses.so

$ locate curses.h

नोट स्थान फिर से, मेरा: /usr/include

में: <cmake source dir>/Modules/FindCurses.cmake

शीर्ष पर जोड़ने के लिए, सही होने के बाद टिप्पणियां

set(CMAKE_INCLUDE_PATH "/usr/include") 
set(CMAKE_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu/libncurses.so") 

तो निर्माण प्रक्रिया

./bootstrap 
make 
sudo make install 

ccmake अब संस्थापित किया जाना चाहिए दोहराने कुल्ला।

आपका दोस्त,

0

अस्थायी रूप से CURSES_NEED_NCURSES सही पर नहीं बल्कि दे CMake शाप खोजने की कोशिश की तुलना में, ncurses का उपयोग कराने के लिए निर्धारित किया है।

set(CURSES_NEED_NCURSES TRUE) 

CURSES_USE_NCURSES आंतरिक FindCurses.cmake द्वारा किया जाता है, तो सेटिंग में मदद नहीं करेगा कि।