Unable to compile Ice

in Help Center
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 :
Thank you.
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
... 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: [email protected] 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 secondsDo you know what is the problem?
Thank you.
0
Comments
and then rebuild mcpp and Ice. Please let us know if this solves your problem.
Thanks for the patch.
With this mcpp patch, the mcpp & Ice rebuild : the problem is not resolved.
I think it's the same error :
Again please let us know if this change helps.
Thanks for this new patch.
Now I have : New 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
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 : I don't get je db.jar file.
If I do : I can't do a 'make' because no Makefile created.
In fact there is an error :
2)How to compile Berkeley DB in order to get db.jar file?
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
Thank you for this package.
It includes db, mcpp, and others things.
There is a README.
When I do : I get the error :
I think this is my CLASSPATH variable and my java which are the problem : The variable is empty.
But java is correctly installed : I hope this version is compatible with Ice.
How to resolve this problem please?
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
to use it with Mumble.
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 : And I restart my web server : But there is an error in Apache log : Do you know what it means and how to resolve this problem?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
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 : What should I do now?
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:
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.
Cheers,
Bernard
Thank you now I have killed the process and the test works.
Can I run again the process killed now?
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.
OK fine
Other little problem : the Makefile doesn't take a DESTDIR variable.
Lot of GNU softwares allow this : 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?
You can just use the following to install Ice in another location:
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.
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
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
You need to put db.jar full path in your CLASSPATH, not just the lib directory
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
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.
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.