Archived

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

Unable to compile Ice

Hello,
I am on Slackware 12.1 operating system and Ice isn't include in this distro.
In order to compile Ice, I have installed :
  • mcpp-2.7.2
  • jdk-6u6
  • apache-ant-1.7.1
I try to compile Ice-3.3.0, but there is an error :
...
Buildfile: build.xml

config-init-warn:

config-init:

tasks:

task-init:

generate:
skipping BuiltinSequences.ice
skipping Communicator.ice
skipping Connection.ice
skipping Current.ice
skipping Endpoint.ice
skipping FacetMap.ice
skipping Identity.ice
skipping ImplicitContext.ice
skipping LocalException.ice
skipping Locator.ice
skipping Logger.ice
skipping ObjectAdapter.ice
skipping ObjectFactory.ice
skipping Plugin.ice
skipping Process.ice
skipping Properties.ice
skipping Router.ice
skipping ServantLocator.ice
skipping SliceChecksumDict.ice
skipping Stats.ice
skipping Communicator.ice
skipping Connection.ice
skipping Current.ice
skipping Endpoint.ice
skipping FacetMap.ice
skipping Identity.ice
skipping ImplicitContext.ice
skipping LocalException.ice
skipping Locator.ice
skipping Logger.ice
skipping ObjectAdapter.ice
skipping ObjectFactory.ice
skipping Plugin.ice
skipping Process.ice
skipping Properties.ice
skipping Router.ice
skipping ServantLocator.ice
skipping SliceChecksumDict.ice
skipping Stats.ice
skipping BackgroundSaveEvictor.ice
skipping CatalogData.ice
skipping Connection.ice
skipping DB.ice
skipping Evictor.ice
skipping EvictorStorage.ice
skipping Exception.ice
skipping Transaction.ice
skipping TransactionalEvictor.ice
skipping Communicator.ice
skipping Connection.ice
skipping Current.ice
skipping Endpoint.ice
skipping FacetMap.ice
skipping Identity.ice
skipping ImplicitContext.ice
skipping LocalException.ice
skipping Locator.ice
skipping Logger.ice
skipping ObjectAdapter.ice
skipping ObjectFactory.ice
skipping Plugin.ice
skipping Process.ice
skipping Properties.ice
skipping Router.ice
skipping ServantLocator.ice
skipping SliceChecksumDict.ice
skipping Stats.ice
skipping BackgroundSaveEvictor.ice
skipping CatalogData.ice
skipping Connection.ice
skipping DB.ice
skipping Evictor.ice
skipping EvictorStorage.ice
skipping Exception.ice
skipping Transaction.ice
skipping TransactionalEvictor.ice
skipping PingObject.ice
/home/yugiohjcj/Ice-3.3.0/java/../cpp/bin/slice2freezej  --output-dir /home/yugiohjcj/Ice-3.3.0/java/generated -I/home/yugiohjcj/Ice-3.3.0/slice --dict Freeze.Catalog,string,Freeze::CatalogData /home/yugiohjcj/Ice-3.3.0/slice/Freeze/CatalogData.ice
/home/yugiohjcj/Ice-3.3.0/slice/Freeze/CatalogData.ice:0: warning: Unknown encoding: fr_FR@euro
    
make[1]: quittant le r?pertoire ? /home/yugiohjcj/Ice-3.3.0/java ?
BUILD FAILED
java.lang.ArrayIndexOutOfBoundsException: 0
        at SliceTask.parseDependencies(Unknown Source)
        at Slice2FreezeJTask.execute(Unknown Source)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
        at org.apache.tools.ant.Main.runBuild(Main.java:758)
        at org.apache.tools.ant.Main.startAnt(Main.java:217)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

Total time: 2 seconds
Do you know what is the problem?
Thank you.

Comments

  • dwayne
    dwayne St. John's, Newfoundland
    I believe the cause of this issue might be a bug in mcpp 2.7.2. Could you try applying the attached patch to mcpp 2.7.2
    $ cd mcpp-2.7.2
    $ patch -p0 < mcpp-2.7.2.patch.txt
    

    and then rebuild mcpp and Ice. Please let us know if this solves your problem.
  • With the patch

    Thanks for the patch.
    With this mcpp patch, the mcpp & Ice rebuild : the problem is not resolved.
    I think it's the same error :
    Buildfile: build.xml
    
    config-init-warn:
    
    config-init:
    
    tasks:
    Created dir: /home/yugiohjcj/Ice-3.3.0/java/lib/ant
    Compiling 5 source files to /home/yugiohjcj/Ice-3.3.0/java/lib/ant
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    Building jar: /home/yugiohjcj/Ice-3.3.0/java/lib/ant-ice.jar
    
    task-init:
    
    generate:
    Created dir: /home/yugiohjcj/Ice-3.3.0/java/generated
    /home/yugiohjcj/Ice-3.3.0/java/../cpp/bin/slice2java  --output-dir /home/yugiohjcj/Ice-3.3.0/java/generated -I/home/yugiohjcj/Ice-3.3.0/slice --stream --ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/BuiltinSequences.ice
    /home/yugiohjcj/Ice-3.3.0/slice/Ice/BuiltinSequences.ice:0: warning: Unknown encoding: fr_FR@euro
        
    /home/yugiohjcj/Ice-3.3.0/java/../cpp/bin/slice2java  --output-dir /home/yugiohjcj/Ice-3.3.0/java/generated -I/home/yugiohjcj/Ice-3.3.0/slice --ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Communicator.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Connection.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Current.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Endpoint.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/FacetMap.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Identity.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/ImplicitContext.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/LocalException.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Locator.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Logger.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/ObjectAdapter.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/ObjectFactory.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Plugin.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Process.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Properties.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Router.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/ServantLocator.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/SliceChecksumDict.ice /home/yugiohjcj/Ice-3.3.0/slice/Ice/Stats.ice /home/yugiohjcj/Ice-3.3.0/slice/Freeze/BackgroundSaveEvictor.ice /home/yugiohjcj/Ice-3.3.0/slice/Freeze/CatalogData.ice /home/yugiohjcj/Ice-3.3.0/slice/Freeze/Connection.ice /home/yugiohjcj/Ice-3.3.0/slice/Freeze/DB.ice /home/yugiohjcj/Ice-3.3.0/slice/Freeze/Evictor.ice /home/yugiohjcj/Ice-3.3.0/slice/Freeze/EvictorStorage.ice /home/yugiohjcj/Ice-3.3.0/slice/Freeze/Exception.ice /home/yugiohjcj/Ice-3.3.0/slice/Freeze/Transaction.ice /home/yugiohjcj/Ice-3.3.0/slice/Freeze/TransactionalEvictor.ice /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/PingObject.ice
    /home/yugiohjcj/Ice-3.3.0/slice/Ice/Communicator.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Connection.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Current.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Endpoint.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/FacetMap.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Identity.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/ImplicitContext.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/LocalException.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Locator.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Logger.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/ObjectAdapter.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/ObjectFactory.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Plugin.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Process.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Properties.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Router.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/ServantLocator.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/SliceChecksumDict.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Ice/Stats.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Freeze/BackgroundSaveEvictor.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Freeze/CatalogData.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Freeze/Connection.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Freeze/DB.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Freeze/Evictor.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Freeze/EvictorStorage.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Freeze/Exception.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Freeze/Transaction.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/slice/Freeze/TransactionalEvictor.ice:0: warning: Unknown encoding: fr_FR@euro
        /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/PingObject.ice:0: warning: Unknown encoding: fr_FR@euro
        
    /home/yugiohjcj/Ice-3.3.0/java/../cpp/bin/slice2freezej  --output-dir /home/yugiohjcj/Ice-3.3.0/java/generated -I/home/yugiohjcj/Ice-3.3.0/slice --dict Freeze.Catalog,string,Freeze::CatalogData /home/yugiohjcj/Ice-3.3.0/slice/Freeze/CatalogData.ice
    /home/yugiohjcj/Ice-3.3.0/slice/Freeze/CatalogData.ice:0: warning: Unknown encoding: fr_FR@euro
        
    
    BUILD FAILED
    java.lang.ArrayIndexOutOfBoundsException: 0
            at SliceTask.parseDependencies(Unknown Source)
            at Slice2FreezeJTask.execute(Unknown Source)
            at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
            at org.apache.tools.ant.Task.perform(Task.java:348)
            at org.apache.tools.ant.Target.execute(Target.java:357)
            at org.apache.tools.ant.Target.performTasks(Target.java:385)
            at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
            at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
            at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
            at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
            at org.apache.tools.ant.Main.runBuild(Main.java:758)
            at org.apache.tools.ant.Main.startAnt(Main.java:217)
            at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
            at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
    
    Total time: 9 seconds
    make[1]: *** [all] Erreur 1
    make[1]: quittant le r?pertoire ? /home/yugiohjcj/Ice-3.3.0/java ?
    make: *** [all] Erreur 1
    
  • dwayne
    dwayne St. John's, Newfoundland
    Here is another patch for you to try, this time to be applied to Ice-3.3.0 source distribution:
    $ cd Ice-3.3.0
    $ patch -p0 < patch.utf8.txt
    

    Again please let us know if this change helps.
  • patch on Ice

    Thanks for this new patch.
    Now I have :
    Buildfile: build.xml
    
    config-init-warn:
    
    config-init:
    
    tasks:
    
    task-init:
    
    generate:
    skipping BuiltinSequences.ice
    skipping Communicator.ice
    skipping Connection.ice
    skipping Current.ice
    skipping Endpoint.ice
    skipping FacetMap.ice
    skipping Identity.ice
    skipping ImplicitContext.ice
    skipping LocalException.ice
    skipping Locator.ice
    skipping Logger.ice
    skipping ObjectAdapter.ice
    skipping ObjectFactory.ice
    skipping Plugin.ice
    skipping Process.ice
    skipping Properties.ice
    skipping Router.ice
    skipping ServantLocator.ice
    skipping SliceChecksumDict.ice
    skipping Stats.ice
    skipping Communicator.ice
    skipping Connection.ice
    skipping Current.ice
    skipping Endpoint.ice
    skipping FacetMap.ice
    skipping Identity.ice
    skipping ImplicitContext.ice
    skipping LocalException.ice
    skipping Locator.ice
    skipping Logger.ice
    skipping ObjectAdapter.ice
    skipping ObjectFactory.ice
    skipping Plugin.ice
    skipping Process.ice
    skipping Properties.ice
    skipping Router.ice
    skipping ServantLocator.ice
    skipping SliceChecksumDict.ice
    skipping Stats.ice
    skipping BackgroundSaveEvictor.ice
    skipping CatalogData.ice
    skipping Connection.ice
    skipping DB.ice
    skipping Evictor.ice
    skipping EvictorStorage.ice
    skipping Exception.ice
    skipping Transaction.ice
    skipping TransactionalEvictor.ice
    skipping Communicator.ice
    skipping Connection.ice
    skipping Current.ice
    skipping Endpoint.ice
    skipping FacetMap.ice
    skipping Identity.ice
    skipping ImplicitContext.ice
    skipping LocalException.ice
    skipping Locator.ice
    skipping Logger.ice
    skipping ObjectAdapter.ice
    skipping ObjectFactory.ice
    skipping Plugin.ice
    skipping Process.ice
    skipping Properties.ice
    skipping Router.ice
    skipping ServantLocator.ice
    skipping SliceChecksumDict.ice
    skipping Stats.ice
    skipping BackgroundSaveEvictor.ice
    skipping CatalogData.ice
    skipping Connection.ice
    skipping DB.ice
    skipping Evictor.ice
    skipping EvictorStorage.ice
    skipping Exception.ice
    skipping Transaction.ice
    skipping TransactionalEvictor.ice
    skipping PingObject.ice
    /home/yugiohjcj/Ice-3.3.0/java/../cpp/bin/slice2freezej  --output-dir /home/yugiohjcj/Ice-3.3.0/java/generated -I/home/yugiohjcj/Ice-3.3.0/slice --dict Freeze.Catalog,string,Freeze::CatalogData /home/yugiohjcj/Ice-3.3.0/slice/Freeze/CatalogData.ice
    /home/yugiohjcj/Ice-3.3.0/java/../cpp/bin/slice2freezej  --ice --output-dir /home/yugiohjcj/Ice-3.3.0/java/generated -I/home/yugiohjcj/Ice-3.3.0/slice --dict Freeze.CatalogIndexList,string,Ice::StringSeq /home/yugiohjcj/Ice-3.3.0/slice/Ice/BuiltinSequences.ice
    /home/yugiohjcj/Ice-3.3.0/java/../cpp/bin/slice2java  --output-dir /home/yugiohjcj/Ice-3.3.0/java/generated -I/home/yugiohjcj/Ice-3.3.0/slice --checksum Glacier2.SliceChecksums --ice /home/yugiohjcj/Ice-3.3.0/slice/Glacier2/PermissionsVerifier.ice /home/yugiohjcj/Ice-3.3.0/slice/Glacier2/Router.ice /home/yugiohjcj/Ice-3.3.0/slice/Glacier2/SSLInfo.ice /home/yugiohjcj/Ice-3.3.0/slice/Glacier2/Session.ice
    /home/yugiohjcj/Ice-3.3.0/java/../cpp/bin/slice2java  --output-dir /home/yugiohjcj/Ice-3.3.0/java/generated -I/home/yugiohjcj/Ice-3.3.0/slice --checksum IceBox.SliceChecksums --ice /home/yugiohjcj/Ice-3.3.0/slice/IceBox/IceBox.ice
    /home/yugiohjcj/Ice-3.3.0/java/../cpp/bin/slice2java  --output-dir /home/yugiohjcj/Ice-3.3.0/java/generated -I/home/yugiohjcj/Ice-3.3.0/slice --checksum IceGrid.SliceChecksums --ice /home/yugiohjcj/Ice-3.3.0/slice/IceGrid/Admin.ice /home/yugiohjcj/Ice-3.3.0/slice/IceGrid/Descriptor.ice /home/yugiohjcj/Ice-3.3.0/slice/IceGrid/Exception.ice /home/yugiohjcj/Ice-3.3.0/slice/IceGrid/FileParser.ice /home/yugiohjcj/Ice-3.3.0/slice/IceGrid/Locator.ice /home/yugiohjcj/Ice-3.3.0/slice/IceGrid/Observer.ice /home/yugiohjcj/Ice-3.3.0/slice/IceGrid/Query.ice /home/yugiohjcj/Ice-3.3.0/slice/IceGrid/Registry.ice /home/yugiohjcj/Ice-3.3.0/slice/IceGrid/Session.ice /home/yugiohjcj/Ice-3.3.0/slice/IceGrid/UserAccountMapper.ice
    /home/yugiohjcj/Ice-3.3.0/java/../cpp/bin/slice2java  --output-dir /home/yugiohjcj/Ice-3.3.0/java/generated -I/home/yugiohjcj/Ice-3.3.0/slice --checksum IceStorm.SliceChecksums --ice /home/yugiohjcj/Ice-3.3.0/slice/IceStorm/IceStorm.ice
    
    ice-compile:
    Created dir: /home/yugiohjcj/Ice-3.3.0/java/depcache
    Compiling 1069 source files to /home/yugiohjcj/Ice-3.3.0/java/lib
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:1385: package com.sleepycat.db does not exist
            implements com.sleepycat.db.SecondaryKeyCreator, java.util.Comparator, KeyCodec
                                       ^
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:1044: package com.sleepycat.db does not exist
        getFirstOrLastKey(com.sleepycat.db.Database db, String dbName, byte[] key, boolean first)
                                          ^
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:1165: package com.sleepycat.db does not exist
        getImpl(com.sleepycat.db.DatabaseEntry dbKey)
                                ^
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:1230: package com.sleepycat.db does not exist
        putImpl(com.sleepycat.db.DatabaseEntry dbKey, Object value)
                                ^
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:1294: package com.sleepycat.db does not exist
        removeImpl(com.sleepycat.db.DatabaseEntry dbKey)
                                   ^
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:1391: package com.sleepycat.db does not exist
            createSecondaryKey(com.sleepycat.db.SecondaryDatabase secondary,
                                               ^
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:1392: package com.sleepycat.db does not exist
                               com.sleepycat.db.DatabaseEntry key,
                                               ^
    ...
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:885: package com.sleepycat.db does not exist
                    com.sleepycat.db.Transaction txn = _connection.dbTxn();
                                    ^
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:923: package com.sleepycat.db does not exist
                catch(com.sleepycat.db.DeadlockException dx)
                                      ^
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:935: package com.sleepycat.db does not exist
                catch(com.sleepycat.db.DatabaseException dx)
                                      ^
    /home/yugiohjcj/Ice-3.3.0/java/src/Freeze/Map.java:1058: package com.sleepycat.db does not exist
            com.sleepycat.db.DatabaseEntry dbKey = key == null ?
                            ^
    /home/yugiohjcj/Ice-3.3.0/java/generated/Glacier2/_RouterDisp.java:246: warning: [deprecation] ___addProxy(Ice.Router,IceInternal.Incoming,Ice.Current) in Ice._RouterDisp has been deprecated
                    return Ice._RouterDisp.___addProxy(this, in, __current);
                                          ^
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    100 errors
    1 warning
    
    BUILD FAILED
    /home/yugiohjcj/Ice-3.3.0/java/build.xml:180: Compile failed; see the compiler error output for details.
    
    Total time: 25 seconds
    make[1]: *** [all] Erreur 1
    make[1]: quittant le r?pertoire ? /home/yugiohjcj/Ice-3.3.0/java ?
    make: *** [all] Erreur 1
    
    New patch? :D
  • bernard
    bernard Jupiter, FL
    This one does not require a patch :).

    You just need to put db.jar or db-4.6.21.jar in your CLASSPATH. Since Ice 3.3.0 is tested with Berkeley DB 4.6.21, I recommend using this version as well.

    Cheers,
    Bernard
  • OK. On :
    Oracle Berkeley DB Downloads I think I must take Berkeley DB Java Edition, because the file requiered is db-4.6.21.jar and this is a java file.

    I have the choice between :
    Berkeley DB Java Edition, Berkeley DB and Berkeley DB XML.

    But the problem is that the last version Berkeley DB Java Edition is 3.3.75.

    So I can't get 4.6.21 version...

    1)Should I take the Berkeley DB instead of Berkeley DB Java Edition?

    With the Berkeley DB if I do :
    ../dist/configure
    make
    
    I don't get je db.jar file.

    If I do :
    ../dist/configure --prefix=/usr --enable-java
    
    I can't do a 'make' because no Makefile created.

    In fact there is an error :
    checking if java works... configure: error: The Java VM java failed (see config.log, check the CLASSPATH?)
    

    2)How to compile Berkeley DB in order to get db.jar file?
  • bernard
    bernard Jupiter, FL
    You need the non-Java version that also contains Java code.

    The simplest is to download the third-party source package from our download page:
    http://www.zeroc.com/download.html#src_third_party

    The .tar.gz also contains the build instructions for Linux/Unix/Mac OS.

    Cheers,
    Bernard
  • the package

    Thank you for this package.
    It includes db, mcpp, and others things.
    There is a README.
    When I do :
    ../dist/configure --enable-cxx --prefix=/usr --enable-java
    
    I get the error :
    checking for javac... javac
    checking if javac works... yes
    checking for jar... jar
    checking for java... java
    checking for uudecode... yes
    checking if uudecode can decode base 64 file... yes
    checking if java works... configure: error: The Java VM java failed (see config.log, check the CLASSPATH?)
    

    I think this is my CLASSPATH variable and my java which are the problem :
    echo $CLASSPATH
    
    The variable is empty.
    But java is correctly installed :
    $which java
    /usr/lib/java/bin/java
    $ /usr/lib/java/bin/java -version
    java version "1.6.0_06"
    Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
    Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)
    
    I hope this version is compatible with Ice.

    How to resolve this problem please?
  • bernard
    bernard Jupiter, FL
    Ice supports Java6, and I don't see any reason for DB 4.6.21 to not build properly with Java6 (could of course be a bug in configure). You don't need to have anything in your CLASSPATH for this build.

    It's also possible that you don't care that much about Berkeley DB here: you only need Berkeley DB if your application uses Freeze (our persistence service). If your application doesn't use Freeze, then you could simply extract db.jar from one of the binary .tar.gz distribution on our download page (e.g. the Solaris or MacOS distribution), and use this db.jar to build Ice.jar on your platform. Or even simpler, you could take the Ice.jar from one of these distributions.

    Cheers,
    Bernard
  • The only thing I need is IcePHP.so
    to use it with Mumble.
  • I get the Ice-3.3.0-rhel4-i386-rpm.tar.gz and I extract it.
    I copy some files :
    • /usr/lib/php/extensions/IcePHP.so
    • /usr/lib/libIce.so.33
    • /usr/lib/libIceUtil.so.33
    • /usr/lib/libSlice.so.33
    Finally I edit my php.ini file :
    extension=IcePHP.so
    
    And I restart my web server :
    apachectl restart
    
    But there is an error in Apache log :
    PHP Warning:  PHP Startup: ice: Unable to initialize module\nModule compiled with module API=20050922, debug=0, thread-safety=0\nPHP    compiled with module API=20060613, debug=0, thread-safety=0\nThese options need to match\n in Unknown on line 0
    
    Do you know what it means and how to resolve this problem?
  • bernard
    bernard Jupiter, FL
    For PHP, you should build IcePHP on your system.

    Overall, you just need to build Ice for C++ and Ice for PHP. Don't forget to set OPTIMIZE=yes to get an optimized build.

    For Ice C++, assuming you don't need any Ice service, you can stop the build after the Ice SSL library (libIceSSL.so.33) is built.

    Cheers,
    Bernard
  • OK.
    So I am tring compiling Ice 3.3.0 for cpp first.
    With 'make', no problem but with 'make test', there is an error after a while :
    ...
    *** running tests 18/61 in /home/yugiohjcj/Ice-3.3.0/cpp/test/Ice/adapterDeactivation
    *** configuration: Default 
    *** test started: 01/15/09 15:08:03
    starting server... ok
    starting client... ok
    testing stringToProxy... ok
    testing checked cast... ok
    creating/destroying/recreating object adapter... /home/yugiohjcj/Ice-3.3.0/cpp/test/Ice/adapterDeactivation/client: Network.cpp:1081: Ice::SocketException:
    socket exception: Address already in use
    sh: line 1: 17140 Processus arr?t?        /home/yugiohjcj/Ice-3.3.0/cpp/test/Ice/adapterDeactivation/server --Ice.NullHandleAbort=1 --Ice.Warn.Connections=1 --Ice.ThreadPool.Server.Size=1 --Ice.ThreadPool.Server.SizeMax=3 --Ice.ThreadPool.Server.SizeWarn=0 --Ice.PrintProcessId=1 --Ice.PrintAdapterReady=1 --Ice.ServerIdleTime=30 --Ice.Default.Host=127.0.0.1 2>&1
    ('test in /home/yugiohjcj/Ice-3.3.0/cpp/test/Ice/adapterDeactivation failed with exit status', 256)
    
    What should I do now?
  • benoit
    benoit Rennes, France
    Hi,

    The test creates two object adapters, one listens on port 9999 and the other on port 9998. Do you have by any chance a process already listening on one of these ports?

    You can check it out with the following command:
    $ netstat -an | grep 999[8-9]
    

    If you can't stop this process, you can fix the test by editing the cpp/test/Ice/adapterDeactivation/AllTests.cpp file and change the port numbers specified on line 35 and line 49 (you can change them to any value, 19999 and 19998 for example).

    Cheers,
    Benoit.
  • bernard
    bernard Jupiter, FL
    Note that running these tests is not necessary to build Ice for C++ and later Ice for PHP.

    Cheers,
    Bernard
  • :eek: Yes I have a process already listening on the 9999 ports!
    Thank you now I have killed the process and the test works.
    Can I run again the process killed now?
  • benoit
    benoit Rennes, France
    Hi,

    Yes, you can if you don't want to run this test again. We'll fix this test in 3.3.1 to listen on a system assigned port instead of 9999 (which doesn't seem to be such a good random port :)).

    Cheers,
    Benoit.
  • Destdir

    OK fine ;)
    Other little problem : the Makefile doesn't take a DESTDIR variable.
    Lot of GNU softwares allow this :
    ./configure prefix=/usr
    make
    make install DESTDIR=/tmp/packagename-build
    
    This is very usefull for building package with the simple user permissions.
    I am trying to edit manually Makefile but it is not easy for me.
    Can you correct this also in the new Ice version?
  • benoit
    benoit Rennes, France
    Hi,

    You can just use the following to install Ice in another location:
        make prefix=/tmp/packagename-build install
    

    We could add support for DESTDIR but it would be equivalent to setting prefix as above since none of the installed files embed the $(prefix) directory.

    The only path embedded into installed files is the one specified with the embedded_runpath_prefix variable specified in */config/Make.rules files and which is used to add a runpath to Ice executables.

    Cheers,
    Benoit.
  • Thank you all working now.
    I compiled Ice-cpp and Ice-php.
    Edit my php.ini file.
    Restart the web server Apache httpd.
    And now a php script using Ice works fine :)
  • bernard wrote: »
    This one does not require a patch :).

    You just need to put db.jar or db-4.6.21.jar in your CLASSPATH. Since Ice 3.3.0 is tested with Berkeley DB 4.6.21, I recommend using this version as well.

    Cheers,
    Bernard

    No way. ant ice-jar compiles OK. But ant install fails with the following:

    [javac] /home/sources/Ice-3.5.0/java/src/Freeze/MapInternal/Index.java:208: error: package com.sleepycat.db does not exist
    [javac] nextEntry(com.sleepycat.db.Cursor cursor)

    For reference:
    echo $CLASSPATH
    /usr/local/BerkeleyDB.5.3/lib64:/usr/local/BerkeleyDB.5.3/lib
  • xdm
    xdm La Coruña, Spain
    Hi,

    You need to put db.jar full path in your CLASSPATH, not just the lib directory
    export CLASSPATH=/usr/local/BerkeleyDB.5.3/lib/db.jar:$CLASSPATH
    ant
    
  • xdm wrote: »
    Hi,

    You need to put db.jar full path in your CLASSPATH, not just the lib directory
    export CLASSPATH=/usr/local/BerkeleyDB.5.3/lib/db.jar:$CLASSPATH
    ant
    

    Nope. Again. It compiles OK, but when it comes to install the following occurs:

    [javac] /home/sources/Ice-3.5.0/java/src/IceGridGUI/Application/ServerInstanceEditor.java:25: error: package com.jgoodies.forms.layout does not exist
    [javac] import com.jgoodies.forms.layout.CellConstraints;
    [javac] ^
    [javac] 100 errors
  • xdm
    xdm La Coruña, Spain
    You need JGoodies libraries, see Ice-3.5.0/java/INSTALL file in your distribution for details. Review Ice-3.5.0/java/config/build.properties as documented before build.
  • xdm wrote: »
    You need JGoodies libraries, see Ice-3.5.0/java/INSTALL file in your distribution for details. Review Ice-3.5.0/java/config/build.properties as documented before build.

    Actually, I did review the build.properties before. I've commented out all the stuff that mentioned all the visuals. Then, I use ant ice-jar to build ICE for Java - no problem whatsoever. But when I issue ant install, the ant tries to build all the stuff I just do not need. And fails.
  • benoit
    benoit Rennes, France
    Hi,

    I suggest to just copy the java/lib/Ice.jar file to the installation directory if you don't want to build everything, "ant install" doesn't support just installing Ice.jar, it requires other jar files to be built as well.

    Cheers,
    Benoit.