トップ «前の日記(2008-11-20(木)) 最新 次の日記(2008-11-22(土))» 編集

とた日記


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.

プラットフォーム依存ですねぇ。めんどくせー。