Re: [OT] Extending Ruby and Java in Mac OS X
Re: [OT] Extending Ruby and Java in Mac OS X
- Subject: Re: [OT] Extending Ruby and Java in Mac OS X
- From: Nicholas Riley <email@hidden>
- Date: Fri, 15 Aug 2003 22:41:03 -0500
- Mail-followup-to: Robert Burns <email@hidden>, email@hidden
On Fri, Aug 15, 2003 at 06:47:55PM -0500, Robert Burns wrote:
>
I have a question about extending the Ruby and Java languages in Mac
>
OS X. I have a project that I am ready to begin work on (a
>
cross-platform OpenGL-based GUI toolkit), and I want it to work in
>
various languages including Ruby and Java. The back-end will be written
>
in C.
>
>
So, I have been experimenting with various Ruby and Java extensions,
>
and I cannot seem to get any of them to work. More specifically, I fail
>
at link time with the message that basically shared libraries are not
>
supported in Mac OS X. Two questions:
>
>
1) WTF?
"TF" is that OS X's Mach-O libaries and ld/dyld linker are unlike
other Unices, from the difference between Mach-O bundles and dynamic
libraries to the nonstandard linking order, two-level namespace,
prebinding, and several other issues. There are usually quite good
reasons for OS X being "different", and as OS X evolves, some of the
differences disappear (e.g., Panther's ld provides an option to use
standard linking order).
Also, many free software programs use GNU libtool (not to be confused
with Apple's libtool) to help them generate cross-platform shared
libraries succesfully. GNU libtool did not support Mac OS X properly
until very recently, the version of GNU libtool Apple ships is broken,
and Mac OS X exposes some subtle bugs in applications' use of GNU
libtool
>
2) How do I get around this problem, and extend these languages?
Take a look at the Fink porting guide at:
<
http://fink.sourceforge.net/doc/porting/index.php>
Also read Apple's Unix porting documentation on developer.apple.com,
the relevant Mac OS X release notes, and the man page for ld, very
carefully. There's a lot of information out there if you are willing
to look.
Another suggestion - read and search the list archives of the Python
and Tcl Mac porting efforts. Both of these have very well-integrated
Mac shared library builds.
And post to darwin-development, java-dev and/or macosx-dev, where this
subject is far more on-topic than it is in cocoa-dev.
--
=Nicholas Riley <email@hidden> | <
http://www.uiuc.edu/ph/www/njriley>
Pablo Research Group, Department of Computer Science and
Medical Scholars Program, University of Illinois at Urbana-Champaign
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.