On Mar 23, 2009, at 05:48, Rainer Müller wrote:

Ryan Schmidt wrote:
I am hoping the maintainer of the tcl and tk ports can explain the
odd behavior I am seeing.

Checking the Makefile after configure, there are problems with include
paths in TCL_SRC_DIR, TK_SRC_DIR and INCLUDES (which uses TCL_INCLUDES
and TK_INCLUDES).

TCL_INCLUDES and TK_INCLUDES point to the build directories. But we
cannot just put ${prefix}/include/tcl or ${prefix}/include/tk in here.

The real problem is that our Tk installation is missing files which are
for example shipped with the build from Apple. In particular where I
discovered the first build error, Tix looks for tkInt.h which is missing.

Apple ships it at:
/System/Library/Frameworks/Tk.framework/Versions/8.4/Headers/tk- private/tkInt.h

After 'port extract tk', it can be found at:
$(port work tk)/tk8.5.6/generic/tkInt.h

This port needs a similar approach as the tk port itself does. It
extracts the Tcl source and has additional preprocessor flags to search
there for include files:
  configure.cppflags  "-I${workpath}/tcl${version}/generic"

Or we need to copy these private header files to the usual include
location. Maybe it would be good to ask upstream on the Tcl mailing list
for advice on this topic.

There are several ports that want to download and unpack the Tcl source as part of their build process. It seems wasteful and unnecessary to me. And it never happens that all of those ports get updated to the current version of Tcl. Currently, we have amsn, otcl and tclcl using the source of tcl 8.4.9; expect, itcl and itk using the source of tcl 8.4.14; and of course tk using the source of tcl 8.5.6.

I would be in favor of the tcl and tk ports installing everything that's required for other software to use Tcl and Tk.

Markus, can you do this, or ask on the Tcl mailing list if they have other suggestions?



_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Reply via email to