Actually, I forced an install on dbus and, after 10 hours of updating dependencies that didn't need updating, it installed and the new version is active.

Now I have another problem. See Trace below:

IBook:~ bj$ sudo port install g-wrap
Password:
--->  Fetching slib-guile
--->  Verifying checksum(s) for slib-guile
--->  Extracting slib-guile
--->  Configuring slib-guile
--->  Building slib-guile with target all
--->  Staging slib-guile into destroot
--->  Installing slib-guile 1.0_2
--->  Activating slib-guile 1.0_2
Error: Target com.apple.activate returned: Image error: /opt/local/share/guile/slib is being used by the active slib-guile16 port.  Please deactivate this port first, or use the -f flag to force the activation.
Error: The following dependencies failed to build: slib-guile
Error: Status 1 encountered during processing.
IBook:~ bj$ sudo port -f install g-wrap
Password:
--->  Fetching g-wrap
--->  Attempting to fetch g-wrap-1.3.4.tar.gz from http://www.gnucash.org/pub/g-wrap/source/
--->  Verifying checksum(s) for g-wrap
--->  Extracting g-wrap
--->  Applying patches to g-wrap
--->  Configuring g-wrap
--->  Building g-wrap with target all
Error: Target com.apple.build returned: shell command " cd "/opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_lang_g-wrap/work/g-wrap-1.3.4" && make all " returned error 2
Command output: guile -c \
          "(set! %load-path (cons \"/opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_lang_g-wrap/work/g-wrap-1.3.4/g-wrap/..\" %load-path))""(debug-enable 'backtrace) \
                        (debug-enable 'debug) \
                        (read-enable 'positions) \
                        (use-modules (g-wrap)) \
                        (use-modules (g-wrap gw-standard-spec)) \
                        (gw:generate-wrapset \"gw-standard\")"
WARNING: (g-wrap): imported module (g-wrap sorting) overrides core binding `sort'
Backtrace:
In unknown file:
   ?: 0* [primitive-load "/opt/local/share/guile/slib/guile.init"]
In /opt/local/share/guile/slib/guile.init:
 606: 1* [slib:load "/opt/local/share/guile/1.8/slib/require"]
 375: 2  [save-module-excursion #<procedure #f ()>]
In unknown file:
   ...
   ?: 3  [dynamic-wind #<procedure #f ()> #<procedure #f ()> #<procedure #f ()>]
   ?: 4* [#<procedure #f ()>]
In /opt/local/share/guile/slib/guile.init:
 378: 5* (let* ((errinfo #)) (if (and errinfo #) (apply throw errinfo)))
 381: 6  (if (and errinfo (catch # # #)) (apply throw errinfo))
In unknown file:
   ...
   ?: 7  [throw]

/opt/local/share/guile/slib/guile.init:381:10: In procedure open-file in expression (if (and errinfo #) (apply throw errinfo)):
/opt/local/share/guile/slib/guile.init:381:10: No such file or directory: "/opt/local/share/guile/1.8/slib/require"
make[2]: *** [gw-standard.c] Error 1
make[1]: *** [all-recursive] Error 1


There appears to be a conflict between different versions of guile and slib. These are the versions and status of the ones installed on my system. I think gnucash is making a conflicting call on these files.

  g-wrap16 @1.3.4_4 (active)
  slib @3a3_0 (active)
  slib-guile @1.0_2
  slib-guile16 @1.0_0 (active)

Bj


Randall Wood wrote:

On 22 Apr 2007, at 18:11, Ryan Schmidt wrote:

On Apr 22, 2007, at 12:41, Randall Wood wrote:

On 22 Apr 2007, at 12:13, Bjorn Berg wrote:

So I'm new at this. Can I just type 'port uninstall dbus' on a command line? How do I find those programs that are affected by the newinstall, just run everything? Shouldn't this be a consideration in the release of a new version that looks like its capable of so much havoc?

A simple "sudo port selfupdate ; sudo port outdated" should take care of uninstalling and reinstalling most outdated versions of software that depended on the older version of dbus.

a) No, it won't: "sudo port outdated" will only show a list of ports that are outdated; it will not update them.

Sorry. That should read "sudo port upgrade outdated"


b) That wasn't the question. The question was, once dbus has been upgraded, if it is an ABI-incompatible upgrade, how does one identify all ports that depend on dbus (whether or not they are outdated) so that they can be rebuilt? The answer is the the depsearch script in the wiki:

http://trac.macosforge.org/projects/macports/wiki/ProblemHotlist#a2.Aportfailedtobuildupgradeorrunwithamessagereferringtolibintl.3.dylib

Bjorn: sorry, MacPorts isn't smart enough to do this on its own. The port system does not track whether an upgrade is ABI-compatible or not. It just knows whether there is an upgrade to a port. It's up to you to confirm that everything still works after upgrading a port, and rebuild any dependencies as needed. The depsearch script above can help you identify what you need to do.

You will, by the way, need "sudo port -f uninstall dbus", since otherwise MacPorts will complain that some other port depends on dbus. This may also be a way to determine which ports you need to rebuild, though I do not know if this will be the same list returned by depsearch.




Randall Wood
rhwood@mac.com
http://shyramblings.blogspot.com

"The rules are simple: The ball is round. The game lasts 90 minutes. All the
rest is just philosophy."