2017-03-07 5 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のののconfigureのログ出力がこれです:

-- 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を走ったが、それはうまくいきませんでした。

-- 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/ 

をお試しください:

+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/ 

ログに示されている選択肢のいずれかを含むを使用しました次のいずれかの実際のファイルがあります。

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

が考慮され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。私は後でシステム管理者にlibncursesをグローバルにインストールするよう依頼して、インストール作業を行った。その後weechatを実行すると私にこのエラーが表示されます: 'weechat:Symbol 'acs_map'のサイズが共有オブジェクトのサイズと異なる、再分割、セグメンテーションフォールト ' –

関連する問題