2008-11-21(金) 晴 安静時心拍数 54 [長年日記]
_ FreeBSDでGoogle Tags (GTags)を動かそうとしてみたが
粘り強く?コード解析の続きをやっているのですが、Google Tagsはどうだろうかと思い、試してみることにしました。例によってまずは野良portを作ってみました。
# New ports collection makefile for: google-gtags # Date created: 2008-11-21 # Whom: TAKATSU Tomonari# # $FreeBSD$ # PORTNAME= google-gtags PORTVERSION= 2.0.0 CATEGORIES= devel MASTER_SITES= http://google-gtags.googlecode.com/files/ DISTFILES= gtags-${PORTVERSION}${EXTRACT_SUFX} MAINTAINER= tota@rtfm.jp COMMENT= Server-based tags serving for large codebases BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash USE_PYTHON= yes HAS_CONFIGURE= yes pre-configure: ${REINPLACE_CMD} -e 's|#!/bin/bash|#!${LOCALBASE}/bin/bash|' ${WRKSRC}/configure .include <bsd.port.mk>
ここまではあっさりと書けましたが、試しにbuildしてみると
g++ -c -o gtagsmixermain.o gtagsmixermain.cc In file included from filewatcher.h:29, from gtagsmixermain.cc:27: inotify.h:10:25: error: linux/types.h: No such file or directory In file included from filewatcher.h:29, from gtagsmixermain.cc:27: inotify.h:19: error: '__s32' does not name a type inotify.h:20: error: '__u32' does not name a type inotify.h:21: error: '__u32' does not name a type inotify.h:22: error: '__u32' does not name a type In file included from filewatcher.h:30, from gtagsmixermain.cc:27: inotify-syscalls.h:51: error: '__u32' has not been declared inotify-syscalls.h:56: error: '__u32' has not been declared In file included from gtagsmixermain.cc:27: filewatcher.h: In member function 'virtual bool DirectoryEventFilter::DoFilter(const inotify_event*)': filewatcher.h:234: error: 'const struct inotify_event' has no member named 'mask' filewatcher.h: In member function 'virtual bool FileExtensionEventFilter::DoFilter(const inotify_event*)': filewatcher.h:257: error: 'const struct inotify_event' has no member named 'len' scons: *** [gtagsmixermain.o] Error 1 *** Error code 2 Stop in /root/ports.local/google-gtags/work/google-gtags-2.0.0. *** Error code 1 Stop in /root/ports.local/google-gtags.
プラットフォーム依存ですねぇ。めんどくせー。