Package Details: zeroc-ice 3.6.2-2

Git Clone URL: (read-only)
Package Base: zeroc-ice
Description: An object-oriented middleware that provides object-oriented Remote Procedure Call functionality
Upstream URL:
Keywords: c++ ice java middleware network rpc slice
Licenses: GPL, custom:ICE license
Submitter: bfrog
Maintainer: externl
Last Packager: externl
Votes: 26
Popularity: 0.523586
First Submitted: 2007-11-25 21:20
Last Updated: 2016-04-13 00:56

Required by (7)

Sources (2)

Latest Comments

externl commented on 2016-04-13 01:00

Ok, so I've moved Ice for PHP into its own repo (zeroc-ice-php56). This will vastly simplify builds.

J5lx commented on 2016-04-12 15:07

@externl I'm also in favor of just dropping/separating the PHP bindings until upstream adds support for PHP 7. They handled the bindings in the official graphviz package in [extra] that way, too:

externl commented on 2016-02-22 16:09

I'm thinking of just removing the php package and later adding new, non-split packages for php.

externl commented on 2016-02-22 15:33

@pythoneer. Not really no, the build is done all at once and it depends on php. It should work if you install php56 from AUR first.

pythoneer commented on 2016-02-22 14:00

is there a way to install it without the php dependency with makepkg?

externl commented on 2016-01-21 14:36

Yea, Arch updated to PHP 7. Ice 3.6 is not compatible with this.

Wabuo commented on 2016-01-21 08:32

Wont build =(

../../config/Make.rules.php:160: recipe for target 'Communicator.o' failed
make[2]: *** [Communicator.o] Error 1
make[2]: Leaving directory '/tmp/makepkg/zeroc-ice/src/ice-3.6.1/php/src/IcePHP'
Makefile:17: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/tmp/makepkg/zeroc-ice/src/ice-3.6.1/php/src'
Makefile:34: recipe for target 'all' failed
make: *** [all] Error 1
==> ERROR: A failure occurred in build().

externl commented on 2015-06-05 19:19

I don't think "editor" really makes sense as the category for this pack. Any thoughts?

externl commented on 2015-06-05 17:35

I've updated the PKGBUILD:

The IceGridGUI requires a specific version of the JGoodies files, so I've just included them as sources.

externl commented on 2015-06-05 15:40

@0x47 Are you still interested in maintaining this package? I would be happy to take over.

externl commented on 2015-06-05 15:08

I've updated java-berkeleydb to work with Java 8.

externl commented on 2015-06-05 15:05

I've updated java-berkeleydb to work with Java 8.

meZee commented on 2015-06-01 08:23

Fails with the following error, openjdk7

meZee commented on 2015-06-01 07:44

PKBUILD fails due to explicit version requirements for the `jgoodie-*` dependencies. Required package `java-berkeleydb` is incompatible with openjdk8. I hope marking OOD was appropriate for a package breaking dependency issues.

meZee commented on 2015-06-01 07:44

PKBUILD fails due to explicit version requirements for the `jgoodie-*` dependencies. Required package `java-berkeleydb` is also not incompatible with openjdk8. I hope marking OOD was appropriate for a package breaking dependency issues.

0x47 commented on 2015-02-22 12:31

Thanks, this should be okay now.

* Changelog v3.5.1-2
* ${pkgdir}/usr/lib/ is no longer removed for i686
* Patched name conflict for Java 8 (see

BluePeril commented on 2015-02-19 20:26

rm -df ${pkgdir}/usr/lib/ fails on i686 because the lib directory already contains the files

0x47 commented on 2015-02-03 14:33

Updated. Please let me know if there are any issues.

rnestler commented on 2015-02-02 15:46

Ice 3.5.1 got released, see

OttoA commented on 2014-11-23 14:24

disowning because I don't use this anymore

thecompander commented on 2014-05-08 06:33

@OttoA, all - how did you overcome issues with the python bindings? the build fails to find my python.h header. I have python and python2 installed. TIA, my output as below"

g++ -c -I. -I../../../cpp/include -I -Wno-format -fPIC Communicator.cpp
In file included from ./Communicator.h:13:0,
from Communicator.cpp:14:
./Config.h:28:20: fatal error: Python.h: No such file or directory
#include <Python.h>
compilation terminated.
../../config/Make.rules:165: recipe for target 'Communicator.o' failed
make[2]: *** [Communicator.o] Error 1
make[2]: Leaving directory '/home/thilina/AUR/zeroc-ice/src/Ice-3.5.0/py3/modules/IcePy'
Makefile:17: recipe for target 'install' failed
make[1]: *** [install] Error 1
make[1]: Leaving directory '/home/thilina/AUR/zeroc-ice/src/Ice-3.5.0/py3/modules'
Makefile:24: recipe for target 'install' failed
make: *** [install] Error 1
==> ERROR: A failure occurred in package_zeroc-ice-python().

Fraterius commented on 2013-06-28 01:19

New hash: a79d4fc17a6774fcf47950694fad99cb

OttoA commented on 2013-05-14 14:13

took a little longer - there were some issues with the python bindings

9mmtylenol commented on 2013-05-11 09:58

PKGBUILD: line 168: cd: /Ice-3.5.0: No such file or directory

Anonymous comment on 2013-04-19 11:56

PKGBUILD set _makedir, etc outside of build(), srcdir wasn't initialized yet

OttoA commented on 2013-04-05 10:48


Athemis commented on 2013-03-31 12:18

Usage of 3.5.0 is broken in combination with python3:

Python 3.3.0 (default, Dec 22 2012, 21:02:07)
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import Ice
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.3/site-packages/Ice/", line 47, in <module>
import IcePy
ImportError: dynamic module does not define init function (PyInit_IcePy)

zeroc-ice-3.5b2 worked fine.

Anonymous comment on 2013-03-22 19:33

Thanks, the php bindings build now with the gcc-narrowing patch. I can confirm that the java bindings will not build without 'java-berkeleydb'. This can be a problem if someone just wants to build and install zeroc-ice without worrying about submodules.

OttoA commented on 2013-03-20 13:30


Anonymous comment on 2013-03-18 00:21

Doesn't work right now. The source location for Ice needs to be updated from 3.5b to 3.5, and the md5sum needs to be updated. Here is the patch for PKGBUILD:

--- PKGBUILD 2013-03-07 17:00:29.000000000 -0600
+++ 2013-03-17 17:01:04.000000000 -0500
@@ -8,5 +8,5 @@
@@ -202,5 +202,5 @@


I was able to build everything except the PHP bindings with that. The PHP build gave a warning about implicit narrowing for C++11, which is being treated as an error.

make[2]: Entering directory `/home/dpyro/src/packages/zeroc-ice/src/Ice-3.5.0/php/src/IcePHP'
g++ -c -I. -I../../../cpp/include -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/Zend -I/usr/include/php/TSRM -DPHP_DEBUG -Wall -Werror -D_REENTRANT -fPIC -O2 -DNDEBUG Init.cpp
Init.cpp:26:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘zend_uint {aka unsigned int}’ inside { } is ill-formed in C++11 [-Werror=narrowing]
Init.cpp:29:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘zend_uint {aka unsigned int}’ inside { } is ill-formed in C++11 [-Werror=narrowing]
cc1plus: all warnings being treated as errors
make[2]: *** [Init.o] Error 1

dot commented on 2013-03-07 22:51

Same for 'java-berkeleydb', won't compile java code without it.

OttoA commented on 2013-03-07 22:44

Unfortunately, as far as I can see there isn't a way to do that.

I prefer the package working by default however. If you are going to tweak the default and only build certain packages, you can just use "makepkg -d" to ignore the dependencies.

[1] [2]

[1] Nevertheless, the following ones can be overridden within each split package's packaging function: pkgver, pkgrel, epoch, pkgdesc, arch, url, license, groups, depends, optdepends, provides, conflicts, replaces, backup, options, install and changelog.


Magotchi commented on 2013-03-07 22:38

Now that you say it that way, I actually think I like your earlier logic. Before I was having to remove other dependencies (since I didn't want Java, etc.). I wonder if there's any way to split the make dependencies up in a PKGBUILD like you can for the runtime dependencies. I'm a noob, so I wouldn't know.

OttoA commented on 2013-03-07 22:31

I was hesitant to add the makedepends for the subpackages since the package is supposed to be modular but I see how that causes too many problems. Now everything should be in makedepends.

Magotchi commented on 2013-03-07 22:28

It seems to work, but it has a build dependency of python2 now, and it's not in makedepends, although it wasn't hard to figure out.

dot commented on 2013-03-07 22:24

'php' may be needed as a dependency - otherwise complaining about missing 'php.h' when compiling, won't build the package.

Magotchi commented on 2013-03-07 21:50


OttoA commented on 2013-03-07 21:23

python2 should work now

Magotchi commented on 2013-03-07 19:28

The python2 part used to be in this package. Hmm.

Athemis commented on 2013-01-16 13:26

I use it with murmur-git with no problems so far.

totalizator commented on 2013-01-15 20:14

Python2 package would be nice. Can anyone confirm that the current version is working with Murmur? I got nothing but errors.

Athemis commented on 2013-01-14 22:58

It would be great if a package for both python3 and python2 is generated.

OttoA commented on 2013-01-01 23:03

added missing makedeps

cookiecaper commented on 2012-12-30 10:37

Thanks for the update! If you could add java-berkeleydb as a dependency it should build without any problems at all.

OttoA commented on 2012-12-27 13:22

version bump, building java without grid gui

let me know if there are any problems

happy holidays!

xPlozion commented on 2012-12-16 03:00

Would love to and wish I could, but I've never created a patch file. If someone is willing and able to, then by all means, go ahead...

OttoA commented on 2012-12-01 09:01

@xPlozion thanks for your help

If you can provide a patch against I'll update the package

xPlozion commented on 2012-11-30 04:47

I've come across numerous issues with the supplied package over the past several hours, but currently I'm getting somewhere with it.

Started with using the patch supplied by the ZeroC Staff:

Next was the sleepycat.db issue. It requires you to have the java-berkeleydb package installed from AUR:

Then I was having jgoodies issues, and installing the jgoodies packages located in the AUR didn't help, so I downloaded the following jgoodies packages and moved the associated jar's in the downloads to /usr/share/java/ :

That was just to get it built and installed, now to configure it...

Anonymous comment on 2012-08-20 18:49

I can confirm that the linked php below will compile but I am having problems with java. I have tried both openJDK and jdk7 searching wiki now. It is saying it cant find com.sleepycat.db

Anonymous comment on 2012-08-15 19:23

A ZeroC dev posted a patch on their forums a while ago.

I'm still having problems with Java, but the PHP bindings build fine with this patch.

BorgHunter commented on 2012-06-15 13:40

It looks like this refuses to build the PHP bindings with PHP 5.4.x. It worked when I had PHP 5.3.x. Relevant bit of the yaourt log below.

==> Creating package...
-> Generating .PKGINFO file...
-> Compressing package...
==> Starting package_zeroc-ice-php()...
-> building PHP bindings...
making all in src
make[1]: Entering directory `/tmp/yaourt-tmp-borghunter/aur-zeroc-ice/src/Ice-3.4.2/php/src'
making all in IcePHP
make[2]: Entering directory `/tmp/yaourt-tmp-borghunter/aur-zeroc-ice/src/Ice-3.4.2/php/src/IcePHP'
c++ -c -I. -I../../../cpp/include -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/Zend -I/usr/include/php/TSRM -m64 -Wall -D_REENTRANT -fPIC -O2 -DNDEBUG Communicator.cpp
Communicator.cpp:1095:8: error: ‘function_entry’ does not name a type
Communicator.cpp:1099:8: error: ‘function_entry’ does not name a type
Communicator.cpp: In function ‘bool IcePHP::communicatorInit()’:
Communicator.cpp:1317:5: error: ‘_interfaceMethods’ was not declared in this scope
Communicator.cpp:1324:5: error: ‘_classMethods’ was not declared in this scope
Communicator.cpp:1335:26: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
Communicator.cpp:1340:27: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
Communicator.cpp:1350:28: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
make[2]: *** [Communicator.o] Error 1
make[2]: Leaving directory `/tmp/yaourt-tmp-borghunter/aur-zeroc-ice/src/Ice-3.4.2/php/src/IcePHP'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/tmp/yaourt-tmp-borghunter/aur-zeroc-ice/src/Ice-3.4.2/php/src'
make: *** [all] Error 1
==> ERROR: A failure occurred in package_zeroc-ice-php().
==> ERROR: Makepkg was unable to build zeroc-ice.

It looks like Debian also encountered this issue; maybe you could see how they fixed it?

Anonymous comment on 2012-05-16 21:19

Currently the build fails because zeroc-ice depends on mcpp. I'm guessing mcpp should be added as a dependency?

IncredibleLaser commented on 2012-05-13 07:14

Can you please add the Ruby bindings? Thanks in advance.

OttoA commented on 2012-04-07 17:10

should also compile with jdk7, let me know if there still are any java problems

OttoA commented on 2012-04-05 18:05

Ice files are copied, should build mumble-ice now.

The java problems seem to stem from jdk7, I'll try to fix them as well.

Magotchi commented on 2012-04-04 02:43

Things seem to build properly now, but "pkg/usr/share/Ice-3.4.2" still seems like it needs to be part of one of the packages the build generates so that it can eventually be place in /usr/share/ on install. I had to manually copy it to /usr/share/ to get murmur-ice to install.

OttoA commented on 2012-03-31 21:18

no problem - thanks for testing

fixed for gcc 4.6

Magotchi commented on 2012-03-31 20:59

Thanks for being on top of it. That was grumlygg though with the link.

OttoA commented on 2012-03-31 20:57

Ah yes this is for the gcc-4.7 from [testing]

I'll try to compile with [core] gcc, just hang on a minute

OttoA commented on 2012-03-31 20:57

Ah yes this is for the gcc-4.7 from [testing], I was under the impression you were using it because you linked to the thread...

I'll try to compile with [core] gcc, just hang on a minute

Magotchi commented on 2012-03-31 20:54

Now it's doing:
c++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -std=gnu++11 -Wno-deprecated-declarations ArgVector.cpp
cc1plus: error: unrecognized command line option '-std=gnu++11'
make[1]: *** [ArgVector.o] Error 1

OttoA commented on 2012-03-31 20:22


Magotchi commented on 2012-03-31 19:51

It now gives the error, "[...]/zeroc-ice/PKGBUILD: line 144: [...]/zeroc-ice/ice-for-clang.patch: No such file or directory", and fails, on a fresh build.

OttoA commented on 2012-03-31 11:56

seems to work now, even the java package for some reason

OttoA commented on 2012-03-29 17:31

unfortunately the patch is meant for FreeBSD and needs some tweaking for Linux...

grumlygg commented on 2012-03-29 07:07

Some patches are required to compile with latest compilers:

Magotchi commented on 2012-03-27 20:07

The murmur-ice package looks for "/usr/share/Ice-3.4.1/slice/Ice/" during the build. The zeroc-ice-cpp AUR package puts it at /usr/share/Ice-3.4.2/slice/Ice/, so a symlink works around it, but in this package, it never makes that directory in /usr/share at all. After doing "makepkg --pkg zeroc-ice zeroc-ice-php zeroc-ice-python" as you say, and installing the packages, "" can be found in the package build folder in "pkg/usr/share/Ice-3.4.2/slice/Ice/", but not actually at "/usr/share/Ice-3.4.2/slice/Ice/". Is this the right behavior?

OttoA commented on 2012-03-23 14:21

This is now a split package, not thoroughly tested at all

building the java version *won't work* at this point, so please build with

makepkg --pkg zeroc-ice zeroc-ice-php zeroc-ice-python

OttoA commented on 2012-03-23 13:17

That would be ideal. I'm currently reading up on split packages but they don't seem to be well supported by AUR.

grumlygg commented on 2012-03-23 13:14

Would it be easier splitting this into several packages for different bindings?

OttoA commented on 2012-03-23 13:09

Is anybody using the java functionality at all?

I'm leaning towards removing java from the build, also avoiding the hassle with jgoodies* and so forth

Magotchi commented on 2012-03-23 03:20

Is there an ETA on when this will be able to be built unpatched?

PreparationH67 commented on 2012-02-23 21:48

Jooks like it also needs jgoodies-common, I addded a package for this, but the config, java/config/, has incorrect locations for the jgoodies jar files and I have a patch, but it has the versions hard coded and I would like for that to be more elegant. I also have a patch for the problem I mentioned earlier.

--- src/Ice-3.4.2/java/src/IceInternal/ 2011-06-15 14:44:00.000000000 -0500
+++ 2012-02-23 13:16:54.980093062 -0600
@@ -17,7 +17,7 @@
private static class MultiHashMap<K, V> extends java.util.HashMap<K, java.util.List<V>>
public void
- put(K key, V value)
+ putOne(K key, V value)
java.util.List<V> list = this.get(key);
if(list == null)
@@ -693,9 +693,9 @@
throw ex;

- _connections.put(ci.connector, connection);
- _connectionsByEndpoint.put(connection.endpoint(), connection);
- _connectionsByEndpoint.put(connection.endpoint().compress(true), connection);
+ _connections.putOne(ci.connector, connection);
+ _connectionsByEndpoint.putOne(connection.endpoint(), connection);
+ _connectionsByEndpoint.putOne(connection.endpoint().compress(true), connection);
return connection;

PreparationH67 commented on 2012-02-19 00:16

I'm getting a build error from
/aur-zeroc-ice/src/Ice-3.4.2/java/src/IceInternal/ error: name clash: put(K#1,V#1) in MultiHashMap and put(K#2,V#2) in HashMap have the same erasure, yet neither overrides the other
put(K key, V value)

where K#1,V#1,K#2,V#2 are type-variables:
K#1 extends Object declared in class MultiHashMap
V#1 extends Object declared in class MultiHashMap
K#2 extends Object declared in class HashMap
V#2 extends Object declared in class HashMap
1 error

aur-zeroc-ice/src/Ice-3.4.2/java/build.xml:186: Compile failed; see the compiler error output for details.

OttoA commented on 2011-06-21 11:43

I'm going to stall this a little bit because it depends on recent jgoodies-* packages. I've mailed the jgoodies-forms maintainer in [community] and asked him if he adds all jgoodies-* packages to [community] in a big package so that I don't have to provide every single one

but if there is a urgent reason to update it now let me know

OttoA commented on 2011-05-05 17:02


@silencer thanks for the report

Silencer_2008 commented on 2011-05-05 13:12

Java bindings not work correctly for x64 build, in PKGBUILD you have the following strings:
mkdir -p "${pkgdir}/usr/share/java/zeroc-ice/"
cp ${_libdir}/* "${pkgdir}/usr/share/java/zeroc-ice/"

but in my case, when host is x64:
_builddir = /tmp/zeroc-ice/src/Ice-3.4.1-build
_libdir = /tmp/zeroc-ice/src/Ice-3.4.1-build/lib64
so, all created jar is located in lib dir not lib64 dir

so my proposal is to change ${_libdir} to ${_builddir}/lib

OttoA commented on 2011-04-09 18:33

Thanks Zyclon and dazoe, added your fixes in the new version

Zyclon commented on 2011-04-08 00:52

patch to build package with gcc 4.6

Zyclon commented on 2011-04-07 22:17

patch for compile with gcc 4.6

Anonymous comment on 2011-04-05 04:50

in ice.ini the line
should be

OttoA commented on 2010-11-22 00:05

fixed bug in python patch (thanks thomas)

OttoA commented on 2010-11-19 10:16

I think it should be fixed now - please give feedback

Note that you need a new version of java-berkeleydb

OttoA commented on 2010-11-19 10:15

I think it should be fixed now - please give feedback

Anonymous comment on 2010-10-23 13:31

In the 3.4 version the php part of this package is broken.
Now you have to save and put the "Ice-[version]/php/lib" directory somewhere and include that dir into the "include_path" option in php.ini. This after you've compiled the package

The makefiles in the lib dir shouldn't be needed tough :P (atleast not after compiling)

Radioactiveman commented on 2010-07-09 20:11

Hehe, it works now. Murmur web-interfaces too.
Thanks a lot, ArchLinux community rules ;)

OttoA commented on 2010-07-09 17:42

Must be the hot weather

Radioactiveman commented on 2010-07-09 12:44

There is a problem again, example:
install: cannot stat `/home/.../Downloads/zeroc-ice/src/Ice-3.3.1-build/lib/': No such file or directory
But that file is in /lib64, the same with 'ImportKey.class'.

OttoA commented on 2010-07-09 08:24

Hard to get right...

OttoA commented on 2010-07-08 21:05

Sorry, didn't test it on a 64-machine

Radioactiveman commented on 2010-07-08 20:52

No, it didn't work. Output:
mv: cannot stat `/home/.../Downloads/zeroc-ice/src/Ice-3.3.1-build/lib64/ImportKey.class': No such file or directory

OttoA commented on 2010-07-08 17:41

This time it should work

Radioactiveman commented on 2010-07-08 17:00

I remember there was a patch file in the 3.3 version ... Thanks for fast response.

OttoA commented on 2010-07-08 14:43

There you are:

My archlinux packages are hosted here: so you can checkout any version you like

Radioactiveman commented on 2010-07-08 12:46

Could you make a 3.3 PKGBUILD please? Just changing the version doesn't work.
I need this because of Mumble ->

Sandmann commented on 2010-07-04 16:08

PKGBUILD works perfectly now, thanks.

OttoA commented on 2010-07-04 15:28

I think I fixed it - unfortunately I have no real way to test some of the aspects myself. Keep your feedback coming.

Sandmann commented on 2010-07-04 11:43

Thank you for maintaining the package.

For the 64 bit architecture the ImportKey.class is also in the ${_builddir}/lib folder. The other problem is that you move the libraries to ${pkgdir}/usr/lib/ instead of copying them. In the Java build part they are not available then. The following C++ build block works for me:
# C++

msg2 "Installing C++"

cd ${startdir}/src/Ice-$pkgver/cpp
make prefix=${_builddir} embedded_runpath_prefix="" install

mv ${_builddir}/lib/ImportKey.class ${_datadir}

install -dm755 ${pkgdir}/usr/bin
mv ${_builddir}/bin/* ${pkgdir}/usr/bin/

install -dm755 ${pkgdir}/usr/lib
cp ${_libdir}/* ${pkgdir}/usr/lib/

install -dm755 ${pkgdir}/usr/include
mv ${_builddir}/include/* ${pkgdir}/usr/include/

nema commented on 2010-04-14 15:12

this pkgbuild seems to work for me ->
added the patch and removed the sed line in # PHP (file was not found)

nema commented on 2010-04-14 15:11

this pkgbuild seems to work for me ->
added the patch and removed the sed line in # PHP (file was not found)

nema commented on 2010-04-14 15:10

this pkgbuild seems to work for me ->
added the patch and removed the sed line in # PHP (file was not found)

nema commented on 2010-04-14 14:21

new version is 3.4.0

patch for IceSSL: