Subject: Re: tk on Darwin/OS X
To: None <feico@pasta.cs.uit.no>
From: MLH <mlh@goathill.org>
List: tech-pkg
Date: 11/17/2003 11:19:11
Feico Dillema wrote:

> Hi,
> 
> Has anybody tried installing x11/tk from pkgsrc on Darwin? lang/tcl
> installs just fine and it looks to me as if x11/tk needs similar fixes
> as have been applied to the tcl pkgsrc entry. But... this is really
> beyond me, so.. any takers? (My ultimate goal is graphics/graphviz on
> Darwin).

I've been trying to wade through using pkgsrc on os/x also. I've
tried to build a fair number of packages and most of them don't
build. I am seeing two main types of problems that I haven't been
able to make progress with (tk is included here):

1) There are linker problems in that os/x's linker apparently
doesn't always build the libraries correctly or something like that.
An example is the pr I filed for fonts/fontconfig - pkg/23408 :

Making all in fc-cache
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/X11R6/include -I/usr/X11R6/include/freetype2  -I/usr/X11R6/include/freetype2 -no-cpp-precomp -I/usr/pkg/include -I/usr/X11R6/include  -O2 -I/usr/pkg/include -I/usr/X11R6/include -c fc-cache.c
/bin/sh ../libtool --mode=link gcc  -O2 -I/usr/pkg/include -I/usr/X11R6/include -L/usr/pkg/lib -L/usr/X11R6/lib -o fc-cache  fc-cache.o ../src/libfontconfig.la 
mkdir .libs
gcc -O2 -I/usr/pkgsrc/fonts/fontconfig/work.MAC300/.buildlink/include -I/usr/pkgsrc/fonts/fontconfig/work.MAC300/.buildlink-x11/include -o .libs/fc-cache fc-cache.o  -L/usr/pkgsrc/fonts/fontconfig/work.MAC300/.buildlink/lib -L/usr/pkgsrc/fonts/fontconfig/work.MAC300/.buildlink-x11/lib -L../src/.libs -lfontconfig -L/usr/X11R6/lib -lfreetype -L/usr/pkg/lib -lexpat
ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used
symbol _XML_ParseBuffer used from dynamic library /usr/X11R6/lib/libexpat.1.dylib(xmlparse.o) not from earlier dynamic library /usr/pkg/lib/libexpat.4.dylib(libexpat.4.0.dylib-master.o)
...
symbol _XmlPrologStateInit used from dynamic library /usr/X11R6/lib/libexpat.1.dylib(xmlrole.o) not from earlier dynamic library /usr/pkg/lib/libexpat.4.dylib(libexpat.4.0.dylib-master.o)
symbol _XmlPrologStateInitExternalEntity used from dynamic library /usr/X11R6/lib/libexpat.1.dylib(xmlrole.o) not from earlier dynamic library /usr/pkg/lib/libexpat.4.dylib(libexpat.4.0.dylib-master.o)
ld: Undefined symbols:
_FcConfigEnableHome
gnumake[2]: *** [fc-cache] Error 1
gnumake[1]: *** [all-recursive] Error 1
gnumake: *** [all-recursive-am] Error 2
*** Error code 2

bmake: stopped in /usr/pkgsrc/fonts/fontconfig

If we could find a solution for this, I would be glad to try to
make patches for the pkgs that I need. I've read of similar problems,
but I haven't seen a solution yet.

2) some packages don't build or install correctly the first time,
but complete (probably not correctly) the second. The installer or
linker or such (different reasons in many cases, afaict) misfires.

'meta'-like pkgs (that often require many dependencies) I've tried
that don't build (last week), often due to some dependency that
doesn't build:

devel/automake
print/ghostscript
print/enscript
lang/python23-pth (installs, but not correctly)
x11/qt3-tools
x11/py-Tk
x11/py-wxPython
math/lapack
math/guppi
math/grace
math/gnumeric
net/mtr
net/nmapfe
editors/abiword
editors/vim-gtk
editors/TeXmacs
sysutils/lsof
sysutils/mtoolsfm
databases/mysql-server
databases/mysql-client
www/mozilla
graphics/ImageMagick

Built:
digest-20021220     Message digest wrapper utility
xpkgwedge-1.8       Allows X11 pkgs to be built and used outside of ${X11BASE}
tcsh-6.12.00nb1     Extended C-shell with many useful features
pkgchk-1.44         Check installed package versions against pkgsrc
m4-1.4nb1           GNU version of Unix m4 macro-processor
autoconf-2.57       Generates automatic source code configuration scripts
dlcompat-20030522   Library for dlopen() emulation on Darwin
libtool-base-1.4.20010614nb16 Generic shared library support script (the script itself)
db-2.7.7nb1         Sleepycat Software's Berkeley DB version 2
bzip2-1.0.2         Block-sorting file compressor
zlib-1.1.4nb1       General purpose data compression library
wget-1.8.2nb2       Retrieve files from the 'net via HTTP and FTP
perl-5.8.1          Practical Extraction and Report Language
tcl-8.3.4           Ousterhout's Tool Command Language, a scripting language
expat-1.95.6nb1     XML parser library written in C
x11-links-0.18      Shadow tree of links to ${X11BASE} headers and libraries
jpeg-6bnb1          IJG's jpeg compression utilities
png-1.2.5nb2        Library for manipulating PNG images
tiff-3.5.7nb1       Library and tools for reading and writing TIFF data files
gettext-lib-0.11.5nb2 Tools for providing messages in different languages, libintl only
glib-1.2.10nb5      Some useful routines for C programming
gettext-m4-0.11.5   Autoconf/automake m4 files for GNU NLS library
gettext-0.11.5nb3   Tools for providing messages in different languages
gtk+-1.2.10nb5      The GIMP Toolkit - libraries for building X11 user interfaces
wxGTK-2.4.1nb1      GTK-based implementation of the wxWindows GUI library
freetype-lib-1.3.1nb1 TrueType font rendering engine and library API
freetype-utils-1.3.1 Utilities for manipulating TrueType fonts
python23-pth-2.3nb3 Interpreted, interactive, object-oriented programming language
readline-4.3pl5     GNU library that can recall and edit previous input
gnome-dirs-1.2      Shared GTK/GNOME (v1 and v2) directories
gnome1-dirs-1.2     Shared GTK/GNOME (v1) directories
gdk-pixbuf-0.22.0nb1 The GNOME image loading library
libaudiofile-0.2.4  Sound library for SGI audio file
esound-0.2.32       The Enlightened sound daemon
libungif-4.1.0.1    Tools and library routines for working with GIF images
netpbm-10.11.8      Toolkit for conversion of images between different formats
imlib-1.9.14nb4     Image manipulation library for X11
gindent-2.2.8.1nb1  GNU version of pretty-printer for C source code
ORBit-0.5.15nb5     High-performance CORBA ORB with support for the C language
gnome-libs-1.4.2    Libraries for the GNU Network Object Model Environment
mysql-client-3.23.58 MySQL, a free SQL database (client)
cssc-0.15a.0        GNU workalike for the source code control system SCCS
vim-share-6.2.0     Data files for the vim editor (vi clone)
gawk-3.1.3          GNU awk
teTeX-share-1.0.2nb2 Machine-independent part of teTeX
macutil-2.0b3       Create & extract Mac archive files
dict-client-1.8.0nb2 Dictionary Service Protocol client
aiksaurus-1.0.1     English-language thesaurus

Yes, we try to use fink, but fink pkgs often aren't built to be
used as dependencies, etc. so are pretty useless in many cases.