pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/26055: Abiword fails to compile on Alpha (64 bit issues)



>Number:         26055
>Category:       pkg
>Synopsis:       Abiword fails to compile on Alpha (64 bit issues)
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jun 25 12:31:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Rhialto
>Release:        NetBSD 1.6.2
>Organization:
        
>Environment:
System: NetBSD azenomei.falu.nl 1.6.2 NetBSD 1.6.2 (AZENOMEI) #1: Tue Jun 1 
18:15:41 CEST 2004 
root%azenomei.falu.nl@localhost:/usr/src/sys/arch/alpha/compile/AZENOMEI alpha
Architecture: alpha
Machine: alpha
>Description:
        Compilation of abiword fails thusly (hence Severity:serious, for
        compilation of abiword this is fatal):

source='xap_Draw_Symbol.cpp' object='xap_Draw_Symbol.o' libtool=no \
depfile='.deps/xap_Draw_Symbol.Po' tmpdepfile='.deps/xap_Draw_Symbol.TPo' \
depmode=gcc /bin/sh ../../../../ac-helpers/depcomp \ 
g++ -DPACKAGE_NAME=\"AbiSuite\" -DPACKAGE_TARNAME=\"abisuite\" 
-DPACKAGE_VERSION=\"2.0\" -DPACKAGE_STRING=\"AbiSuite\ 2.0\" 
-DPACKAGE_BUGREPORT=\"http://www.abisource.com/\"; -DPACKAGE=\"AbiSuite-2.0\" 
-DVERSION=\"2.0.5\" -DSTDC_HEADERS=1 -DHAVE_LIMITS_H=1 -DHAVE_STRINGS_H=1 
-DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE_MALLOC_H=1 -DHAVE_LIBXML2=1 
-DHAVE_WV=1 -DHAVE_ALLOCA=1 -DRETSIGTYPE=void -DHAVE_REGCOMP=1 -DHAVE_STRDUP=1 
-DHAVE_STRSTR=1 -DHAVE_STRCASECMP=1  -I. -I. -I'../.. /../../src/af/util/xp'  
-I'../../../../src/af/ev/xp' -I'../../../../src/af/ev/xp' 
-I'../../../../src/af/gr/xp' -I'../../../../src/af/xap/xp' 
-I'../../../../src/af/util/unix' -I'../../../../src/af/ev/unix' 
-I'../../../../src/af/gr/unix' -I'../../../../src/af/xap/unix'  
-I'../../../../src/other/spell/xp' -I'../../../../src/other/fribidi/xp' 
-I'../../../../src/other/ttftool/unix'  -I/usr/pkg/include -I/usr/X11R6/include 
-I/usr/include -I/usr/pkg/include/freetype2  -O2 -mieee -I/usr/pkg/include 
-I/usr/X11R6!
/include -I/usr/include -I/usr/pkg/include/freetype2 -Wall -D_BSD_SOURCE -pipe 
-DNDEBUG -I/usr/pkg/include/libxml2 -I/usr/pkg/include   
-I/usr/pkg/include/fribidi -I/usr/pkg/include/wv   -I/usr/pkg/include 
-I/usr/pkg/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include 
-I/usr/include -DHAVE_THREADS=1 -D_REENTRANT -I/usr/pkg/include/glib/glib-2.0 
-I/usr/pkg/lib/glib-2.0/include    -I/usr/pkg/include/gtk-2.0 
-I/usr/pkg/lib/gtk-2.0/include -I/usr/pkg/include/atk-1.0 
-I/usr/pkg/include/pango-1.0 -I/usr/pkg/include -I/usr/pkg/include/freetype2 
-I/usr/X11R6/include -I/usr/pkg/include/glib/glib-2.0 
-I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/libglade-2.0 
-I/usr/pkg/include/libxml2   -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED 
-DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED 
-I/usr/pkg/include/glib/glib-2.0 -I/usr/pkg/lib/glib-2.0/include    
-DSUPPORTS_UT_IDLE=1  -DABISUITE_HOME=\"/usr/pkg/share/AbiSuite-2.0\" 
-DABI_BUILD_VERSION=\"2.0.5\" -c -o xap_Draw_Symbol!
.o `test -f 'xap_Draw_Symbol.cpp' || echo './'`xap_Draw_Symbo!
l.cpp 

xap_Draw_Symbol.cpp: In method `void XAP_Draw_Symbol::draw()':
xap_Draw_Symbol.cpp:156: reinterpret_cast from `const void *' to `UT_uint32' 
loses precision
xap_Draw_Symbol.cpp: In method `UT_UCSChar 
XAP_Draw_Symbol::calcSymbolFromCoords(unsigned int, unsigned int)':
xap_Draw_Symbol.cpp:197: reinterpret_cast from `const void *' to `UT_uint32' 
loses precision
xap_Draw_Symbol.cpp:201: reinterpret_cast from `const void *' to `UT_uint32' 
loses precision
xap_Draw_Symbol.cpp:201: reinterpret_cast from `const void *' to `UT_uint32' 
loses precision
xap_Draw_Symbol.cpp: In method `void 
XAP_Draw_Symbol::calculatePosition(unsigned int, UT_uint32 &, UT_uint32 &)':
xap_Draw_Symbol.cpp:230: reinterpret_cast from `const void *' to `UT_uint32' 
loses precision
xap_Draw_Symbol.cpp:231: reinterpret_cast from `const void *' to `UT_uint32' 
loses precision
gmake[4]: *** [xap_Draw_Symbol.o] Error 1
gmake[4]: Leaving directory 
`/home/tmp/editors/abiword/work.alpha/abiword-2.0.5/abi/src/af/xap/xp'
gmake[3]: *** [all-recursive] Error 1
...


Line 156:

                UT_UCSChar base = 
static_cast<UT_UCSChar>(reinterpret_cast<UT_uint32>(m_vCharSet[i])); 

Line 197:

                count += reinterpret_cast<UT_uint32>(m_vCharSet[i + 1]);

Line 201:

                        return 
static_cast<UT_UCSChar>(reinterpret_cast<UT_uint32>(m_vCharSet[i]) + index - 
count + reinterpret_cast<UT_uint32>(m_vCharSet[i + 1]));

Line 230 - 231:

                UT_uint32 base = reinterpret_cast<UT_uint32>(m_vCharSet[i]);
                UT_uint32 size = reinterpret_cast<UT_uint32>(m_vCharSet[i + 1]);

>How-To-Repeat:
        cd pkgsrc/editors/abiword && make
>Fix:

        Assuming they are indeed storing characters in pointers and not some
        other stupid pointer trick, the following patch should "fix" it:

$NetBSD$

--- abi/src/af/xap/xp/xap_Draw_Symbol.cpp.orig  Fri Jun 25 14:13:25 2004
+++ abi/src/af/xap/xp/xap_Draw_Symbol.cpp       Fri Jun 25 14:24:10 2004
@@ -153,7 +153,7 @@
        
        for (i = 0; i < m_vCharSet.size(); i += 2)
        {
-               UT_UCSChar base = 
static_cast<UT_UCSChar>(reinterpret_cast<UT_uint32>(m_vCharSet[i]));
+               UT_UCSChar base = 
static_cast<UT_UCSChar>((UT_uint32)(m_vCharSet[i]));
                size_t nb_chars = reinterpret_cast<size_t>(m_vCharSet[i + 1]);
 
                for (UT_UCSChar j = base; j < base + nb_chars; ++j)
@@ -194,11 +194,11 @@
        UT_DEBUGMSG(("calcSymbolFromCoords(x = [%u], y = [%u]) =", ix, iy));
        for (size_t i = 0; i < m_vCharSet.size(); i += 2)
        {
-               count += reinterpret_cast<UT_uint32>(m_vCharSet[i + 1]);
+               count += (UT_uint32)(m_vCharSet[i + 1]);
                if (count > index)
                {
                        UT_DEBUGMSG((" %u\n", 
static_cast<UT_uint32>(reinterpret_cast<UT_uint32>(m_vCharSet[i]) + index - 
count + reinterpret_cast<UT_uint32>(m_vCharSet[i + 1]))));
-                       return 
static_cast<UT_UCSChar>(reinterpret_cast<UT_uint32>(m_vCharSet[i]) + index - 
count + reinterpret_cast<UT_uint32>(m_vCharSet[i + 1]));
+                       return 
static_cast<UT_UCSChar>((UT_uint32)(m_vCharSet[i]) + index - count + 
(UT_uint32)(m_vCharSet[i + 1]));
                }
        }
 
@@ -227,8 +227,8 @@
 
        for (size_t i = 0; i < m_vCharSet.size(); i += 2)
        {
-               UT_uint32 base = reinterpret_cast<UT_uint32>(m_vCharSet[i]);
-               UT_uint32 size = reinterpret_cast<UT_uint32>(m_vCharSet[i + 1]);
+               UT_uint32 base = (UT_uint32)(m_vCharSet[i]);
+               UT_uint32 size = (UT_uint32)(m_vCharSet[i + 1]);
                
                if (base + size > c)
                {


-Olaf.
-- 
___ Olaf 'Rhialto' Seibert
\X/ rhialto/at/xs4all.nl        -- Cetero censeo "authored" delendum esse.
>Release-Note:
>Audit-Trail:
>Unformatted:



Home | Main Index | Thread Index | Old Index