A variety of problems

Eric Angell lists-macports-users at magicpacket.net
Mon Dec 11 10:34:18 PST 2006


Since gnucash 2.0 was released five months ago, I've been
anxiously awaiting a binary fink package, which I understand is
slow in coming because of some experimental library dependencies.
However, I recently noticed that there is now a portfile for it,
and got excited.  Gnucash is somewhat infamous for being a pain
to compile by hand because of its huge pile of dependencies, so
having that taken care of automatically sounded great.  I've
successfully used darwinports in the past with good success, so I
set out on what has turned into a fool's errand.

In a perfect world, I would expect that all I would have to
incant to achieve such a feat would be something along the lines
of: `port sync; port selfupdate; port sync; port install gnucash`,
so I started with that.  The port install failed for some reason
(that I didn't record, sorry), so I figured maybe a `port update
all` would help.  It at least ran to completion without incident.
Well, it substantially altered my default Muttrc, about which I'm
pretty displeased, but everything at least compiled successfully.

I then reran my gnucash install line, and had problems creating
destroot for qt3.  Specifically, it was trying to move something
like
/opt/local/var/db/dports/build/_private_opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_x11_qt3/work/destroot/opt/local/lib/*.*
to ~destroot/opt/local/lib/qt3/lib, and nothing was matching the
glob.  After a bunch of poking around, I found that the stuff it
was looking for had actually been built in
~destroot/private/opt/local/lib, so I moved it over, convinced
archive to rerun with some difficulty*, and all was happy.  I
have no idea why it was building the libraries in
~destroot/private/opt/..., since it built everything else in
~destroot/opt/..., but there it was.

*: if I run port with -f, I expect the step to run, regardless of
what the state file says; I don't expect to have to edit the
state file by hand.  `port clean --archive qt3` didn't even have
the desired effect, though it printed a message that claimed to
have done so.  WTF?

The qt3 hurdle passed, I continued with my port install gnucash
aspiration, and came to the next dependency, aqbanking.  If you
guessed that it went poorly, you'd be right!

ld: warning prebinding disabled because dependent library:
/opt/local/lib/libgwenhywfar.38.dylib is not prebound
ld: warning can't open dynamic library:
/opt/local/lib/libintl.3.dylib (checking for undefined symbols
may be affected) (No such file or directory, errno = 2)
ld: Undefined symbols:
_libintl_dgettext referenced from libgwenhywfar.38 expected to be
defined in /opt/local/lib/libintl.3.dylib
_libintl_bind_textdomain_codeset referenced from libgwenhywfar.38
expected to be defined in /opt/local/lib/libintl.3.dylib
_libintl_bindtextdomain referenced from libgwenhywfar.38 expected
to be defined in /opt/local/lib/libintl.3.dylib
/usr/bin/libtool: internal link edit command failed
make[5]: *** [libaqbanking.la] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


In fact, it couldn't find /opt/local/lib/libintl.3.dynlib because
it didn't exist, so I suppose my frustration should be more
focused on gettext than on aqbanking.
Google led me to
http://trac.macosforge.org/projects/macports/wiki/ProblemHotlist,
which had me run a shell script to find a list of packages to
rebuild.  That might have been fine, except the script assumed
that `port provides /path/to/foo` works correctly...nope:

~% port provides /opt/local/bin/ethereal
/private/opt/local/bin/ethereal is not provided by a MacPorts port.
~% port contents ethereal | grep /opt/local/bin/ethereal
  /opt/local/bin/ethereal
~% port -v -d provides /opt/local/bin/ethereal
DEBUG: Changing to port directory: /opt/local/bin/ethereal
/private/opt/local/bin/ethereal is not provided by a MacPorts port.

In fact, I can't find anything that `port provides` knows about,
and the debug message about trying to treat /opt/local/bin/ethereal
as a directory is pretty suspicious.  So I chopped up the script
and just got a list of files in which otool -L found references
to libintl.  I'd post it here, but it's 53 lines and I suspect it
would just be distracting.  I'll certainly provide it on request.

I don't really want to identify the source packages for all 53 of
those and rebuild them by hand.  That's why I'm using a package
_manager_.  In fact, at this point, I've basically given up, and
I'm going to reinstall fink's binary package for gnucash 1.8 when
I next have time to work on this.  Considering how well this
install has gone so far, I really can't bring myself to continue
when I expect I'll have more problems with most of the rest of
the dependencies, and the list of them looks like this:

Error: The following dependencies failed to build: aqbanking
g-wrap slib-guile guile slib gconf libbonobo intltool
p5-xml-parser orbit2 libidl popt gnucash-docs scrollkeeper
docbook-xml docbook-xml-scrollkeeper docbook-xsl libxslt yelp
gnome-vfs dbus gnome-mime-data howl neon libgnome esound
audiofile libgnomeui gnome-keyring libbonoboui libgnomecanvas
libart_lgpl libgtkhtml gail goffice libgnomeprintui
gnome-icon-theme hicolor-icon-theme icon-naming-utils
p5-xml-simple p5-xml-namespacesupport libgnomeprint bison m4
libgnomecups cups-headers libgsf libgtkhtml3 gal p5-finance-quote
p5-crypt-ssleay p5-libwww-perl p5-compress-zlib
p5-compress-raw-zlib p5-io-compress-base p5-io-compress-zlib
p5-html-parser p5-html-tagset p5-uri p5-datemanip
p5-html-tableextract

If anyone can tell me something simple like "your darwinports
install is completely messed up; run these five commands and wait
15 hours for everything to recompile", I'd be thrilled.
Otherwise, consider this email a bug report.  I'm not sure what
packages I should really be filing reports against, so I'll let
someone else do it or point me in the right direction and tell me
what other info to include.

I'm running Mac OS 10.4.8 on an iBook G4.  uname -a says
Darwin maunakea.magicpacket.net 8.8.0 Darwin Kernel Version 8.8.0: Fri Sep  8 17:18:57 PDT 2006; root:xnu-792.12.6.obj~1/RELEASE_PPC Power Macintosh powerpc


Thanks for all the stuff that's worked, which is everything I've
done with darwinports before now.  I only wish this time had been
so smooth.  Sorry this email is so snarky.

-E



More information about the macports-users mailing list