Menu

#16 Compile jskeus on Darwin(Mountain Lion 10.8.2, Build 12C54)

None
open
None
2013-04-15
2012-10-12
Anonymous
No

Index: irteus/irtgl.l

--- irteus/irtgl.l (revision 861)
+++ irteus/irtgl.l (working copy)
@@ -28,7 +28,12 @@

(let (gl-lib)
#+:darwin
- (setq gl-lib ( load-foreign "/opt/local/lib/libGL.dylib"))
+ (progn
+ (cond
+ ((probe-file "/opt/local/lib/libGL.dylib")
+ (setq gl-lib ( load-foreign "/opt/local/lib/libGL.dylib")))
+ (t
+ (setq gl-lib ( load-foreign "/opt/X11/lib/libGL.dylib")))))

Index: irteus/irtx.l

--- irteus/irtx.l (revision 861)
+++ irteus/irtx.l (working copy)
@@ -53,7 +53,9 @@

(let (x-lib pname)
#+:darwin
- (setq pname "/opt/local/lib/libX11.dylib")
+ (if (probe-file "/opt/local/lib/libX11.dylib")
+ (setq pname "/opt/local/lib/libX11.dylib")
+ (setq pname "/opt/X11/lib/libX11.dylib"))

Discussion

  • Kei Okada

    Kei Okada - 2012-10-12
    • assigned_to: nobody --> k-okada
     
  • Kei Okada

    Kei Okada - 2012-10-12

    r852で対応しました.
    Makefileも-L/opt/X11/lib みたいなのをつけている気がしますが,あればそれもおくってください.
    また,macがportなのか,homebewなのか区別する方法をしっていたら教えてください.

     
  • furushchev

    furushchev - 2012-10-17

    調べたところMacOSXに標準で入っているX11の標準インストールディレクトリが/usr/X11/, 最新版のX11を含むXQuartzのデフォルトインストールディレクトリが/opt/X11/のようです。
    MacOSX 10.5 Leopardから10.7 LionまではOSインストールと同時にインストールされますが、10.8 Mountain Lionから任意インストール(標準では含まれない)になったようです。
    10.8をクリーンインストールした環境でXQuartzの最新版(2.7.4)をインストールしたところ、(おそらく互換性維持のため)/opt/X11/から/usr/X11/へシンボリックリンクを自動で張るようになっていたので、コードとしては/usr/X11/を指定するのが無難だと思われます。
    以上を踏まえて、Rev.862に対して以下の修正をすることで、
    MacOSX 10.8.2(Build 12C60),
    XQuartz 2.7.4
    の環境でコンパイルに成功しました。

    Index: eus/lisp/Makefile.generic1

    --- eus/lisp/Makefile.generic1 (revision 580)
    +++ eus/lisp/Makefile.generic1 (working copy)
    @@ -27,7 +27,8 @@
    -GLINCLUDE=-I/usr/local/Mesa/include/
    +GLINCLUDE=-I/usr/X11/include/

    Index: eus/lisp/Makefile.Darwin

    --- eus/lisp/Makefile.Darwin (revision 580)
    +++ eus/lisp/Makefile.Darwin (working copy)
    @@ -78,7 +78,8 @@
    -XLIB= -L/opt/local/lib -lX11
    +XLIB= -L/usr/X11/lib -lX11

    # specify directories where euslisp's libraries are located.
    EUSLIB= -L$(ADLIBDIR)
    Index: eus/lisp/xwindow/xforeign.c.c
    ===================================================================
    --- eus/lisp/xwindow/xforeign.c.c (revision 580)
    +++ eus/lisp/xwindow/xforeign.c.c (working copy)
    @@ -427,6 +427,8 @@
    #elif Darwin
    eusinteger_t dlhandle;
    dlhandle=(eusinteger_t)dlopen("/opt/local/lib/libX11.dylib", RTLD_LAZY);
    + if(dlhandle == 0)
    + dlhandle=(eusinteger_t)dlopen("/usr/X11/lib/libX11.dylib",RTLD_LAZY);
    entry=(eusinteger_t)dlsym(dlhandle, xentry);
    #else
    entry=(eusinteger_t)dlsym((void *)((eusinteger_t)(sysmod->c.ldmod.handle) & ~3), xentry);
    Index: irteus/irtx.l
    ===================================================================
    --- irteus/irtx.l (revision 862)
    +++ irteus/irtx.l (working copy)
    @@ -56,7 +56,7 @@
    #+:darwin
    (if (probe-file "/opt/local/lib/libX11.dylib")
    (setq pname "/opt/local/lib/libX11.dylib")
    - (setq pname "/opt/X11/lib/libX11.dylib"))
    + (setq pname "/usr/X11/lib/libX11.dylib"))
    #+:cygwin
    (if (probe-file "/usr/bin/cygX11-6.dll")
    (setq pname "/usr/bin/cygX11-6.dll")
    Index: irteus/irtgl.l
    ===================================================================
    --- irteus/irtgl.l (revision 862)
    +++ irteus/irtgl.l (working copy)
    @@ -33,7 +33,7 @@
    ((probe-file "/opt/local/lib/libGL.dylib")
    (setq gl-lib ( load-foreign "/opt/local/lib/libGL.dylib")))
    (t
    - (setq gl-lib ( load-foreign "/opt/X11/lib/libGL.dylib")))))
    + (setq gl-lib ( load-foreign "/usr/X11/lib/libGL.dylib")))))
    #+:cygwin
    (progn
    (cond

    なお以上の通りX11のインストールディレクトリの差異が原因のため、macports/homebrewはこれらの問題に無関係のようです。一応判別は"which port" or "which brew"で返り値の有無を調べることで可能だと思われます。

     
  • Nobody/Anonymous

    Greetings! Quick question that's completely off topic. Do you know how to make your site mobile friendly? My blog looks weird when browsing from my iphone 4. I'm trying to find a theme or plugin that might be able to resolve this issue. If you have any recommendations, please share. Thank you!
    north face jackets on sale http://northfaceoutletstore.railblogs.com/

     
  • Kei Okada

    Kei Okada - 2013-04-15

    Ticket moved from /p/jskeus/patches/4/

    Can't be converted:

    • _milestone:
    • _priority: 5
     

Log in to post a comment.

MongoDB Logo MongoDB