Package: zeroc-ice
Version: 3.3.1-6

Although bug #539930 has been closed, I recently tried building
zeroc-ice on 64bit etch system. This time it fails more consistently -
the build works fine but resulting IceUtil libraries use "long long" for
64bit integres. I checked the Config.h and sure enough, it was defining
ICE_32 where the endian&limits patch adds the __WORDSIZE detection.

This seems to be the problem:
$ nm -CD /usr/lib/libIceUtil.so | grep seconds
000000000002c770 T IceUtil::Time::seconds(long long)

Resulting in at least this:
$ python
Python 2.4.4 (#2, Oct 22 2008, 20:20:22)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Ice
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/var/lib/python-support/python2.4/Ice.py", line 19, in ?
    import IcePy
ImportError: /var/lib/python-support/python2.4/IcePy.so: undefined
symbol: _ZN7IceUtil4Time12microSecondsEl
>>>

But probably other stuff is likely to be broken as well.

For now I'm building with your endian&limits patch changed to check if
__WORDSIZE is even defined and fall back to upstream wordsize detection:
 //
 // 32 or 64 bit mode?
 //
+#if defined(HAVE_LIMITS_H)
+#   ifndef __USE_XOPEN
+#      define __USE_XOPEN
+#   endif
+#   include <limits.h>
+#   if defined(__WORDSIZE)
+#      if __WORDSIZE == 32
+#         define ICE_32
+#      else
+#         define ICE_64
+#      endif
+#   endif
+#endif
+
+#if !defined(ICE_32) && !defined(ICE_64)
 #if defined(__linux) && defined(__sparc__)
 //
 // We are a linux sparc, which forces 32 bit usr land, no matter
...
 #else
 #   define ICE_32
 #endif
+#endif

I understand that failing __WORDSIZE detection, the upstream one will
not work on all platforms supported by Debian. However, at least on
64bit etch, it works:

$ nm -CD libIceUtil.so.33 | grep seconds
000000000002c720 T IceUtil::Time::seconds(long)

I don't think this bug is particularily important and will not take it
as a personal offence should you decide to wontfix it ;)

Siim



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to