#44846 closed defect (invalid)
icu @53.1_1 __PREFIX__ not replaced after patch
Reported by: | zan@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.1 |
Keywords: | haspatch | Cc: | ryandesign (Ryan Carsten Schmidt) |
Port: | icu |
Description
Upgrading icu to version 53.1_1 completes without error, but after activation MacPorts scans the installed binaries for link errors and the following error shows:
---> Updating database of binaries ---> Scanning binaries for linking errors Could not open __PREFIX__/lib/libicudata.53.dylib: Error opening or reading file (referenced from /opt/local/bin/derb) Could not open __PREFIX__/lib/libicuuc.53.dylib: Error opening or reading file (referenced from /opt/local/bin/derb) Could not open __PREFIX__/lib/libicui18n.53.dylib: Error opening or reading file (referenced from /opt/local/bin/derb) Could not open __PREFIX__/lib/libicutu.53.dylib: Error opening or reading file (referenced from /opt/local/bin/derb) Could not open __PREFIX__/lib/libicuio.53.dylib: Error opening or reading file (referenced from /opt/local/bin/derb) Could not open __PREFIX__/lib/libicule.53.dylib: Error opening or reading file (referenced from /opt/local/lib/libiculx.53.1.dylib) ---> Found 85 broken file(s), matching files to ports ---> Found 1 broken port(s): icu @53.1 -doc /opt/local/bin/derb /opt/local/bin/genbrk /opt/local/bin/gencfu /opt/local/bin/gencnval /opt/local/bin/gendict /opt/local/bin/genrb /opt/local/bin/icuinfo /opt/local/bin/makeconv /opt/local/bin/pkgdata /opt/local/bin/uconv /opt/local/lib/libicui18n.53.1.dylib /opt/local/lib/libicuio.53.1.dylib /opt/local/lib/libicule.53.1.dylib /opt/local/lib/libiculx.53.1.dylib /opt/local/lib/libicutest.53.1.dylib /opt/local/lib/libicutu.53.1.dylib /opt/local/lib/libicuuc.53.1.dylib /opt/local/sbin/genccode /opt/local/sbin/gencmn /opt/local/sbin/gennorm2 /opt/local/sbin/gensprep /opt/local/sbin/icupkg
Solution: the __PREFIX__
inserted by patch-config-mh-darwin.diff needs to be replaced with ${prefix}
by a post-patch reinplace. Portfile patch attached.
Attachments (1)
Change History (5)
Changed 10 years ago by zan@…
Attachment: | Portfile.diff added |
---|
comment:1 Changed 10 years ago by larryv (Lawrence Velázquez)
Resolution: | → invalid |
---|---|
Status: | new → closed |
comment:2 follow-up: 4 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
My response may be partly redundant with Larry's; I did not see his response while composing mine.
There is no __PREFIX__
in patch-config-mh-darwin.diff. I removed it from the patch in r123758, which was the same revision in which the port's revision was increased to 1. So somehow you received the update to the portfile, but you did not receive the updated patchfile. Do you have any idea how this could have occurred? Do you have any local modifications to these files? To fix the problem, you need to get the correct updated version of both the portfile and the patch, and then force the port to rebuild by running "sudo port -n upgrade --force icu
".
comment:4 Changed 10 years ago by zan@…
Replying to ryandesign@…:
My response may be partly redundant with Larry's; I did not see his response while composing mine.
There is no
__PREFIX__
in patch-config-mh-darwin.diff. I removed it from the patch in r123758, which was the same revision in which the port's revision was increased to 1. So somehow you received the update to the portfile, but you did not receive the updated patchfile. Do you have any idea how this could have occurred? Do you have any local modifications to these files? To fix the problem, you need to get the correct updated version of both the portfile and the patch, and then force the port to rebuild by running "sudo port -n upgrade --force icu
".
Yes, that solved it. I do have a local ports tree. Because the new patchfile had the same name as the old one, I didn't see the update. Thanks. Sorry about the confusion.
Replying to zan@…:
Your log output suggests that your
icu
is not actually @53.1_1. That version of theicu
port does not insert “__PREFIX__
” intoconfig/mh-darwin
, so your patch would not actually do anything. Please run: