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.
プラットフォーム依存ですねぇ。めんどくせー。
[ツッコミを入れる]