Hi, /usr/lib/amd64/libORBit-2.so.0 is used by /usr/lib/amd64/libgconf-2.so.4. However, the header files provided by ORBit2 only contain byte size for 32 bit libraries and not 64 bit. The problem is this header file, /usr/include/orbit-2.0/orbit/orbit-config.h *. *This causes 64 bit apps to run incorrectly. (see bug for example.*
*This header file is generated by configure script based on the CFLAGS and LDFLAGS defined for the architecture. With our build environment setup, we do not enviage to have two separate set of with one architecural build. The approach Linux has taken is to provide 64 bit header files in separate directory, but we don't. Changing that will invoke changing our CBE and that can be very messy, since everyone will have to install a new version of CBE and to verify that there is no regression. Given the stage of ORBit2 which has been deprecated, the current patch is hard-coded the 64 bit values (generated in the amd64 directory). -Ghee ndex: base-specs/ORBit2.spec =================================================================== --- base-specs/ORBit2.spec (revision 18818) +++ base-specs/ORBit2.spec (working copy) @@ -17,6 +17,8 @@ Distribution: Java Desktop System Vendor: Sun Microsystems, Inc. Source: http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/ORBit2-%{version}.tar.bz2 +# date:2009-07-22 owner:gheet type:branding doo:10086 +Patch1: ORBit2-01-alignments.diff Source1: orbitrc BuildRoot: %{_tmppath}/%{name}-%{version}-build URL: http://www.gnome.org/projects/ORBit2 @@ -70,6 +72,8 @@ %setup -q ln -s `pwd`/src/services/name `pwd`/include/ORBitservices +%patch1 -p1 + %build %ifos linux if [ -x /usr/bin/getconf ]; then diff -urN ORBit2-2.14.17/include/orbit/orbit-config.h.in ../../SUNWgnome-component-2.26.1.hacked/i386/ORBit2-2.14.17/include/orbit/orbit-config.h.in --- ORBit2-2.14.17/include/orbit/orbit-config.h.in 2008-08-31 15:04:42.000000000 +0100 +++ ../../SUNWgnome-component-2.26.1.hacked/i386/ORBit2-2.14.17/include/orbit/orbit-config.h.in 2009-07-22 08:45:37.248848000 +0100 @@ -14,6 +14,20 @@ * Alignment of CORBA types mapped to C. * These have *nothing* to do with CDR alignment. */ +#if defined (__amd64) || defined(__sparcv9) +#define ORBIT_ALIGNOF_CORBA_OCTET 1 +#define ORBIT_ALIGNOF_CORBA_BOOLEAN 1 +#define ORBIT_ALIGNOF_CORBA_CHAR 1 +#define ORBIT_ALIGNOF_CORBA_WCHAR 2 +#define ORBIT_ALIGNOF_CORBA_SHORT 2 +#define ORBIT_ALIGNOF_CORBA_LONG 4 +#define ORBIT_ALIGNOF_CORBA_LONG_LONG 8 +#define ORBIT_ALIGNOF_CORBA_FLOAT 4 +#define ORBIT_ALIGNOF_CORBA_DOUBLE 8 +#define ORBIT_ALIGNOF_CORBA_LONG_DOUBLE 8 +#define ORBIT_ALIGNOF_CORBA_STRUCT 1 +#define ORBIT_ALIGNOF_CORBA_POINTER 8 +#else #define ORBIT_ALIGNOF_CORBA_OCTET @ORBIT_ALIGNOF_CORBA_OCTET@ #define ORBIT_ALIGNOF_CORBA_BOOLEAN @ORBIT_ALIGNOF_CORBA_BOOLEAN@ #define ORBIT_ALIGNOF_CORBA_CHAR @ORBIT_ALIGNOF_CORBA_CHAR@ @@ -26,5 +40,6 @@ #define ORBIT_ALIGNOF_CORBA_LONG_DOUBLE @ORBIT_ALIGNOF_CORBA_LONG_DOUBLE@ #define ORBIT_ALIGNOF_CORBA_STRUCT @ORBIT_ALIGNOF_CORBA_STRUCT@ #define ORBIT_ALIGNOF_CORBA_POINTER @ORBIT_ALIGNOF_CORBA_POINTER@ +#endif #endif bash-3.2$ * *
