# ./configure
creating cache ./config.cache
checking for a BSD compatible install...
/usr/bin/install -c
checking for ranlib... ranlib
checking for bcopy... yes
setting TCL_INC_DIR to /usr/include
setting TCL_LIB_DIR to /usr/lib
using /usr/lib/tclConfig.sh
using /usr/lib/tkConfig.sh
tclConfig.sh has TCL_VERSION = 8.4
will build shared library
updating cache ./config.cache
creating ./config.status
creating Makefile
creating pkgIndex.tcl
# make
gcc -pipe
/usr/src/mpexpr-1.1/unix/../generic/longbits.c -o longbits
forming longbits.h
longbits.h formed
gcc -pipe /usr/src/mpexpr-1.1/unix/../generic/endian.c
-o endian
forming calcendian.h
calcendian.h formed
mkdir -p shared
(cd shared; gcc -pipe -fPIC -c -I/usr/include -I..
-I/usr/src/mpexpr-1.1/unix/.\
./generic -O -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1
-DTCL_THREADS=1 -DUSE_THREAD_\
ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1
-DHAVE_READDIR_R=1 -D_LARGEFILE64_SOURC\
E=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_STRTOL\
L=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 -DHAV\
E_TM_ZONE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1
-DHAVE_TM_GMTOFF=1 -DHAVE_TI\
MEZONE_VAR=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1
-DHAVE_SIGNED_CHAR=1 -DHAVE_L\
ANGINFO=1 -DPEEK_XCLOSEIM=1 -DHAVE_SYS_IOCTL_H=1
/usr/src/mpexpr-1.1/unix/\
../generic/mpiface.c )
/usr/src/mpexpr-1.1/generic/mpiface.c: In function
`Mpexpr_Init':
/usr/src/mpexpr-1.1/generic/mpiface.c:84: warning:
passing arg 5 of `Tcl_TraceV\
ar2' from incompatible pointer type
/usr/src/mpexpr-1.1/generic/mpiface.c: In function
`Mp_ExprCmd':
/usr/src/mpexpr-1.1/generic/mpiface.c:117: error:
argument `argv' doesn't match\
prototype
/usr/src/mpexpr-1.1/generic/mpexpr.h:103: error:
prototype declaration
/usr/src/mpexpr-1.1/generic/mpiface.c: In function
`Mp_FormatCmd':
/usr/src/mpexpr-1.1/generic/mpiface.c:161: error:
argument `argv' doesn't match\
prototype
/usr/src/mpexpr-1.1/generic/mpexpr.h:104: error:
prototype declaration
make: *** [shared/mpiface.o] Error 1
# gcc --version
gcc (GCC) 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)
Logged In: YES
user_id=733147
I've been out of touch for a while, sorry.
Does this fail on _all_ GCC 3.3.2s, or just under Mandrake? I
don't have a Mandrake box specifically but will try to replicate
under SuSE and RedHat.
Logged In: NO
In the /usr/src/mpexpr-1.1/generic/mpexpr.h there are a
mistake !
// original ligne
/* mpexpr tcl command procs */
/*
EXTERN Tcl_CmdProc Mp_ExprCmd;
EXTERN Tcl_CmdProc Mp_FormatCmd;
*/
// My change
EXTERN int Mp_ExprCmd _ANSI_ARGS_((ClientData
dummy,Tcl_Interp *interp, int argc, char **argv));
EXTERN int Mp_FormatCmd _ANSI_ARGS_((ClientData
dummy,Tcl_Interp *interp, int argc, char **argv));
Logged In: YES
user_id=1355211
I have been the same problem on solaris 8
and the solution is to change the file named generic/mpexpr.h !
// Original line
/* mpexpr tcl command procs */
/*
EXTERN Tcl_CmdProc Mp_ExprCmd;
EXTERN Tcl_CmdProc Mp_FormatCmd;
*/
// My change
EXTERN int Mp_ExprCmd _ANSI_ARGS_((ClientData
dummy,Tcl_Interp *interp, int argc, char **argv));
EXTERN int Mp_FormatCmd _ANSI_ARGS_((ClientData
dummy,Tcl_Interp *interp, int argc, char **argv));
make clean
make
make install
it's good
Logged In: YES
user_id=81875
The following patch seems to resolve this issue when
compiling with tcl8.4:
hlavana-u5:102> cvs diff mpiface.c
Index: mpiface.c
===================================================================
RCS file: /cvsroot/mpexpr/stable/generic/mpiface.c,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 mpiface.c
116c116
< char **argv; /* Argument strings. */
---
> const char **argv; /* Argument
strings. */
160c160
< char **argv; /* Argument strings. */
---
> const char **argv; /* Argument
strings. */
hlavana-u5:103>
Hemang.
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
I am on Gentoo x86_64 with GCC 4.5.3 and was able to "make" using changes suggested by 'nobody' by replacing
EXTERN Tcl_CmdProc Mp_ExprCmd;
EXTERN Tcl_CmdProc Mp_FormatCmd;
with
EXTERN int Mp_ExprCmd _ANSI_ARGS_((ClientData dummy,Tcl_Interp *interp, int argc, char **argv));
EXTERN int Mp_FormatCmd _ANSI_ARGS_((ClientData dummy,Tcl_Interp *interp, int argc, char **argv));