適当に翻訳する。
「https://github.com/qwikrazor87/pkgrip」からソースコードをzipファイル形式で取得、解凍。
pkgrip-master/src$ make
...
...
cc1: all warnings being treated as errors
make: *** [<builtin>: libkirk/aes.o] Error 1
pkgrip-master/src$ make clean
rm -rf *.o libkirk/*.o
https://stackoverflow.com/questions/8132594/disable-werror-in-configure-fileによると、「./configure」実行時に特別なオプションを設定することで回避できるらしい。
しかし、pkgripにはconfigureファイルは同梱されておらず、Makefileだけが入っていたので、Makefileを直接編集してしまう。
Makefileから「-Werror」の文字を削除して解決。
pkgrip-master/src$ make
...
...
gcc -Wall -Wextra -I./libkirk -O2 -o pkgrip pkgrip.o -L ./libkirk -lkirk -lz
/usr/bin/ld: cannot find -lz: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:20: pkgrip] Error 1
pkgrip-master/src$
zlibが無いことによるエラーも出る。
このブログを参考にした。
pkgrip-master/src$ sudo apt install zlib1g-dev
pkgrip-master/src$ make clean
rm -rf *.o libkirk/*.o
pkgrip-master/src$ make
Ubuntuの場合、「zlib1g-dev」をインストールして解決。
ctags-5.8の「make」でエラーが出た。
User00:~/ctags-5.8$ make
gcc -I. -I. -DHAVE_CONFIG_H -DKANJI -I/usr/local/include -c args.c
In file included from /usr/include/features.h:486,
from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
from /usr/include/stdio.h:27,
from args.c:17:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:320:61: error: missing ')' after "__has_attribute"
320 | #if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__)
| ^
general.h:60:36: error: missing binary operator before token "("
60 | # define __unused__ __attribute__((unused))
| ^
make: *** [Makefile:220: args.o] Error 1
User00:~/ctags-5.8$
このサイトによると、「__unused__」はよく使われるものらしく、別のプログラムによる定義と衝突しているのがエラーの原因とのこと。
同サイトの提案に従って、「__unused__」を別の文字列で置き換える。
「__unused__」が使われている場所は下の通り。
User00:~/ctags-5.8$ find . -type f | grep .*$ | xargs grep -n "__unused__"
./lregex.c:541: const langType language __unused__,
./lregex.c:542: const char* const regex __unused__,
./lregex.c:543: const char* const name __unused__,
./lregex.c:544: const char* const kinds __unused__,
./lregex.c:545: const char* const flags __unused__)
./lregex.c:567: const langType language __unused__,
./lregex.c:568: const char* const regex __unused__,
./lregex.c:569: const char* const flags __unused__,
./lregex.c:570: const regexCallback callback __unused__)
./lregex.c:584: const langType language __unused__, const char* const regex __unused__)
./lregex.c:605: const char *const parameter __unused__)
./lregex.c:627:extern void disableRegexKinds (const langType language __unused__)
./lregex.c:642: const langType language __unused__,
./lregex.c:643: const int kind __unused__, const boolean mode __unused__)
./lregex.c:663:extern void printRegexKinds (const langType language __unused__, boolean indent __unused__)
./parse.c:379: const char *const option, const char *const parameter __unused__)
./c.c:622:static void __unused__ pt (tokenInfo *const token)
./c.c:637:static void __unused__ ps (statementInfo *const st)
./general.h:60:# define __unused__ __attribute__((unused))
./general.h:63:# define __unused__
./lua.c:40:static void __unused__ print_string (char *p, char *q)
./routines.c:532:static void canonicalizePath (char *const path __unused__)
./python.c:138: vString *const parent, int is_class_parent, const char *arglist __unused__)
./main.c:525:extern int main (int __unused__ argc, char **argv)
./eiffel.c:806:static void parseGeneric (tokenInfo *const token, boolean declaration __unused__)
./options.c:751: const char *const option __unused__, const char *const parameter)
./options.c:888: const char *const option __unused__, const char *const parameter)
./options.c:978: const char *const option __unused__,
./options.c:979: const char *const parameter __unused__)
./options.c:1187: const char *const option __unused__,
./options.c:1188: const char *const parameter __unused__)
./options.c:1214: const char *const __unused__ option,
./options.c:1215: const char *const __unused__ parameter)
./options.c:1231: const char *const option __unused__,
./options.c:1232: const char *const parameter __unused__)
./options.c:1406: const char *const option __unused__,
./options.c:1407: const char *const parameter __unused__)
User00:~/ctags-5.8$
general.hの
「# define __unused__ __attribute__((unused))」
を
「# define __ctags_unused__ __attribute__((__unused__))」
に書き換え、
それ以外のファイルの
「__unused__」
を
「__ctags_unused__」
に書き換えて解決。
「./configure」「make」ともに問題無し。
カレンダー
カテゴリー
最新コメント
最新記事
ブログ内検索
広告