Opened 12 years ago
Closed 12 years ago
#37247 closed defect (fixed)
py27-cairo @1.10.0 Error: reinplace: couldn't read file Makefile.in
Reported by: | nonstop.server@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.2 |
Keywords: | leopard | Cc: | seanfarley (Sean Farley) |
Port: | py27-cairo |
Description
Upgrading py27-cairo from version 1.8.10_2 to version 1.10.0 fails with error message:
Error: reinplace: couldn't read file "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-cairo/py27-cairo/work/py2cairo-1.10.0/cairo/Makefile.in": no such file or directory Error: org.macports.patch for port py27-cairo returned: reinplace sed(1) failed
The following Makefile.in files are available in the build directory:
53012015 32 -rw-r--r-- 1 macports admin 14798 May 1 2011 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-cairo/py27-cairo/work/py2cairo-1.10.0/doc/Makefile.in 53012035 24 -rw-r--r-- 1 macports admin 11015 May 1 2011 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-cairo/py27-cairo/work/py2cairo-1.10.0/examples/Makefile.in 53012004 56 -rw-r--r-- 1 macports admin 27928 May 1 2011 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-cairo/py27-cairo/work/py2cairo-1.10.0/Makefile.in 53012082 56 -rw-r--r-- 1 macports admin 28111 May 1 2011 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-cairo/py27-cairo/work/py2cairo-1.10.0/src/Makefile.in 53012099 24 -rw-r--r-- 1 macports admin 10083 May 1 2011 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-cairo/py27-cairo/work/py2cairo-1.10.0/test/Makefile.in
Version Information:
Mac OS Version: ProductName: Mac OS X ProductVersion: 10.5.8 BuildVersion: 9L31a Darwin 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 Xcode Version: Xcode 3.1.4 Component versions: DevToolsCore-1204.0; DevToolsSupport-1186.0 BuildVersion: 9M2809 Macports Version: Version: 2.1.2
Attachments (2)
Change History (7)
Changed 12 years ago by nonstop.server@…
comment:1 follow-ups: 2 3 4 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | leopard added |
---|
comment:2 Changed 12 years ago by nonstop.server@…
Replying to ryandesign@…:
Following your advice I was able to upgrade to the latest version by removing the reinplace block for platform darwin 9.
% port installed name py27-cairo The following ports are currently installed: py27-cairo @1.8.10_2 py27-cairo @1.10.0_0+x11 (active)
However I'm not sure how to test (or prove) that the port is working correctly.
A difference report has been attached to the ticket.
Thank you for your advice.
comment:3 Changed 12 years ago by seanfarley (Sean Farley)
Replying to ryandesign@…:
That's because the port has this block:
platform darwin 9 { post-patch { reinplace "s| -export-symbols-regex.*||g" ${worksrcpath}/cairo/Makefile.in } }So those of us not on Leopard would not have seen this issue.
Looking through the source, here are the only places where "
-export-symbols-regex
" now occurs:$ grep -r -- -export-symbols-regex work/ work/py2cairo-1.10.0/libtool: -export-symbols-regex REGEX work/py2cairo-1.10.0/libtool: -export-symbols | -export-symbols-regex) work/py2cairo-1.10.0/ltmain.sh: -export-symbols-regex REGEX work/py2cairo-1.10.0/ltmain.sh: -export-symbols | -export-symbols-regex) work/py2cairo-1.10.0/src/Makefile.am:_cairo_la_LDFLAGS = -module -avoid-version -export-symbols-regex init_cairo work/py2cairo-1.10.0/src/Makefile.in:_cairo_la_LDFLAGS = -module -avoid-version -export-symbols-regex init_cairoSo perhaps the reinplace needs to be changed to operate on src/Makefile.in instead (or better yet turned into a patchfile). Or maybe the reinplace is no longer needed at all; it has been there a long time, since r33474, having been copied there from py25-cairo, where it was added in r32471. Someone on Leopard could test without this block…
Ryan, you are correct. I copied this code block from the previous portfiles but couldn't test it since I didn't have Leopard at the time. So, I thought better safe than sorry to leave it in. If it works without it then by all means commit it. Yay for code removal!
comment:4 follow-up: 5 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to ryandesign@…:
So perhaps the reinplace needs to be changed to operate on src/Makefile.in instead (or better yet turned into a patchfile).
It looks like the pre-unification py27-cairo port was already reinplacing src/Makefile.in ever since its creation in r71669. The py26-cairo port switched to that in r57581.
Or maybe the reinplace is no longer needed at all; it has been there a long time, since r33474, having been copied there from py25-cairo, where it was added in r32471. Someone on Leopard could test without this block...
I reverted the py25-cairo port to revision r32470, before this reinplace was added, and after changing "livecheck.check" to "livecheck.type" it built just fine on Leopard i386. So I don't know. If this was added to fix a build failure, then I guess it is no longer needed. Maybe it was something that's been fixed in a newer version of python itself. To test this idea I reverted the python25 port to the same revision, but after quite a lot of attempts I was unable to build it. Much changed in the python25 port since then to make it compatible with current MacPorts.
On the other hand if it was added to fix a runtime failure, maybe it is still needed. Unfortunately r32471 did not reference a ticket or any other further source of information about the problem it was fixing.
Without further information about what problem was being fixed, the safest thing to do would be to keep the reinplace and just update it for the changed path, as had been done previously for the standalone ports.
comment:5 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Replying to ryandesign@…:
Without further information about what problem was being fixed, the safest thing to do would be to keep the reinplace and just update it for the changed path, as had been done previously for the standalone ports.
Did this for now in r100358. If someone later finds proof that this reinplace is no longer needed it can be removed then.
That's because the port has this block:
So those of us not on Leopard would not have seen this issue.
Looking through the source, here are the only places where "
-export-symbols-regex
" now occurs:So perhaps the reinplace needs to be changed to operate on src/Makefile.in instead (or better yet turned into a patchfile). Or maybe the reinplace is no longer needed at all; it has been there a long time, since r33474, having been copied there from py25-cairo, where it was added in r32471. Someone on Leopard could test without this block...