#6779 closed defect (fixed)
BUG: expat upgrade breaks subversion
Reported by: | vincent-opdarw@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.0 |
Keywords: | Cc: | ||
Port: |
Description
After upgrading expat, I get:
$ svn dyld: Library not loaded: /opt/local/lib/libexpat.0.dylib
Referenced from: /opt/local/bin/svn Reason: image not found
It seems that svn should be rebuilt (by increasing the revision).
Change History (3)
comment:1 Changed 19 years ago by blb@…
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 Changed 19 years ago by vincent-opdarw@…
If the expat library used a different name (/opt/local/lib/libexpat.1.dylib instead of /opt/local/lib/libexpat.0.dylib), then this often means that the new version is not ABI-compatible (otherwise, why changing the name?). Are you sure that this was OK?
comment:3 Changed 19 years ago by vincent-opdarw@…
(current,age,revision) is for each library: /opt/local/var/db/dports/software/expat/1.95.8_1/opt/local/lib/libexpat.la
5 5 0
/opt/local/var/db/dports/software/expat/2.0.0_0/opt/local/lib/libexpat.la
6 5 0
This means that 1.95.8_1 supports interfaces 0 to 5, and 2.2.0_0 supports interfaces 1 to 6, and that a program that uses features of interface 0 will break if linked to 2.2.0_0! So, IMHO, the symlink to the older revision should not have been added since the new revision had dropped interface 0.
Upgrading expat again should fix this; the port now installs a symlink for the older name of the library (since things using expat shouldn't need a rebuild for this version upgrade).