Opened 12 years ago

Closed 12 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)

main.log (96.3 KB) - added by nonstop.server@… 12 years ago.

Download all attachments as: .zip

Change History (6)

Changed 12 years ago by nonstop.server@…

Attachment: main.log added

comment:1 Changed 12 years ago by nonstop.server@…

Additional information:
After the failed upgrade the installed port of grep is no longer working.

% port installed grep
The following ports are currently installed:
  grep @2.10_0 (active)

grep fails with a 'Library not loaded' message.

% grep -V
dyld: Library not loaded: /opt/local/lib/libpcre.0.dylib
  Referenced from: /opt/local/bin/grep
  Reason: image not found

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.

% ls -hl /opt/local/lib/libpcre.0.dylib
ls: /opt/local/lib/libpcre.0.dylib: No such file or directory
% ls -hl /opt/local/lib/libpcre.*dylib 
-rwxr-xr-x  1 root  admin   253K May  9 11:03 /opt/local/lib/libpcre.1.dylib
lrwxrwxrwx  1 root  admin    15B May  9 11:03 /opt/local/lib/libpcre.dylib -> libpcre.1.dylib

comment:2 Changed 12 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 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to ryandesign@…
Status: newassigned

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 in reply to:  3 Changed 12 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 12 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

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.

Note: See TracTickets for help on using tickets.