|
|
|
|||||
|
Using IceRuby 3.2.1 on OSX
I was able to successfully compile IceRuby 3.2.1 using the Ice for OSX binary (with some help from the following:
Quote:
However, I cannot get Ruby to recognize IceRuby. I followed the directions for Linux by doing (and yes, I substituted /opt/IceRuby-3.2.1/ for where I really have it installed): Quote:
Quote:
__________________
Tyler Cook California University of Pennsylvania http://www.cup.edu Project: Attempting to build a client that connects to a Qwerk Robot Controller (which uses Ice as their server). Last edited by Tylo : 03-04-2008 at 03:54 PM. |
|
|||||
|
Quote:
Quote:
This is an account of everything I did in order to try and configure Ruby to recognize IceRuby: Quote:
Quote:
__________________
Tyler Cook California University of Pennsylvania http://www.cup.edu Project: Attempting to build a client that connects to a Qwerk Robot Controller (which uses Ice as their server). |
|
||||||
|
Note that you are missing some $ signs.
Code:
$ export LD_LIBRARY_PATH=/Users/tylo/Documents/Programs/IceRuby-3.2.1/lib:LD_LIBRARY_PATH $ export DYLD_LIBRARY_PATH=/Users/tylo/Documents/Programs/IceRuby-3.2.1/libYLD_LIBRARY_PATH I expect you are not linking the IceRuby bundle correctly. You need to do something like: Code:
c++ -dynamic -bundle -g -ftemplate-depth-128 -Wall -D_REENTRANT -L../../ruby -o ../../ruby/IceRuby.3.2.1.bundle Communicator.o Init.o ImplicitContext.o Logger.o ObjectFactory.o Operation.o Properties.o Proxy.o Slice.o Types.o Util.o -L../../ruby -L../../../cpp/lib -lIce -lSlice -lIceUtil -L/usr/local/lib -lruby |
|
|||||
|
First, I'd like to thank you for your help so far. It's much appreciated. I've fixed the missing $ sign (good eye), but it did not yield any results, unfortunately.
Quote:
Infact, I just stumbled across this, which appeared somewhere during the Make process: Quote:
__________________
Tyler Cook California University of Pennsylvania http://www.cup.edu Project: Attempting to build a client that connects to a Qwerk Robot Controller (which uses Ice as their server). |
|
||||||
|
Quote:
Quote:
Code:
mklibfilename = $(if $(2),$(1).$(2).bundle,$(1).bundle)
mksoname = $(if $(2),$(1).$(2).bundle,$(1).bundle)
mklibname = $(1).bundle
curdir = $(shell pwd)
ifeq ($(OPTIMIZE),yes)
ifneq ($(embedded_runpath_prefix),)
mkshlib = $(CXX) -bundle $(shlibldflags) -o $(1) -install_name $(runpath_libdir)/$(2) $(3) $(4)
else
mkshlib = $(CXX) -bundle $(shlibldflags) -o $(1) -install_name $(2) $(3) $(4)
endif
else
# Don't use -install_name if we're building a debug version. GDB doesn't honor the
# DYLD_LIBRARY_PATH environment variable if a runpath is embedded in the
# executables or libraries.
mkshlib = $(CXX) -bundle $(shlibldflags) -o $(1) $(3) $(4)
endif
|
|
|||||
|
Ok, I went ahead and did what you asked, and re-ran the make process. I believe something went wrong, perhaps because I already ran it once before. Maybe you can see what went wrong?
Quote:
Quote:
__________________
Tyler Cook California University of Pennsylvania http://www.cup.edu Project: Attempting to build a client that connects to a Qwerk Robot Controller (which uses Ice as their server). |
|
||||||
|
Quote:
|
|
|||||
|
Quote:
Code:
export DYLD_LIBRARY_PATH=/Users/tylo/Documents/Programs/IceRuby-3.2.1/lib:$DYLD_LIBRARY_PATH I also noticed that the path it is looking for is: /opt/Ice-3.2/lib/libIce.32.dylib , but I have Ice-3.2.1.
__________________
Tyler Cook California University of Pennsylvania http://www.cup.edu Project: Attempting to build a client that connects to a Qwerk Robot Controller (which uses Ice as their server). |
|
|||||
|
I think I'll make life easier by putting all the Ice components into /opt
Also, I just found out that TeRK requires Ice 3.1.1, so I'll be getting rid of Ice 3.2.1. I also found out that making a symbolic link Code:
sudo mkdir /opt cd /opt sudo ln -s /Users/tylo/Documents/Programs/IceRuby-3.2.1 /opt/Ice-3.2 EDIT: The "solution" in red didn't actually work... I'll be back here to report how everything goes... Thanks,
__________________
Tyler Cook California University of Pennsylvania http://www.cup.edu Project: Attempting to build a client that connects to a Qwerk Robot Controller (which uses Ice as their server). Last edited by Tylo : 03-06-2008 at 01:03 PM. |
|
||||||
|
You said:
Quote:
Earlier you said: Code:
export DYLD_LIBRARY_PATH=/Users/tylo/Documents/Programs/Ice-3.2.1/lib:$DYLD_LIBRARY_PATH If, after correctly setting the DY_LIBRARY_PATH, you cannot get it work you have a couple of alternatives. The simplest is for you to install Ice into /opt. Another is to change the build of Ice to not embed the runtime path for the shared library into the Ice library. Quote:
Code:
# # The "root directory" for runpath embedded in executables. Can be unset # to avoid adding a runpath to Ice executables. # embedded_runpath_prefix ?= /opt/Ice-$(1VERSION_MAJOR).$(VERSION_MINOR) |
|
|||||
|
Quote:
Thanks for all the help, Matthew.
__________________
Tyler Cook California University of Pennsylvania http://www.cup.edu Project: Attempting to build a client that connects to a Qwerk Robot Controller (which uses Ice as their server). |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| IceRuby in RubyonRail | rama | Help Center | 2 | 03-15-2007 10:11 AM |
| IceRuby 3.2 on OSX | ctennis | Comments | 5 | 03-09-2007 01:08 PM |
| Possible IceRuby bug? | jesse@mind.net | Bug Reports | 2 | 01-04-2007 05:55 PM |
| OSX package on Intel MAC | ctennis | Bug Reports | 2 | 11-23-2006 09:32 PM |
| got some errors when compiling Ice-3.0.0 in Mac osX 10.4 | zhangzq71 | Help Center | 2 | 12-16-2005 11:10 PM |