BLOGTIMES
2013/11/19

stone-2.3e を CentOS 上でビルドする

  networking  cli  centos 
このエントリーをはてなブックマークに追加

CentOS 上で Simple Repeater `stone' をビルドしようとしたらエラーが出てしまって、そのままの状態ではビルドできなかったので、解決方法をメモ。

wget http://www.gcd.org/sengoku/stone/stone-2.3e.tar.gz tar zxvf stone-2.3e.tar.gz cd stone-2.3d-2.3.2.7/ vi Makefile # see below make linux-ssl cp -a stone /usr/local/bin

StoneをLinuxでビルドする - Pieces of Thoughts を参考に Makefile に -D_GNU_SOURCE を追加するだけで OK でした。

$ diff -u Makefile{.org,}

--- Makefile.org 2008-02-05 08:00:00.000000000 +0900 +++ Makefile 2013-11-19 21:40:32.675584467 +0900 @@ -97,7 +97,7 @@ $(MAKE) FLAGS="-DNT_SERVICE $(FLAGS)" LIBS="$(LIBS) $(SVC_LIBS) -ladvapi32 -luser32 -lshell32 -lkernel32" $(TARGET) linux: - $(MAKE) FLAGS="-O -Wall -DCPP='\"/usr/bin/cpp -traditional\"' -DPTHREAD -DUNIX_DAEMON -DPRCTL -DSO_ORIGINAL_DST=80 -DUSE_EPOLL $(FLAGS)" LIBS="-lpthread $(LIBS)" stone + $(MAKE) FLAGS="-O -Wall -DCPP='\"/usr/bin/cpp -traditional\"' -DPTHREAD -DUNIX_DAEMON -DPRCTL -DSO_ORIGINAL_DST=80 -DUSE_EPOLL -D_GNU_SOURCE $(FLAGS)" LIBS="-lpthread $(LIBS)" stone linux-pop: $(MAKE) TARGET=linux pop_stone

参考

Feature Test Macros - The GNU C Library

— Macro: _GNU_SOURCE
If you define this macro, everything is included: ISO C89, ISO C99, POSIX.1, POSIX.2, BSD, SVID, X/Open, LFS, and GNU extensions. In the cases where POSIX.1 conflicts with BSD, the POSIX definitions take precedence.

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/6283
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン