ICAL fails to build

Robert traveling08 at cox.net
Sat Jul 2 13:42:43 UTC 2011


On Sat, 2 Jul 2011 00:12:46 -0500
Scot Hetzel <swhetzel at gmail.com> wrote:

> On Fri, Jul 1, 2011 at 6:16 PM, Robert <traveling08 at cox.net> wrote:
> > Greetings
> >
> > I am having trouble getting ICAL to build.
> >
> > uname -a
> > FreeBSD dell64.shasta204.local 8.2-STABLE FreeBSD 8.2-STABLE #19:
> > Fri Jul  1 06:36:42 PDT 2011
> > root at dell64.shasta204.local:/usr/obj/usr/src/sys/GENERIC  amd64
> >
> > I ran portsnap fetch update before starting. Here is what I have.
> > Sorry about the length.
> >
> > [robert at dell64] /usr/ports/deskutils/ical> pkg_info | grep tcl
> > tcl-8.5.10          Tool Command Language
> > tcl-modules-8.5.10  Tcl common modules
> > [robert at dell64] /usr/ports/deskutils/ical> sudo make
> > ===>   ical-2.2_3 depends on shared library: tk84.1 - found
> > ===>  Configuring for ical-2.2_3
> > loading cache ./config.cache
> > checking for a BSD compatible install... /usr/bin/install -c -o
> > root -g wheel checking for ranlib... ranlib
> > checking whether ln -s works... yes
> > checking for Mail... /usr/bin/Mail
> > checking for c++... c++
> > checking whether the C++ compiler (c++ -O2 -pipe
> > -fno-strict-aliasing ) works... yes checking whether the C++
> > compiler (c++ -O2 -pipe -fno-strict-aliasing ) is a
> > cross-compiler... no checking whether we are using GNU C++... yes
> > checking whether c++ accepts -g... yes checking for POSIXized
> > ISC... no checking Tcl/Tk installation
> > checking for tclsh... /usr/local/bin/tclsh8.4
> > checking for tclConfig.sh... configure: error: I could not find
> > tclConfig.sh.
> >
> > Please specify the directory that contains tclConfig.sh
> > by running configure with the following option
> >        --with-tclconfig=<path name of directory containing
> > tclConfig.sh>
> >
> 
> The port is only looking for tcl8.4.
> 
> > me: OK. I will find it.
> >
> > [robert at dell64] /usr/ports/deskutils/ical> sudo find /usr -name
> > tclConfig.sh -print /usr/local/lib/tcl8.5/tclConfig.sh
> > me: OK. That was easy
> >
> But you have tcl8.5 installed
> >
> > What am I doing wrong?
> >
> 
> You need to either install tcl8.4 

Removing tcl8.5 and installing tcl8.4 does work. I do not remember
upgrading from 8.4 to 8.5 but it could have happened during some other
port upgrade. ICAL was working until a few days ago. 

I have another system running: FreeBSD vaio-bsd.shasta204.local
8.2-STABLE FreeBSD 8.2-STABLE #0: Sun Jun 26 14:29:59 PDT 2011
root at vaio-bsd.shasta204.local:/usr/obj/usr/src/sys/GENERIC  i386

and it too had tcl8.5 installed and ICAL not working. I decided to test
the changes below.

> or change the ports Makefile from:
> 
> LIB_DEPENDS=	tk84.1:${PORTSDIR}/x11-toolkits/tk84
> 
> GNU_CONFIGURE=	yes
> CONFIGURE_ARGS=	--with-tclconfig=${PREFIX}/lib/tcl8.4 \
> 		--with-tclhdir=${PREFIX}/include/tcl8.4 \
> 		--with-tclsh=${PREFIX}/bin/tclsh8.4 \
> 		--with-tkconfig=${PREFIX}/lib/tk8.4 \
> 		--with-tkhdir=${PREFIX}/include/tk8.4
> 
> to
> 
> USE_TK=YES
> 
> GNU_CONFIGURE=	yes
> CONFIGURE_ARGS=	--with-tclconfig=${TCL_LIBDIR} \
> 		--with-tclhdir=${TCL_INCLUDEDIR} \
> 		--with-tclsh=${TCLSH} \
> 		--with-tkconfig=${TK_LIBDIR} \
> 		--with-tkhdir=${TK_INCLUDEDIR}

This did not work. The paths could not be found. I did some further
experiments:

LIB_DEPENDS=	tk84.1:${PORTSDIR}/x11-toolkits/tk84
 
GNU_CONFIGURE= yes
CONFIGURE_ARGS=	--with-tclconfig=${PREFIX}/lib/tcl8.5 \
 		--with-tclhdir=${PREFIX}/include/tcl8.5 \
 		--with-tclsh=${PREFIX}/bin/tclsh8.5 \
 		--with-tkconfig=${PREFIX}/lib/tk8.4 \
 		--with-tkhdir=${PREFIX}/include/tk8.4

Changing the tcl8.4 statements to 8.5 also failed but the make ran
further and failed :  main.C:80: warning: deprecated conversion from
string constant to 'char*'

I then deinstalled tk84 and installed tk85 and edited the Makefile to

LIB_DEPENDS=	tk85.1:${PORTSDIR}/x11-toolkits/tk84

GNU_CONFIGURE=	yes
CONFIGURE_ARGS=	--with-tclconfig=${PREFIX}/lib/tcl8.5 \
  		--with-tclhdir=${PREFIX}/include/tcl8.5 \
  		--with-tclsh=${PREFIX}/bin/tclsh8.5 \
  		--with-tkconfig=${PREFIX}/lib/tk8.5 \
 		--with-tkhdir=${PREFIX}/include/tk8.5

It still complained about the conversion at line 80 in main.C but did
build and ICAL does run. I do not understand all I know about this but
I have one system running tcl84 and tk84 and another running tcl85 and
tk85 successfully. 

Robert


More information about the freebsd-ports mailing list