2017-03-07 1 views
0

서버에 weechat IRC 클라이언트를 구축하려고합니다 (sudo 제어 기능이 없음). ncurses 파일의 위치를 ​​명시 적으로 제공 한 후에도 cmake는이를 고려하지 않으므로 ncurses.h를 찾을 수 없습니다.명시 적으로 지정된 위치 일 때조차 소스에서 weechat 빌드가 ncurses.h를 찾지 못했습니다.

cmake .. -DCMAKE_INSTALL_PREFIX=/home/myuser/.local/ -DNCURSES_INCLUDE_PATH=/home/myuser/.local/include/ncurses/ 

cmake의 구성에 대한 로그 출력은 이것이다 :

-- The C compiler identification is GNU 5.4.0 
-- Check for working C compiler: /usr/bin/cc 
-- Check for working C compiler: /usr/bin/cc -- works 
-- Detecting C compiler ABI info 
-- Detecting C compiler ABI info - done 
-- Detecting C compile features 
-- Detecting C compile features - done 
-- Looking for include file langinfo.h 
-- Looking for include file langinfo.h - found 
-- Looking for include file sys/resource.h 
-- Looking for include file sys/resource.h - found 
-- Looking for mallinfo 
-- Looking for mallinfo - found 
-- Looking for eat_newline_glitch 
-- Looking for eat_newline_glitch - not found 
-- Looking for include file libintl.h 
-- Looking for include file libintl.h - found 
-- Looking for dgettext 
-- Looking for dgettext - found 
-- Found GCRYPT: -lgcrypt 
-- Found ZLIB: /home/myuser/miniconda2/lib/libz.so (found version "1.2.8") 
-- Looking for iconv_open 
-- Looking for iconv_open - found 
-- Performing Test ICONV_2ARG_IS_CONST 
-- Performing Test ICONV_2ARG_IS_CONST - Failed 
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.47.0") 
-- Looking for flock 
-- Looking for flock - found 
-- Looking for backtrace 
-- Looking for backtrace - found 
-- checking for one of the modules 'ruby-2.4;ruby-2.3;ruby-2.2;ruby-2.1;ruby-2.0;ruby-1.9;ruby-1.8' 
-- checking for one of the modules 'lua5.3;lua-5.3;lua53;lua5.2;lua-5.2;lua52;lua5.1;lua-5.1;lua51;lua-5.0;lua5.0;lua50;lua' 
-- Found Tclsh: /usr/bin/tclsh (found version "8.6") 
-- checking for one of the modules 'guile-2.0' 
-- Could NOT find V8 (missing: V8_LIBRARY V8_INCLUDE_DIR) 
-- Looking for include file ncursesw/ncurses.h 
-- Looking for include file ncursesw/ncurses.h - not found 
-- Looking for include file ncurses.h 
-- Looking for include file ncurses.h - not found 
-- checking for one of the modules 'cpputest' 
-- Configuring done 
-- Generating done 
-- Build files have been written to: /home/myuser/tools/weechat/build 

나는 아무 도움 아직 relevant issue in weechat을 열었지만했다. 그것들을 성공적으로 처음부터 만들었던 당신들은 나를 도울 수 있습니까?

편집 1 : 내 시스템 관리자에게 "libncurses5-dev"와 "libncursesw5-dev"를 설치하도록 관리 한 후 설치가 정상적으로 작동하고 있습니다. 내가 weechat 시작할 때 있지만,이 오류가 팝업 :

weechat: Symbol `acs_map' has different size in shared object, consider re-linking Segmentation fault (core dumped)

편집 2 :

내 지역 ncurses를 설치에서 구축 다시 시도하고 세계의 ncurses를 제거한 후. ncurses를 의 설치 파일은 상기 디렉토리에 존재 :

~/.local/include $ ls -lhtr | grep ncurses 
drwxr-xr-x 2 myuser nogroup 22 Sep 25 22:05 ncurses 
drwxr-xr-x 2 myuser nogroup 22 Sep 25 23:52 ncursesw 

~/.local/include/ncurses $ ls -lhtr 
total 320K 
-rw-r--r-- 1 myuser nogroup 38K Sep 25 22:05 term.h 
-rw-r--r-- 1 myuser nogroup 64K Sep 25 22:05 curses.h 
lrwxrwxrwx 1 myuser nogroup 8 Sep 25 22:05 ncurses.h -> curses.h 
-rw-r--r-- 1 myuser nogroup 3.0K Sep 25 22:05 unctrl.h 
-rw-r--r-- 1 myuser nogroup 3.5K Sep 25 22:05 termcap.h 
-rw-r--r-- 1 myuser nogroup 3.9K Sep 25 22:05 ncurses_dll.h 
-rw-r--r-- 1 myuser nogroup 12K Sep 25 22:05 tic.h 
-rw-r--r-- 1 myuser nogroup 6.9K Sep 25 22:05 term_entry.h 
-rw-r--r-- 1 myuser nogroup 3.9K Sep 25 22:05 nc_tparm.h 
-rw-r--r-- 1 myuser nogroup 3.7K Sep 25 22:05 panel.h 
-rw-r--r-- 1 myuser nogroup 2.9K Sep 25 22:05 eti.h 
-rw-r--r-- 1 myuser nogroup 12K Sep 25 22:05 menu.h 
-rw-r--r-- 1 myuser nogroup 17K Sep 25 22:05 form.h 
-rw-r--r-- 1 myuser nogroup 6.5K Sep 25 22:05 cursesapp.h 
-rw-r--r-- 1 myuser nogroup 27K Sep 25 22:05 cursesf.h 
-rw-r--r-- 1 myuser nogroup 20K Sep 25 22:05 cursesm.h 
-rw-r--r-- 1 myuser nogroup 8.3K Sep 25 22:05 cursesp.h 
-rw-r--r-- 1 myuser nogroup 49K Sep 25 22:05 cursesw.h 
-rw-r--r-- 1 myuser nogroup 7.2K Sep 25 22:05 cursslk.h 
-rw-r--r-- 1 myuser nogroup 9.1K Sep 25 22:05 etip.h 

나는 모두 -DNCURSES_INCLUDE_PATH=/home/myuser/.local/include/ncurses/-DNCURSES_INCLUDE_PATH=/home/myuser/.local/include/cmake을 실행 아래의 대답에 의해 제안하지만 그것은 작동하지 않았다한다.

+0

라이브러리 덤핑 코어는 다른 질문입니다. 올바른 라이브러리/포함 조합을 찾으려면 cmake를 설득해야합니다. –

+0

예 알아요. 하지만 cmake에 모든 것을 제공 한 후에도 위치를 고려조차하지 않습니다. 나는 cmake 스크립트에 정통하지 않지만 [FindNCurses.cmake] (https://github.com/weechat/weechat/blob/master/cmake/FindNcurses.cmake) 파일에 문제가 있다고 생각합니다. 왜 모든 조합을 고려하지 않을까요? –

답변

1

당신의 명령은 내가에 하지 로그에 표시된 선택 사항 중 하나를 포함 기대할 수있는

-DNCURSES_INCLUDE_PATH=/home/myuser/.local/include/ncurses/ 

을 사용 :

-- Looking for include file ncursesw/ncurses.h 
-- Looking for include file ncursesw/ncurses.h - not found 
-- Looking for include file ncurses.h 
-- Looking for include file ncurses.h - not found 

이 경우

-DNCURSES_INCLUDE_PATH=/home/myuser/.local/include/ 

을 시도하면 다음 실제 파일 중 하나가 있어야합니다.

/home/myuser/.local/include/ncurses/ncurses.h 
    /home/myuser/.local/include/ncursesw/ncurses.h 

cmake macro 16,계정에 걸리는 include 디렉토리의 하위 디렉토리에서 헤더 파일을 넣어 것 ncurses를 --disable-overwrite configure option의 가장 일반적인 변화. ncurses를 설정하고 설치할 때 특별한 것을하지 않았다면, 헤더 파일은 서브 디렉토리 ncurses 또는 ncursesw에있을 것입니다. 일부 개발자는 검색 경로에 서브 디렉토리 자체를 지정하지만 ncurses INSTALL file에서 설명한 것처럼 접근하기에 권장 적이거나 신뢰할 수있는 방법은 아닙니다.

+0

도 시도했습니다. 여전히 그것을 찾을 수 없습니다. –

+0

답변에 ncurses 헤더 파일의 실제 위치가 표시되지 않으므로 누구도 일반적인 조언 이상의 것을 제공 할 수 없습니다. –

+0

내 ncurses.h 헤더 파일은 답변에서 지적한 것과 정확히 같은 위치에 있습니다. /home/myuser/.local/include/ncurses/ncurses.h. 나는 나중에 내 sysadmin에게 libncurses를 설치하도록 요청했다. 그 후, weechat을 실행하면 다음과 같은 오류가 발생합니다. 'weechat : Symbol'acs_map '의 크기가 공유 객체에서 다른데, 재 연결, 세그먼트 오류' –

관련 문제