[MacPorts] #44846: icu @53.1_1 __PREFIX__ not replaced after patch
#44846: icu @53.1_1 __PREFIX__ not replaced after patch ----------------------+-------------------------------- Reporter: zan@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Keywords: haspatch | Port: icu ----------------------+-------------------------------- 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. -- Ticket URL: <https://trac.macports.org/ticket/44846> MacPorts <http://www.macports.org/> Ports system for OS X
#44846: icu @53.1_1 __PREFIX__ not replaced after patch ----------------------+-------------------------------- Reporter: zan@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: invalid | Keywords: haspatch Port: icu | ----------------------+-------------------------------- Changes (by larryv@…): * status: new => closed * resolution: => invalid Comment: Replying to [ticket:44846 zan@…]:
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 }}}
Your log output suggests that your `icu` is not actually @53.1_1. That version of the `icu` port does //not// insert “`__PREFIX__`” into `config /mh-darwin`, so your patch would not actually do anything. Please run: {{{ % sudo port selfupdate % sudo port -f uninstall icu and installed % sudo port install icu % sudo port unsetrequested icu }}} -- Ticket URL: <https://trac.macports.org/ticket/44846#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#44846: icu @53.1_1 __PREFIX__ not replaced after patch ----------------------+-------------------------------- Reporter: zan@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: invalid | Keywords: haspatch Port: icu | ----------------------+-------------------------------- Comment (by ryandesign@…): My response may be partly redundant with Larry's; I did not see his response while composing mine. There is no `__PREFIX__` in [browser:trunk/dports/devel/icu/files/patch- config-mh-darwin.diff 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`". -- Ticket URL: <https://trac.macports.org/ticket/44846#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#44846: icu @53.1_1 __PREFIX__ not replaced after patch ----------------------+-------------------------------- Reporter: zan@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: invalid | Keywords: haspatch Port: icu | ----------------------+-------------------------------- Comment (by zan@…): Replying to [comment:2 ryandesign@…]:
My response may be partly redundant with Larry's; I did not see his response while composing mine.
There is no `__PREFIX__` in [browser:trunk/dports/devel/icu/files/patch- config-mh-darwin.diff 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. -- Ticket URL: <https://trac.macports.org/ticket/44846#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts