Package Details: zeroc-ice 3.7.0-1

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: 28
Popularity: 0.424244
First Submitted: 2007-11-25 21:20
Last Updated: 2017-09-20 19:37

Latest Comments

externl commented on 2017-09-20 19:38

This should be fixed now. See

disastro commented on 2017-09-15 07:06

ice-3.7.0.tar.gz is failing to verify.
I'm getting a file with the hash 809fff14a88a7de1364c846cec771d0d12c72572914e6cc4fb0b2c1861c4a1ee

externl commented on 2016-11-17 14:41

@swalladge I've fixed this. It was not the bindings but the slice compiler for python which was being installed.

swalladge commented on 2016-11-17 08:47

This package conflicts with python-zeroc-ice - `zeroc-ice: /usr/bin/slice2py exists in filesystem`. Either python-zeroc-ice should be added to conflicts, or this package or the other needs to remove the conflicting files. (I'm not familar with ICE, but it looks like python bindings need to be removed from this package since they're supplied by the other).

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: