Gauche > Archives > 2015/11/12

2015/11/12 08:48:16 UTCenami
#
gauche の HEAD, clean な tree を build しようとすると、OSX では失敗しますね。
#
=== configuring in gc (/tmp/Gauche/gc)
configure: running /bin/sh ./configure.gnu --disable-option-checking '--prefix=/usr/local'  '--enable-multibyte=utf-8' --cache-file=/dev/null --srcdir=.
./configure.gnu: line 6: ./configure.gnu-gauche: Permission denied
configure: error: ./configure.gnu failed for gc
#
まず、./configure を実行すると、CONFIG_SHELL が空のようで、上記のようなエラーになります。
2015/11/12 08:50:38 UTCshiro
#
pr #114だと思います。調査中。
2015/11/12 08:51:18 UTCenami
#
空な場合は /bin/sh を設定するようにして先に進むと、ssltest.mod.c を作るところで OSX の readlink には -f オプションがないので、以下のようなエラーになります。
2015/11/12 08:51:33 UTCshiro
#
readlink -fはMinGWも心配なんですよね。
2015/11/12 08:51:36 UTCenami
#
sed -e "s@\.\./ssl/@$(readlink -f .)/axTLS/ssl/@g" \
        -e "s/system/safe_system/g" \
            -e "s@openssl @sh $(readlink -f .)/kick_openssl @g" \
                ./axTLS/ssl/test/ssltest.c >> axTLS/ssl/test/ssltest.mod.c
readlink: illegal option -- f
usage: readlink [-n] [file ...]
readlink: illegal option -- f
usage: readlink [-n] [file ...]
#
ssltest.mod.c のコンパイル自体は成功しますが、 SYSTEM("sh /axTLS/ssl/test/killgnutls.sh"); とかになっちゃってるので、おそらくテストを実行するとフェイルしそうです。
2015/11/12 08:53:37 UTCshiro
#
absolute pathが欲しいだけなんだよなあ。
2015/11/12 08:55:59 UTCenami
#
autoconf が提供する変数の中に適当なのないんですかね。
#
ないから無理やり readlink なのかな。
2015/11/12 23:04:42 UTCenami
#
configure を読んでみると、SHELL を CONFIG_SHELL or /bin/sh に設定しているみたいなので、gc/configure.gnu では単に $SHELL でもいいような感じ。
2015/11/12 23:18:38 UTCshiro
#
linuxとOSXで差が出たのはCONFIG_SHELLがexportされてるかどうか?
#
とりあえずSHELLにすればconfigureは通りますね。
2015/11/12 23:23:13 UTCenami
#
linux は試してないですが、linux だと CONFIG_SHELL export されます?
2015/11/12 23:28:50 UTCenami
#
確かに linux だと export CONFIG_SHELL って実行されますね。
2015/11/12 23:38:43 UTCenami
#
OSX は if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then の then 節を実行するけど、linux では else 節の方を実行するみたいですね。
2015/11/12 23:44:07 UTCenami
#
OSX は /bin/sh が bash なので $LINENO があるけど、linux (というか、ubuntu) では /bin/sh が dash なので $LINENO がないので差が出てるのかな。