Home Comments

IceRuby 3.2 on OSX

ctennisctennis Member Caleb TennisOrganization: AEIProject: Project GINA ✭✭✭
I've been working on upgrading some of my "test" systems to play with the new Ice. Ran into one "gotcha" so far:

I used the prebuilt package of OSX. I next installed IceCS, and that worked great. Next I tried to build IceRuby, but it complained:

caleb-tennis-computer:~/Desktop/IceRuby-3.2b caleb$ make
config/Make.rules:131: /opt/Ice-3.2b/config/Make.rules.Darwin: No such file or directory
config/Make.rules:177: *** You need to define mkshlib in Make.rules.Darwin. Stop.

It seems that the binary package for OSX doesn't come with a Darwin config file that IceRuby would like to have for the install.

Comments

  • ctennisctennis Member Caleb TennisOrganization: AEIProject: Project GINA ✭✭✭
    Note that I simply copied Make.rules.Darwin over from the source package into my Ice's config directory and all worked great.
  • fmoyafmoya Member Francisco MoyaOrganization: UCLMProject: Debian packages ✭✭
    Build system coupling

    The build system used in most Ice packages assume that an existing Ice for C++ is available at ICE_HOME. This is a bit unfortunate for binary packagers. We must deal with these on a case by case basis unless we use a single source package for all of Ice packages.

    If I understood correctly this is on purpose and indeed 3.2b increases such build-time dependencies (IcePHP is now built from a hand-made makefile instead of phpize).

    This is against what I believe it is the usual packaging policy at ZeroC. For example you may see the Slice source files replicated on all Ice packages and the makefile selects the private copy only if Ice for C++ is not available.

    I wonder if ZeroC is willing to accept patches that also reduce coupling in the build system if Ice for C++ is not available.
  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Ice for Python, PHP and Ruby depend on Ice for C++ -- you can't build or run any of them if you don't have Ice for C++. Including the slice files in these source distributions was a mistake which has been corrected for 3.2.0.

    Cheers,
    Bernard
  • ctennisctennis Member Caleb TennisOrganization: AEIProject: Project GINA ✭✭✭
    Right, but I have Ice for C++. I just have the prebuilt binary version.

    So what you're saying is that these utilities require Ice for C++, but the version that has to be built from source?
  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    You can build Ice for Ruby (PHP, Python) from source using an Ice for C++ binary distribution (or your own installation).

    However in Ice 3.2b, this did not work with an Ice RPM installation; this bug is now fixed.

    Cheers,
    Bernard
Sign In or Register to comment.