|Summary:||shells/zsh: Remove extraneous curses.so from pkg-plist|
|Product:||Ports & Packages||Reporter:||Albert Ou <aou>|
|Component:||Individual Port(s)||Assignee:||Adam Weinberger <adamw>|
|Severity:||Affects Only Me||Keywords:||easy, patch, patch-ready, regression|
Description Albert Ou 2015-12-21 22:41:50 UTC
Created attachment 164474 [details] Remove curses.so entry Since ports r403755 (bug #181720), the zsh/curses module is no longer built along with zsh. Assuming that this is intentional, there remains an extraneous pkg-plist entry for curses.so, which causes a spurious installation error with option STATIC=off. A proposed patch is attached. Thanks. # make -C /usr/ports/shells/zsh clean build reinstall [...] ===> Installing for zsh-5.2_1 ===> Checking if zsh already installed ===> Registering installation for zsh-5.2_1 pkg-static: Unable to access file /usr/obj/usr/ports/shells/zsh/work/stage/usr/local/lib/zsh/5.2/zsh/curses.so: No such file or directory *** Error code 74 # svnlite info /usr/ports/shells/zsh Path: shells/zsh Working Copy Root Path: /usr/ports URL: svn://svn.freebsd.org/ports/head/shells/zsh Relative URL: ^/head/shells/zsh Repository Root: svn://svn.freebsd.org/ports Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5 Revision: 404194 Node Kind: directory Schedule: normal Last Changed Author: adamw Last Changed Rev: 403755 Last Changed Date: 2015-12-14 20:02:17 -0800 (Mon, 14 Dec 2015) # uname -a FreeBSD promptuary.ferramentum.org 10.2-RELEASE FreeBSD 10.2-RELEASE #0 r286666: Wed Aug 12 15:26:37 UTC 2015 email@example.com:/usr/obj/usr/src/sys/GENERIC amd64
Comment 1 Adam Weinberger 2015-12-22 17:54:29 UTC
Hi Albert. Thanks for the bug report. I can't reproduce this, in 9.3, 10.1, or 10.2, in i386 or amd64. There's something different in your setup from mine, and I'd like to figure out what it is. It is unusual that the file it's looking for is /usr/obj/usr/ports/[...] Can you please attach a couple things? * full build log * output of 'make -C /usr/ports/shells/zsh showconfig' * contents of /etc/make.conf * output of 'pkg info'
Comment 4 Albert Ou 2015-12-23 04:32:10 UTC
Created attachment 164533 [details] make -C /usr/ports/shells/zsh showconfig
Comment 7 Albert Ou 2015-12-23 04:37:11 UTC
(In reply to Adam Weinberger from comment #1) Hi Adam, The unorthodox /usr/obj prefix is simply a consequence of setting WRKDIRPREFIX in make.conf(5); it is documented in ports(7). This issue arises even if WRKDIRPREFIX is unset. Thanks.
Comment 8 commit-hook 2015-12-23 22:57:32 UTC
A commit references this bug: Author: adamw Date: Wed Dec 23 22:56:46 UTC 2015 New revision: 404326 URL: https://svnweb.freebsd.org/changeset/ports/404326 Log: Partially revert r403755. It can't build the curses module against ncurses from ports. It probably can, but configure is too smart to figure that out. I have no confidence that linking against curses from ports results in a properly working zshell. So, for now, back out the change. It will build a shared lib zsh against ncurses from ports, but breaks statically-linked zsh's. Mark the port as IGNORE if we're using ncurses from ports and building a static zsh. Also, remove a regression-test target that isn't useful anymore (thanks to bapt for the reminder about this). I am not enthused about this change. It doesn't really "fix" the below PR, so much as shoot ourselves in the other foot instead. PR: 205500 Changes: head/shells/zsh/Makefile
Comment 9 Adam Weinberger 2015-12-23 22:59:44 UTC
Well, the problem is definitely linking against a shared ncurses from ports. At this point the port is behaving poorly and you get to choose between ncurses from ports working with static or shared linking. I've put things back to how they were before. Now the port will build for you again, but not for anybody with the STATIC option enabled and ncurses from ports. But at least there's a message about it now. Thanks for supplying all the logs, Albert. That was really helpful.
Comment 10 Albert Ou 2015-12-24 02:34:48 UTC
Adam, thanks for figuring this out.