Package: im-sdk
Version: 11.4.1870-7
Severity: serious
Tags: patch

When building 'im-sdk' on amd64/unstable,
I get the following error:

LE.cpp: In member function 'void LEContext::bind_imlexec(IMLExec*)':
LE.cpp:316: error: cast from 'iml_session_t*' to 'int' loses precision
LE.cpp:316: error: cast from 'IMLExec*' to 'int' loses precision
LE.cpp: In member function 'bool LEContext::initialize()':
LE.cpp:450: error: cast from 'iml_session_t*' to 'int' loses precision
LE.cpp: In destructor 'LEContext::~LEContext()':
LE.cpp:491: error: cast from 'iml_session_t*' to 'int' loses precision
make[3]: *** [LE.o] Error 1
make[3]: Leaving directory 
`/im-sdk-11.4.1870/build-tree/im-sdk-r11_4-1870/iiimsf/src'

With the attached patch 'im-sdk' can be compiled on amd64 using gcc-4.0.

The patch includes the patches from #320899.

Regards
Andreas Jochens

diff -urN ../tmp-orig/im-sdk-11.4.1870/debian/patches/005_gcc4_fix.patch 
./debian/patches/005_gcc4_fix.patch
--- ../tmp-orig/im-sdk-11.4.1870/debian/patches/005_gcc4_fix.patch      
1970-01-01 00:00:00.000000000 +0000
+++ ./debian/patches/005_gcc4_fix.patch 2005-09-07 12:35:12.000000000 +0000
@@ -0,0 +1,168 @@
+diff -Nru3 ./im-sdk-r11_4-1870/leif/unit/phonetic_im/mapfile/Makefile.am 
im-sdk-r11_4-1870/leif/unit/phonetic_im/mapfile/Makefile.am
+--- ./im-sdk-r11_4-1870/leif/unit/phonetic_im/mapfile/Makefile.am      
2004-08-16 05:40:06.000000000 -0700
++++ im-sdk-r11_4-1870/leif/unit/phonetic_im/mapfile/Makefile.am        
2005-09-01 02:31:25.496312826 -0700
+@@ -34,6 +34,9 @@
+       -e "s/parse_small_token/parse_$*/g" \
+       -e "s/^void yyunput/static void yyunput/g" \
+       -e "s/^int yylen/static int yylen/g" \
++      -e "/^extern int yylen/d" \
++      -e "/^#undef YY_INPUT/i \
++          static int loc_input (char *buf, int ms);" \
+       -e "s/^YY_BUFFER_STATE yy_create_buffer/static YY_BUFFER_STATE 
yy_create_buffer/g" \
+       -e "s/^void yy_load_buffer_state/static void yy_load_buffer_state/g" \
+       -e "s/^void yyrestart/static void yyrestart/g" \
+@@ -57,23 +60,25 @@
+       -e "s/^int yyprevious/static int yyprevious/g" \
+       -e "s/^char \*yysptr/static char \*yysptr/g" \
+       -e "s/^int yylineno/static int yylineno/g" \
++      -e "/^extern int yylineno/d" \
+       -e "s/^char yyextra/static char yyextra/g" \
+       -e "s/^char yymatch/static char yymatch/g" \
+       -e "s/^struct yywork \*yytop/static struct yywork \*yytop/g" \
+       -e "s/^struct yywork { YYTYPE verify, advance; } yycrank/static struct 
yywork { YYTYPE verify, advance; } yycrank/g" \
+       -e "s/^FILE \*yyin/static FILE \*yyin/g" \
++      -e "/^extern FILE \*yyin/d" \
+       -e "s/^struct yysvf \*yybgin/static struct yysvf \*yybgin/g" \
+       -e "s/^int yyvstop/static int yyvstop/g" \
+       -e "s/^int yylook/static int yylook/g" \
+       -e "s/^struct yysvf yysvec/static struct yysvf yysvec/g" \
+       -e "s/^int yylex/static int yylex/g" \
+-      -e "s/^yylex/static int yylex/g" \
++      -e "s/^extern int yywrap/static int yywrap/g" \
++      -e "/^extern int yylex/d" \
+       -e "s/^#define YY_DECL int yylex/#define YY_DECL static int yylex/g" \
+       -e "s/^# define input().*/# define input() (\*global_ptr++)/g" \
+       -e "s/^static int input().*/static int redef_input()/g" \
+       -e "s/^# define unput(c).*/# define unput(c) (\*--global_ptr=c)/g" \
+       -e "s/^#define unput(c).*/#define unput(c) (\*--global_ptr=c)/g" \
+-      -e "/^#line/d" \
+       -e "/^static char \*global_ptr\;/i\
+ #define YY_NO_INPUT" -e "/^static char \*global_ptr\;/i\
+ #define YY_NO_UNPUT" -e "/^static char \*global_ptr\;/i\
+diff -Nru3 ./im-sdk-r11_4-1870/leif/unit/phonetic_im/mapfile/Makefile.in 
../build-tree.new/im-sdk-r11_4-1870/leif/unit/phonetic_im/mapfile/Makefile.in
+--- im-sdk-r11_4-1870/leif/unit/phonetic_im/mapfile/Makefile.in        
2004-08-16 06:28:05.000000000 -0700
++++ im-sdk-r11_4-1870/leif/unit/phonetic_im/mapfile/Makefile.in        
2005-09-01 02:31:33.000000000 -0700
+@@ -593,6 +593,9 @@
+       -e "s/parse_small_token/parse_$*/g" \
+       -e "s/^void yyunput/static void yyunput/g" \
+       -e "s/^int yylen/static int yylen/g" \
++      -e "/^extern int yylen/d" \
++      -e "/^#undef YY_INPUT/i \
++          static int loc_input (char *buf, int ms);" \
+       -e "s/^YY_BUFFER_STATE yy_create_buffer/static YY_BUFFER_STATE 
yy_create_buffer/g" \
+       -e "s/^void yy_load_buffer_state/static void yy_load_buffer_state/g" \
+       -e "s/^void yyrestart/static void yyrestart/g" \
+@@ -616,23 +619,25 @@
+       -e "s/^int yyprevious/static int yyprevious/g" \
+       -e "s/^char \*yysptr/static char \*yysptr/g" \
+       -e "s/^int yylineno/static int yylineno/g" \
++      -e "/^extern int yylineno/d" \
+       -e "s/^char yyextra/static char yyextra/g" \
+       -e "s/^char yymatch/static char yymatch/g" \
+       -e "s/^struct yywork \*yytop/static struct yywork \*yytop/g" \
+       -e "s/^struct yywork { YYTYPE verify, advance; } yycrank/static struct 
yywork { YYTYPE verify, advance; } yycrank/g" \
+       -e "s/^FILE \*yyin/static FILE \*yyin/g" \
++      -e "/^extern FILE \*yyin/d" \
+       -e "s/^struct yysvf \*yybgin/static struct yysvf \*yybgin/g" \
+       -e "s/^int yyvstop/static int yyvstop/g" \
+       -e "s/^int yylook/static int yylook/g" \
+       -e "s/^struct yysvf yysvec/static struct yysvf yysvec/g" \
+       -e "s/^int yylex/static int yylex/g" \
+-      -e "s/^yylex/static int yylex/g" \
++      -e "s/^extern int yywrap/static int yywrap/g" \
++      -e "/^extern int yylex/d" \
+       -e "s/^#define YY_DECL int yylex/#define YY_DECL static int yylex/g" \
+       -e "s/^# define input().*/# define input() (\*global_ptr++)/g" \
+       -e "s/^static int input().*/static int redef_input()/g" \
+       -e "s/^# define unput(c).*/# define unput(c) (\*--global_ptr=c)/g" \
+       -e "s/^#define unput(c).*/#define unput(c) (\*--global_ptr=c)/g" \
+-      -e "/^#line/d" \
+       -e "/^static char \*global_ptr\;/i\
+ #define YY_NO_INPUT" -e "/^static char \*global_ptr\;/i\
+ #define YY_NO_UNPUT" -e "/^static char \*global_ptr\;/i\
+diff -Nru3 ./im-sdk-r11_4-1870/leif/canna/CannaLE.c 
im-sdk-r11_4-1870/leif/canna/CannaLE.c
+--- ./im-sdk-r11_4-1870/leif/canna/CannaLE.c   2004-08-16 00:31:54.000000000 
-0700
++++ im-sdk-r11_4-1870/leif/canna/CannaLE.c     2005-09-01 03:27:42.798116123 
-0700
+@@ -118,6 +118,7 @@
+ void          canna_status_draw_off(iml_session_t *s);
+ static void   canna_change_mode(iml_session_t *s, int id);
+ static Bool   canna_drop_privilege(const char *username);
++static int    canna_get_current_mode(iml_session_t *s);
+ 
+ /* IF Method */
+ if_methods_t canna_methods = {
+--- ./im-sdk-r11_4-1870/leif/sampleja3/xaux_common/xaux_ext_common.h   
2005-09-01 03:59:51.297887161 -0700
++++ im-sdk-r11_4-1870/leif/sampleja3/xaux_common/xaux_ext_common.h     
2005-09-01 04:00:13.464928210 -0700
+@@ -80,10 +80,6 @@
+ extern Bool xaux_ext_Draw(xaux_class_t *, aux_ext_data_t *);
+ extern Bool xaux_ext_Done(xaux_class_t *, aux_ext_data_t *);
+ 
+-/* conversion utilities */
+-extern size_t utf16_mb(const char **, size_t *, char **, size_t *);
+-extern size_t mb_utf16(const char **, size_t *, char **, size_t *);
+-
+ #ifndef       linux
+ #include <Xm/Xm.h>
+ #endif
+--- ./im-sdk-r11_4-1870/leif/sampleja3/xaux_common/xaux_ext_common.c   
2004-08-16 00:31:54.000000000 -0700
++++ im-sdk-r11_4-1870/leif/sampleja3/xaux_common/xaux_ext_common.c     
2005-09-01 04:01:15.176262833 -0700
+@@ -55,6 +55,16 @@
+ #include "xaux_common.h"
+ #include "xaux_ext_common.h"
+ 
++static Bool
++xaux_xs_send_message(
++      Display *       display,
++      xaux_class_t *  xc,
++      int             im_id,
++      int             ic_id,
++      aux_ext_data_type_t     type,
++      Atom            atom);
++
++
+ /* from iiimpAux.c */
+ static size_t
+ utf16_mb(
+
+diff -urN ../im-sdk-r11_4-1870/iiimsf/src/LE.cpp 
im-sdk-r11_4-1870/iiimsf/src/LE.cpp
+--- ../im-sdk-r11_4-1870/iiimsf/src/LE.cpp     2004-08-16 07:41:39.000000000 
+0000
++++ im-sdk-r11_4-1870/iiimsf/src/LE.cpp        2005-09-07 12:23:08.000000000 
+0000
+@@ -313,7 +313,7 @@
+ {
+     // later, we should use TLS or something.
+     s->SessionContext = pimlex;
+-    LOG_DEBUG("Bound imlexec:(%x -> %x)", (int) s, (int) pimlex);
++    LOG_DEBUG("Bound imlexec:(%lx -> %lx)", (long) s, (long) pimlex);
+ }
+ 
+ bool
+@@ -447,7 +447,7 @@
+     {
+       IMLock lock(get_leif_sync_object());
+       s = iml_construct_session(iml_desktop, &args[0], args.size());
+-      LOG_DEBUG("Create session context(%x)", (int) s);
++      LOG_DEBUG("Create session context(%lx)", (long) s);
+     }
+     if (!s) return false;
+ 
+@@ -488,7 +488,7 @@
+     {
+       IMLock lock(get_leif_sync_object());
+       if (s) {
+-          LOG_DEBUG("Destroy session context(%x)", (int) s);
++          LOG_DEBUG("Destroy session context(%lx)", (long) s);
+           if_DestroySC_WithoutDesktopDestruction(s);
+       }
+     }
+diff -urN ../im-sdk-r11_4-1870/iiimxcf/htt_xbe/lib/IMdkit/common/XIMPublic.cpp 
im-sdk-r11_4-1870/iiimxcf/htt_xbe/lib/IMdkit/common/XIMPublic.cpp
+--- ../im-sdk-r11_4-1870/iiimxcf/htt_xbe/lib/IMdkit/common/XIMPublic.cpp       
2004-08-16 07:42:18.000000000 +0000
++++ im-sdk-r11_4-1870/iiimxcf/htt_xbe/lib/IMdkit/common/XIMPublic.cpp  
2005-09-07 12:34:06.000000000 +0000
+@@ -197,7 +197,7 @@
+       application_name = (char*)argp->value; // extension 
+       break;
+     case DisableStatusArea:
+-      disable_status_area = (Bool)argp->value; // extension
++      disable_status_area = (long)argp->value; // extension
+       break;
+     case DefaultFontName:
+       default_font_name = (char*)argp->value; // extension


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to