Archived

This forum has been archived. Please start a new discussion on GitHub.

Trouble installing Ice on Python

Hello everyone,

I am having trouble installing Ice on Python. I am running MacOS X 10.5 and Python 2.5.1. I tried to install the binary but whenever Python tried to load Ice it crashed. I then tried to recompile it myself and am getting the following error:

making all in src
making all in IceUtil
make[2]: Nothing to be done for `all'.
making all in Slice
rm -f ../../lib/libSlice.3.3.1.dylib
c++ -dynamiclib -g -ftemplate-depth-128 -Wall -D_REENTRANT -L../../lib -o ../../lib/libSlice.3.3.1.dylib Scanner.o ../Slice/Grammar.o Parser.o CPlusPlusUtil.o CsUtil.o JavaUtil.o Preprocessor.o Checksum.o PythonUtil.o DotNetNames.o RubyUtil.o Util.o FileTracker.o MD5.o MD5I.o -lIceUtil -lmcpp
ld: library not found for -lmcpp
collect2: ld returned 1 exit status
make[2]: *** [../../lib/libSlice.3.3.1.dylib] Error 1
make[1]: *** [all] Error 1
make: *** [all] Error 1
MD-GrieshaberG5-0536A:cpp microscopelab$

Any help would be appreciated. Thank you.

Comments

  • matthew
    matthew NL, Canada
    If you want to compile it yourself you have to install the third party requirements - see //www.zeroc.com/download.html#src_third_party. However, the binary distribution should work. What exactly were you doing, and what crash did you get? All that you should have to do is:
    cd /opt
    sudo tar xfz <binary-dist>
    sudo ln -s Ice-3.3.1 Ice-3.3
    export PYTHONPATH=/opt/Ice-3.3/python
    python
    import Ice
    
  • Thanks for the quick response.

    MD-GrieshaberG5-0536A:opt microscopelab$ export PYTHONPATH=/opt/Ice-3.3/python
    MD-GrieshaberG5-0536A:opt microscopelab$ python
    Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04)
    [GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import Ice
    Fatal Python error: Interpreter not initialized (version mismatch?)
    Abort trap
    MD-GrieshaberG5-0536A:opt microscopelab$

    A window pops up saying "The application Python quit unexpectedly"
  • matthew
    matthew NL, Canada
    For whatever reason we're using different python builds. What version of OS X are you running? I'm using 10.5.6.
    october:demo matthew$ export PYTHONPATH=/opt/Ice-3.3/python
    october:demo matthew$ ls -ldg /opt/Ice-3.3
    lrwxr-xr-x  1 admin  9 Apr  1 08:34 /opt/Ice-3.3@ -> Ice-3.3.1
    october:demo matthew$ ls -ldg /opt/Ice-3.3.1
    drwxr-xr-x@ 16 501  544 Mar 23 06:28 /opt/Ice-3.3.1/
    october:demo matthew$ python
    Python 2.5.1 (r251:54863, Jan 13 2009, 10:26:13) 
    [GCC 4.0.1 (Apple Inc. build 5465)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import Ice
    >>> 
    
  • matthew wrote: »
    For whatever reason we're using different python builds. What version of OS X are you running? I'm using 10.5.6.
    I am currently running MaxOS X 10.5.6 with Python 2.5.1. I thought this might be an error with the version of python so I installed 2.6.1 and then downgraded to 2.5.4 and had the same error with all of them.
  • matthew
    matthew NL, Canada
    It sounds to me like somehow you messed up your python installation. If you cannot recover it to the standard installation, then you can compile Ice from source if you install the third parties as I advised.
  • matthew wrote: »
    It sounds to me like somehow you messed up your python installation. If you cannot recover it to the standard installation, then you can compile Ice from source if you install the third parties as I advised.

    I looked into and found that the stock version of Python is 2.5.2. I re-downloaded the XCode for my mac. This updated python back to the stock version but am still getting the same error message.

    I tried compiling Ice from my source but got the error message that I posted to begin the thread.
    jtizzi wrote:
    making all in src
    making all in IceUtil
    make[2]: Nothing to be done for `all'.
    making all in Slice
    rm -f ../../lib/libSlice.3.3.1.dylib
    c++ -dynamiclib -g -ftemplate-depth-128 -Wall -D_REENTRANT -L../../lib -o ../../lib/libSlice.3.3.1.dylib Scanner.o ../Slice/Grammar.o Parser.o CPlusPlusUtil.o CsUtil.o JavaUtil.o Preprocessor.o Checksum.o PythonUtil.o DotNetNames.o RubyUtil.o Util.o FileTracker.o MD5.o MD5I.o -lIceUtil -lmcpp
    ld: library not found for -lmcpp
    collect2: ld returned 1 exit status
    make[2]: *** [../../lib/libSlice.3.3.1.dylib] Error 1
    make[1]: *** [all] Error 1
    make: *** [all] Error 1
    MD-GrieshaberG5-0536A:cpp microscopelab$
  • bernard
    bernard Jupiter, FL
    If you want to build Ice yourself on Mac OS, you need to build first a number of third-party dependencies. One of these dependencies is the mcpp library. See the README in our third-party source archive:

    http://www.zeroc.com/download.html#src_third_party

    Best regards,
    Bernard
  • same issue

    I'm installing Ice-3.3.1 on OSX 10.5 i386 as a prerequisite to OMERO and having the same problems as jtizzi.

    I downloaded the binary from here: http://www.zeroc.com/download/Ice/3.3/Ice-3.3.1-bin-macosx.tar.gz and followed the directions in the readme and repeated here: here.

    Specifically:
    unpack Ice-3.3.1-bin-macosx.tar.gz by using the Archive Utility on my Mac
    Move Ice-3.3.1/ to /opt
    and add the following to ~/.bash_profile
    export ICE_HOME=/opt/Ice-3.3.1
    export PATH=$PATH:$ICE_HOME/bin
    export PYTHONPATH=$ICE_HOME/python:$PYTHONPATH
    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$ICE_HOME/lib
    
    and Finally:
    $ python
    Python 2.5.4 (r254:67917, Dec 23 2008, 14:57:27) 
    [GCC 4.0.1 (Apple Computer, Inc. build 5363)] on darwin
    >>> import Ice
    Fatal Python error: Interpreter not initialized (version mismatch?)
    Abort trap
    

    After repeated tweaks to the above and attempting to use Ice-3.4.1 (only to find it was apparently built for 10.6), I moved on to try to install from source. I was able to install bzip2, db-4.8, expat, and mcpp, but got stuck when I got to forms-1.3.0 with the following error:
    $ant test
    ...
    BUILD FAILED
    /Users/afraser/Downloads/ThirdParty-Sources-3.4.1/forms-1.3.0/build.xml:226: The <classpath> for <junit> must include junit.jar if not in Ant's own classpath
    
    I have:
    ANT_HOME=/usr/share/ant
    
    Maybe I need to change my CLASSPATH somehow for junit(?)

    I don't know where to go at this point since I can't seem to find a path of least resistance. Could anyone give me a hand?

    Cheers,
    Adam
  • bernard
    bernard Jupiter, FL
    Hi Adam,

    Welcome to our forums!

    The simplest is probably to use an existing binary distribution, i.e.

    - the ZeroC Ice 3.3.1 binary distribution for MacOS X

    and then you use the Ice 3.3.1 source distribution only to build Ice for Python with your favorite Python version--you don't need to rebuild everything


    - the MacPorts Ice 3.3 binary distribution
    See The MacPorts Project -- Available Ports


    Building everything from sources is also possible. In the case of JGoodies, you also simply use the JAR files they provide:
    JGoodies :: Downloads :: Libraries

    Best regards,
    Bernard
  • Thanks for the quick reply :)

    I forgot to mention that I gave macports a try and came up dry:
    r$ sudo port install ice-python25
    --->  Computing dependencies for ice-python25
    --->  Verifying checksum(s) for db46
    Error: Checksum (md5) mismatch for patch.4.6.21.1
    Error: Checksum (md5) mismatch for patch.4.6.21.2
    Error: Checksum (md5) mismatch for patch.4.6.21.3
    Error: Checksum (md5) mismatch for patch.4.6.21.4
    Error: Target org.macports.checksum returned: Unable to verify file checksums
    Error: The following dependencies failed to build: ice-cpp db46 mcpp python25 bzip2 gdbm sqlite3 tk tcl xorg-libXScrnSaver xorg-scrnsaverproto
    Error: Status 1 encountered during processing.
    Before reporting a bug, first run the command again with the -d flag to get complete output.
    

    and I couldn't find any ports with the name ice33
    $ sudo port install ice33-python25
    Error: Port ice33-python25 not found
    Before reporting a bug, first run the command again with the -d flag to get complete output.
    $ port search ice33-python25
    No match for ice33-python25 found
    

    Still new to macports... maybe I'm doing something silly?
  • works!

    Thanks so much. I downloaded the source and then was away for a while. When I came back I forgot that you said I didn't need to build cpp/ and all the third party stuff, so I cleaned out /opt/Ice and started over. Man, that was an ugly path.

    Anyway, I moved the binary dist back to /opt, and built Ice for Python and things are finally working!

    Thanks again.