Opened 13 years ago
Closed 13 years ago
#34375 closed defect (fixed)
grep @2.10_0 upgrade to 2.10_1 fails
Reported by: | nonstop.server@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.4 |
Keywords: | Cc: | ||
Port: | grep |
Description
Port grep fails to upgrade from 2.10_0 to 2.10_1.
Making all in lib make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_grep/grep/work/grep-2.10/lib' Makefile:1332: .deps/alloca.Po: No such file or directory [snip for brevity] Makefile:1428: uniwidth/.deps/width.Po: No such file or directory make[2]: *** No rule to make target `uniwidth/.deps/width.Po'. Stop. make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_grep/grep/work/grep-2.10/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_grep/grep/work/grep-2.10' make: *** [all] Error 2 make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_grep/grep/work/grep-2.10' shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_grep/grep/work/grep-2.10" && /usr/bin/make -j2 -w all " returned error 2 Error: Target org.macports.build returned: shell command failed (see log for details) DEBUG: Backtrace: shell command failed (see log for details) while executing "command_exec build" (procedure "portbuild::build_main" line 8) invoked from within "$procedure $targetname" Warning: the following items did not execute (for grep): org.macports.install org.macports.build org.macports.destroot Log for grep is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_grep/grep/main.log DEBUG: invalid command name "::ui_init" while executing "::ui_init any stdout" ("eval" body line 1) invoked from within "eval ::ui_init $priority $prefix $channels($priority) $args" ("uplevel" body line 2) invoked from within "uplevel 1 $body" Error: Unable to upgrade port: 1
See the attached log file for additional error output.
Version Information:
Mac OS Version: 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.0.4
Attachments (1)
Change History (6)
Changed 13 years ago by nonstop.server@…
comment:1 Changed 13 years ago by nonstop.server@…
comment:2 Changed 13 years ago by nonstop.server@…
Before reading changeset r92837 I did not realize that the libpcre library version increase from 0 to 1 was the reason for the new revision for grep.
A reinstallation of grep solved my problem.
% sudo port -d uninstall grep % sudo port -d clean --all grep % sudo port -ds install grep
After the reinstallation of the port, grep is now correctly linked to the new prce library.
% otool -L /opt/local/bin/grep /opt/local/bin/grep: /opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0) /opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.19.0) /opt/local/lib/libpcre.1.dylib (compatibility version 2.0.0, current version 2.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
The port is at the latest revision and working correctly.
% port installed grep The following ports are currently installed: grep @2.10_1 (active) % grep -V grep (GNU grep) 2.10 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
comment:3 follow-up: 4 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from macports-tickets@… to ryandesign@… |
---|---|
Status: | new → assigned |
So the problem shown in the log is that grep is trying to use the old version of itself to configure itself, which of course doesn't work because the old version of itself is broken due to the pcre library version increase. We should ensure the grep port only uses /usr/bin/grep even if /opt/local/bin/grep is available.
Curiously I do not see the problem on my Snow Leopard system. I'll test on Leopard.
comment:4 Changed 13 years ago by nonstop.server@…
Replying to ryandesign@…:
Yes, I thought the same thing and that is why I reinstalled the port.
It reminded me of another ticket (#31149) where usage of the MacPorts version of grep prevents to configure gettext.
Maybe adding ac_cv_path_GREP=/usr/bin/grep to the configure.args in the grep Portfile will solve this issue?
comment:5 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
There are a zillion places in the configure script where calling "grep" is hardcoded. It seemed simpler to just adjust the PATH. Fixed in r92883.
Additional information:
After the failed upgrade the installed port of grep is no longer working.
grep fails with a 'Library not loaded' message.
The library '/opt/local/lib/libpcre.0.dylib' (or link to this library) no longer exists on my system.
The only libcre library I can find in /op/local/lib is libpcre.1.dylib and a link to this library named libpcre.dylib.