Thread: [tcljava-user] compiling tclBlend
Brought to you by:
mdejong
From: yahalome <yah...@xo...> - 2005-09-14 05:47:59
|
I try to compile tclBlend but failed. This is the error I get: gcc -pipe -c -g -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1 -DPEEK_XCLOSEIM=1 -DHAVE_SYS_IOCTL_H=1 -D_REENTRANT -DTCL_MEM_DEBUG -I. -I/home/yahalom/compile/tclJava/tclBlend1.3.2/src/native -I/u/packages/tcl/tcl8.4.5/generic -I/usr/java/j2sdk1.4.2_09/include -I/usr/java/j2sdk1.4.2_09/include/linux -fPIC /home/yahalom/compile/tclJava/tclBlend1.3.2/src/native/javaObj.c /home/yahalom/compile/tclJava/tclBlend1.3.2/src/native/javaObj.c: In function `Java_tcl_lang_CObject_getString': /home/yahalom/compile/tclJava/tclBlend1.3.2/src/native/javaObj.c:477: warning: assignment from incompatible pointer type /home/yahalom/compile/tclJava/tclBlend1.3.2/src/native/javaObj.c:501: invalid operands to binary - Is this a bug? Yahalom Emet Ashrait Team Leader Xor Technologies phone: 04-6619166 fax: 04-6619054 e-mail: <mailto:yah...@xo...> yah...@xo... web: <http://www.xortechnologies.com/> http://www.xortechnologies.com |
From: Mo D. <md...@un...> - 2005-09-15 01:16:21
|
On Wed, 14 Sep 2005 08:44:55 +0200 "yahalome" <yah...@xo...> wrote: > I try to compile tclBlend but failed. This is the error I get: > gcc -c javaObj.c > > /home/yahalom/compile/tclJava/tclBlend1.3.2/src/native/javaObj.c: In > function `Java_tcl_lang_CObject_getString': > > /home/yahalom/compile/tclJava/tclBlend1.3.2/src/native/javaObj.c:477: > warning: assignment from incompatible pointer type Humm, this seems to come from: jchar *buf; Tcl_UniChar *w; (447) w = buf; > /home/yahalom/compile/tclJava/tclBlend1.3.2/src/native/javaObj.c:501: > invalid operands to binary - (501) length = (w - buf); My guess here is that something about the declaration of the jchar type has changed in the JDK headers you have on your system. An old JDK install that I have on my linux box defines jchar like so: typedef unsigned short jchar; So, there would be no problem with pointer arith in this case. How is jchar defined in your j2sdk1.4.2_09 JDK on your linux box? Take a peek at jni.h or related include file in the JDK to find out. The Tcl Blend source may need to be updated to deal with this issue. I have never seen it before so I am 99% sure that it is an issue with the way JNI types are defined in this JDK release. cheers Mo DeJong |
From: <ke...@cr...> - 2005-09-15 13:50:41
|
md...@un... said: > /home/yahalom/compile/tclJava/tclBlend1.3.2/src/native/javaObj.c:477: > warning: assignment from incompatible pointer type > Humm, this seems to come from: > jchar *buf; > Tcl_UniChar *w; > (447) w = buf; This remonds me of some old problems. There was at least one Red Hat release where Red Hat (*not* the Tcl maintainers) gratuitously decided to change Tcl_UniChar to a 32-bit type. The change was not well tested (it made Tk leak memory like a sieve) and caused a good deal of grief on the affected systems. There still seem to be a fair number of them out there. The cure is either to rebuild Tcl/Tk from source or to install ActiveTcl and build against that - either of those approaches won't have the misdefinition of Tcl_UniChar. -- 73 de ke9tv/2, Kevin KENNY GE Corporate Research & Development ke...@cr... P. O. Box 8, Bldg. K-1, Rm. 5B36A Schenectady, New York 12301-0008 USA |
From: Mo D. <md...@un...> - 2005-09-16 01:32:30
|
On Thu, 15 Sep 2005 09:47:43 -0400 ke...@cr... (Kevin Kenny) wrote: > > md...@un... said: > > /home/yahalom/compile/tclJava/tclBlend1.3.2/src/native/javaObj.c:477: > > warning: assignment from incompatible pointer type > > Humm, this seems to come from: > > jchar *buf; > > Tcl_UniChar *w; > > (447) w = buf; > > This remonds me of some old problems. There was at least one Red Hat > release where Red Hat (*not* the Tcl maintainers) gratuitously decided > to change Tcl_UniChar to a 32-bit type. Well, I am not sure if that is the problem here but I did notice that the user was building with Tcl 8.4.5. You really should upgrade to Tcl 8.4.11 since that is the most recent version that Tcl Blend was tested with. If that does not do the trick, then could you find out what type Tcl_UniChar is getting set to so we can find out why the "w - buf" operator is failing to compile. Mo DeJong |