public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* zsh 5.8: configure fails only on 32bit
@ 2020-06-12 21:05 Yasuhiro KIMURA
  2020-06-13  5:53 ` ASSI
  2020-06-13  6:18 ` Marco Atzeri
  0 siblings, 2 replies; 8+ messages in thread
From: Yasuhiro KIMURA @ 2020-06-12 21:05 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: Text/Plain, Size: 2496 bytes --]

Hello,

I'm trying to update zsh package to its latest version 5.8. Version
5.5.1-1 still uses custom build shell script. So I migrated to use
cygport. Attached files are .cygport file and patches. I blieve all
customizations and modifications of 5.5.1-1 are included. But
currently there is one problem.

On 64bit console 'cygport zsh.cygport all' completes successfully. But
on 32bit console it fails with configure error as following.

----------------------------------------------------------------------
checking for /dev/fd filesystem... /proc/self/fd
checking for RFS superroot directory... no
checking whether we should use the native getcwd... no
checking whether getcwd calls malloc to allocate memory... yes
checking for setproctitle... no
checking for library containing setproctitle... no
checking for NIS... no
checking for NIS+... no
checking for utmp file... /var/run/utmp
checking for wtmp file... no
checking for utmpx file... no
checking for wtmpx file... no
checking for brk() prototype in <unistd.h>... no
checking for sbrk() prototype in <unistd.h>... yes
checking for mknod prototype in <sys/stat.h>... yes
checking for ioctl prototype in <unistd.h> or <termios.h>... no
checking for ioctl prototype in <sys/ioctl.h>... yes
checking if named FIFOs work... yes
checking if link() works... yes
checking if kill(pid, 0) returns ESRCH correctly... yes
checking if POSIX sigsuspend() works... yes
checking if tcsetpgrp() actually works... yes
checking if getpwnam() is faked... no
checking base type of the third argument to accept... socklen_t
checking if your system has /dev/ptmx... yes
make: *** No targets specified and no makefile found.  Stop.
*** ERROR: make failed
yasu@rolling[1301]%  
----------------------------------------------------------------------

According to config.log configure script is executed with following options.

/cygdrive/c/Users/yasu/Work/Cygwin/zsh/zsh.cygwin/zsh-5.8-1.i686/src/zsh-5.8/configure --srcdir=/cygdrive/c/Users/yasu/Work/Cygwin/zsh/zsh.cygwin/zsh-5.8-1.i686/src/zsh-5.8 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/zsh --htmldir=/usr/share/doc/zsh/html -C --enable-function-subdirs --enable-gdbm --enable-multibyte --enable-pcre --enable-zsh-secure-free

So I executed it directly from command line. Then it completed without
any error.

Why such difference happens? Does cygconf function do something other
than executing configure script?

Best Regards.

---
Yasuhiro KIMURA

[-- Attachment #2: zsh.cygport --]
[-- Type: Text/Plain, Size: 1234 bytes --]

NAME="zsh"
VERSION=5.8
RELEASE=1
CATEGORY="Shells"
SUMMARY="The Z-Shell"
DESCRIPTION="Zsh is a UNIX command interpreter (shell) usable as an
interactive login shell and as a shell script command processor. Of
the standard shells, zsh most closely resembles \`ksh\' but includes
many enhancements. Zsh has command line editing, builtin spelling
correction, programmable command completion, shell functions (with
autoloading), a history mechanism, and a host of other features."
HOMEPAGE="http://zsh.sourceforge.net/"
SRC_URI="http://www.zsh.org/pub/zsh-${VERSION}.tar.xz"
PATCH_URI="
	cygwin-Src_zsh_system.h.patch
	cygwin-add-files-specific-to-cygwin.patch
	cygwin-add-comletion-file-for-cygwin-commands.patch
	upstream-fix-make-install-error.patch
"
CYGCONF_ARGS+="
	--enable-function-subdirs
	--enable-gdbm
	--enable-multibyte
	--enable-pcre
	--enable-zsh-secure-free
"
zsh_REQUIRES="cygwin libncursesw10 libpcre1 libiconv2 libgdbm6"
KEEPDIRS="/usr/share/zsh/site-functions"
src_install() {
    cd ${B}
    cyginstall install.html install.info

    exeinto /usr/bin
    doexe ${S}/cygwin/bin/mkzsh
    insinto /etc
    doins ${S}/cygwin/startup-files/zprofile
    insinto /etc/profile.d
    doins ${S}/cygwin/profile.d/zshell.zsh
}

[-- Attachment #3: cygwin-Src_zsh_system.h.patch --]
[-- Type: Text/X-Patch, Size: 580 bytes --]

diff -Nru origsrc/zsh-5.8/Src/zsh_system.h src/zsh-5.8/Src/zsh_system.h
--- origsrc/zsh-5.8/Src/zsh_system.h	2020-02-15 07:06:57.000000000 +0900
+++ src/zsh-5.8/Src/zsh_system.h	2020-06-04 02:39:07.698004100 +0900
@@ -848,6 +848,10 @@
 #ifdef __CYGWIN__
 # include <sys/cygwin.h>
 # define IS_DIRSEP(c) ((c) == '/' || (c) == '\\')
+/* Cygwin Hack!  newlib doesn't define STDC ISO 10646, so hack it here */
+# if defined(HAVE_WCHAR_H) && defined(HAVE_WCTOMB) && !defined(__STDC_ISO_10646__)
+#  define __STDC_ISO_10646__
+# endif
 #else
 # define IS_DIRSEP(c) ((c) == '/')
 #endif

[-- Attachment #4: cygwin-add-comletion-file-for-cygwin-commands.patch --]
[-- Type: Text/X-Patch, Size: 14704 bytes --]

diff -Nru origsrc/zsh-5.8/Completion/Cygwin/Command/_mkgroup src/zsh-5.8/Completion/Cygwin/Command/_mkgroup
--- origsrc/zsh-5.8/Completion/Cygwin/Command/_mkgroup	1970-01-01 09:00:00.000000000 +0900
+++ src/zsh-5.8/Completion/Cygwin/Command/_mkgroup	2020-06-04 02:19:49.941603900 +0900
@@ -0,0 +1,18 @@
+#compdef mkgroup
+
+_arguments -C \
+  '(-l)--local[print local group information]' \
+  '(--local)-l[print local group information]' \
+  '(-d)--domain[print global group information from the domain specified (or from the current domain if there is no domain specified)]' \
+  '(--domain)-d[print global group information from the domain specified (or from the current domain if there is no domain specified)]' \
+  '(-o)--id-offset[offset change the default offset (10000) added to uids in domain accounts]' \
+  '(--id-offset)-o[offset change the default offset (10000) added to uids in domain accounts]' \
+  '(-s)--no-sids[don\'t print SIDs in pwd field (this affects ntsec)]' \
+  '(--no-sids)-s[don\'t print SIDs in pwd field (this affects ntsec)]' \
+  '(-u)--users[print user list in gr_mem field]' \
+  '(--users)-u[print user list in gr_mem field]' \
+  '(-h)--help[print this message]' \
+  '(--help)-h[print this message]' \
+  '(-v)--version[print version information and exit]' \
+  '(--version)-v[print version information and exit]' \
+  ':domain:'
diff -Nru origsrc/zsh-5.8/Completion/Cygwin/Command/_mkpasswd src/zsh-5.8/Completion/Cygwin/Command/_mkpasswd
--- origsrc/zsh-5.8/Completion/Cygwin/Command/_mkpasswd	1970-01-01 09:00:00.000000000 +0900
+++ src/zsh-5.8/Completion/Cygwin/Command/_mkpasswd	2020-06-04 02:19:49.947559300 +0900
@@ -0,0 +1,24 @@
+#compdef mkpasswd
+
+_arguments -C \
+  '(-l)--local[print local group information]' \
+  '(--local)-l[print local group information]' \
+  '(-d)--domain[print domain accounts (from current domain if no domain specified)]' \
+  '(--domain)-d[print domain accounts (from current domain if no domain specified)]' \
+  '(-o)--id-offset[change the default offset (10000) added to uids in domain accounts]' \
+  '(--id-offset)-o[change the default offset (10000) added to uids in domain accounts]' \
+  '(-g)--local-groups[print local group information too if no domain specified]' \
+  '(--local-groups)-g[print local group information too if no domain specified]' \
+  '(-m)--no-mount[don\'t use mount points for home dir]' \
+  '(--no-mount)-m[don\'t use mount points for home dir]' \
+  '(-s)--no-sids[don\'t print SIDs in pwd field (this affects ntsec)]' \
+  '(--no-sids)-s[don\'t print SIDs in pwd field (this affects ntsec)]' \
+  '(-p)--path-to-home[use specified path instead of user account home dir]' \
+  '(--path-to-home)-p[use specified path instead of user account home dir]' \
+  '(-u)--username[only return information for the specified user]' \
+  '(--username)-u[only return information for the specified user]' \
+  '(-h)--help[displays this message]' \
+  '(--help)-h[displays this message]' \
+  '(-v)--version[print version information and exit]' \
+  '(--version)-v[print version information and exit]' \
+  ':domain:'
diff -Nru origsrc/zsh-5.8/Completion/Cygwin/Command/_passwd src/zsh-5.8/Completion/Cygwin/Command/_passwd
--- origsrc/zsh-5.8/Completion/Cygwin/Command/_passwd	1970-01-01 09:00:00.000000000 +0900
+++ src/zsh-5.8/Completion/Cygwin/Command/_passwd	2020-06-04 02:19:49.953543200 +0900
@@ -0,0 +1,22 @@
+#compdef passwd
+
+_arguments -C \
+  '(-l)--lock[lock USERS\'s account]' \
+  '(--lock)-l[lock USERS\'s account]' \
+  '(-u)--unlock[unlock USERS\'s account]' \
+  '(--unlock)-u[unlock USERS\'s account]' \
+  '(-S)--status[display password status for USER (locked, expired, etc.)]' \
+  '(--status)-S[display password status for USER (locked, expired, etc.)]' \
+  '(-i)--inactive[set NUM of days before inactive accounts are disabled (inactive accounts are those with expired passwords)]' \
+  '(--inactive)-i[set NUM of days before inactive accounts are disabled (inactive accounts are those with expired passwords)]' \
+  '(-n)--minage[set system minimum password age to MINDAYS]' \
+  '(--minage)-n[set system minimum password age to MINDAYS]' \
+  '(-x)--maxage[set system maximum password age to MAXDAYS]' \
+  '(--maxage)-x[set system maximum password age to MAXDAYS]' \
+  '(-L)--length[set system minimum password length to LEN]' \
+  '(--length)-L[set system minimum password length to LEN]' \
+  '(-h)--help[displays this message]' \
+  '(--help)-h[displays this message]' \
+  '(-v)--version[print version information and exit]' \
+  '(--version)-v[print version information and exit]' \
+  '*:user:_users'
diff -Nru origsrc/zsh-5.8/Completion/Unix/Command/_ps src/zsh-5.8/Completion/Unix/Command/_ps
--- origsrc/zsh-5.8/Completion/Unix/Command/_ps	2018-12-16 10:39:51.000000000 +0900
+++ src/zsh-5.8/Completion/Unix/Command/_ps	2020-06-04 02:21:45.762232400 +0900
@@ -1,244 +1,22 @@
 #compdef ps
 
-_ps_props() {
-  local opts
-
-  if [[ $1 = -s ]]; then
-    shift
-    compset -P '[+-]' || _describe -t modifiers modifier \
-	'( +:ascending\ order -:descending\ order )' -S ''
-  fi
-
-  case $OSTYPE in
-    linux-gnu) opts=( ${${(f)"$(_call_program properties $words[1] L)"}%% *} ) ;;
-    *bsd*|dragonfly*|darwin*) opts=( $(_call_program properties $words[1] L) ) ;;
-    solaris*) opts=( ${=${(f)"$(_call_program properties $words[1] - 2>&1)"}[-3,-1]} ) ;;
-  esac
-
-  compadd "$@" -a opts
-}
-
-local curcontext="$curcontext" state line expl ret=1
-local short long pids
-local -a args bsd bsdarg
-local -A equivs
-
-args=(
-  '-a[select processes with tty except session leaders]'
-  {-A,-e}'[select every process]'
-  '-d[select all processes except session leaders]'
-  '*-p+[select processes by ID]:process ID:_sequence -s , _pids'
-  '*-G+[select processes by real group]:group:_sequence -s , _groups'
-  '*-g+[select processes by effective group or session]:group:_sequence -s , _groups'
-  '*-s+[select processes by session leaders]:session leader:_sequence -s , _pids'
-  '*-t+[select processes by attached terminal]:tty:_sequence -s , _ttys -Do'
-  '*-u+[select processes by effective user]:user:_sequence -s , _users'
-  '*-U+[select processes by real user]:user:_sequence -s , _users'
-  '-o+[specify output format]:property:_sequence -s , _ps_props -'
-
-  '-c[show scheduler properties]'
-  '-f[full listing]'
-  '-j[show session ID and process group ID]'
-  '-l[long listing]'
-  '-L[show information about each light weight process]'
-  '-y[show RSS in place of ADDR (used with -l)]'
-)
-
-bsd=(
-  'a[include processes belonging to other users]'
-  '(j s u v X)l[output in long format]'
-  '(l s u v X)j[output in job control format]'
-  'x[include processes with no controlling terminal]'
-  '(j l s u X)v[output in virtual memory format]'
-  '*w[wide output]'
-  'L[display all format specifiers]'
-  'S[include child process data with the parent]'
-  'T[select processes attached to current terminal]'
-)
-bsdarg=(
-  '*p[select processes by ID]'
-  '*t[select processes by attached terminal]'
-  'O[specify additional output fields]'
-  'o[specify output format]'
-)
-
-case $OSTYPE in
-  solaris2.<11->)
-    args+=(
-      '-h[select processes homed to the specified lgrp]:lgrp list'
-      '-H[show home lgroup of the process]'
-    )
-  ;|
-  solaris*)
-    args+=(
-      '-P[show processor to which the process or lwp is bound]'
-      '*-z[select processes by zone]:zone list:_sequence _zones'
-      '-Z[show zone with which process is associated]'
-    )
-  ;;
-  linux-gnu|dragonfly*|freebsd*|netbsd*|openbsd*)
-    bsd+=(
-      'e[show environment after command]'
-      '(j l s v X)u[output in resource usage format]'
-    )
-    bsdarg+=(
-      'N[set namelist file for WCHAN display]'
-      '*U[select processes by effective user]'
-    )
-  ;|
-  linux-gnu|dragonfly*|freebsd*|openbsd*)
-    bsd+=( 'H[show threads as if they were processes]' )
-  ;|
-  darwin*|dragonfly*|freebsd*|netbsd*|openbsd*)
-    bsd+=(
-      'A[select every process]'
-      'c[show just executable name for command]'
-      'h[repeat header lines, one per page of output]'
-      '(r)m[sort by memory usage]'
-      '(m)r[sort by CPU usage]'
-    )
-  ;|
-  darwin*|dragonfly*|freebsd*|netbsd*)
-    bsd+=( 'C[ignore resident time for CPU percentage]' )
-  ;|
-  dragonfly*|freebsd*|netbsd*|openbsd*)
-    bsdarg+=( 'M[extract values from specified core]' )
-  ;|
-  linux-gnu|netbsd*) bsdarg+=( 'k[specify sort order]' ) ;|
-  darwin*|freebsd*)
-    bsd+=( 'X[skip processes with no controlling terminal]' )
-    bsdarg+=( '*G[select processes by real group]' )
-  ;|
-  freebsd*|dragonfly*)
-    bsd+=( 'f[show command and environment for swapped out processes]' )
-  ;|
-  netbsd*|openbsd*)
-    bsdarg+=( 'W[extract swap information from specified file]' )
-  ;|
-  freebsd*|netbsd*)
-    bsd+=(
-      'd[show process hierarchy]'
-    )
-  ;|
-  darwin*)
-    bsd+=(
-      'd[select all processes except session leaders]'
-      'E[show environment after command]'
-      'f[full listing]'
-      'M[show threads corresponding to each process]'
-    )
-    bsdarg+=(
-      '*g[select processes by process group leader]'
-      '*U[select processes by real user]'
-    )
-    if [[ $words[CURRENT] = -* ]]; then
-      bsd+=( 'e[select every process]' )
-      bsdarg+=( 'u[select processes by user id]' )
-    else
-      bsd+=(
-        'e[show environment after command]'
-        '(j l v)u[output in resource usage format]'
-      )
-    fi
-  ;;
-  dragonfly*)
-    bsd+=( 'R[subsort by parent/child chain]' )
-  ;;
-  freebsd*)
-    bsd+=(
-      '*J[select processes by jail ID]'
-      'Z[show mac label]'
-    )
-  ;;
-  netbsd*) bsd+=( '(j l u v)s[output in thread format]' ) ;;
-  openbsd*)
-    bsd+=(
-      'k[display information about kernel threads]'
-    )
-  ;;
-  linux-gnu)
-    args+=(
-      '-O+[specify additional output fields]:property:_sequence -s , _ps_props -'
-      '(-N --deselect)'{-N,--deselect}'[negate selection: all processes except those selected]'
-      '*-C[select processes by command name]:command:_sequence -s , _command_names -e'
-      '*--ppid[select processes by parent process ID]:parent process:_sequence -S , _pids'
-      '(-f)-F[extra full format listing]'
-      '--context[show SELinux security context format]'
-      '-M[show security data]'
-      '(--forest -H)'{--forest,-H}'[show process hierarchy]'
-      '--headers[repeat header lines, one per page of output]'
-      '(--cols --columns --width)'{--cols,--columns,--width}'[set screen width]:width'
-      '(--lines --rows)'{--lines,--rows}'[set screen height]'
-      '--cumulative[include child process data with the parent]'
-      '-n[set namelist file for WCHAN display]:file:_files'
-      '(--no-headers --no-heading)'{--no-headers,--no-heading}'[suppress headers]'
-      '(-q --quick-pid -a -A -d -e -N --deselect -C -p --pid --ppid -G --Group -g --group -s --sid -t --tty -u --user -U --User --forest -H --sort)'{-q+,--quick-pid=}'[select processes by ID (quick mode)]:process ID:_sequence -s , _pids'
-      '--sort=[specify sort order]:order:_sequence -s , _ps_props -s'
-      '-w[wide output]'
-      '-m[show threads after processes]'
-      '-T[show threads, with SPID column]'
-      '-Z[show security context format (SELinux)]'
-      '(- *)--help[display help information]::subject:(simple list output threads misc all)'
-      '(- *)--info[display debugging information]'
-      '(- *)'{-V,--version}'[display version information]'
-    )
-    equivs=( G Group g group p pid s sid t tty U User u user o format )
-    for short long in ${(kv)equivs}; do
-      args+=( ${${(M)args:#(\*|)-$short*}/$short+/-$long=} )
-    done
-    bsd+=(
-      'c[show true command name]'
-      'f[show process hierarchy]'
-      'h[suppress header]'
-      'm[show threads after processes]'
-      'n[numeric output for WCHAN and USER]'
-      'r[select running processes]'
-      '(j l u v X)s[output in signal format]'
-      'V[display version information]'
-      '(j l s u v)X[output in register format]'
-      'Z[show security data]'
-    )
-    bsdarg+=( 'q[select processes by ID (quick mode)]' )
-  ;;
-esac
-
-if (( CURRENT > 1 )) && [[ $OSTYPE != (solaris*|linux-gnu) ||
-              ( $OSTYPE = linux-gnu && $words[CURRENT-1] != -* ) ]]; then
-  case $words[CURRENT-1] in
-    *k)
-      local sopt
-      [[ $OSTYPE = linux-gnu ]] && sopt='-s'
-      _wanted -C option-k-1 properties expl 'property' \
-		_sequence -s , _ps_props $sopt - && return ;;
-    *g) [[ $OSTYPE = darwin* ]] && _wanted -C option-g-1 processes \
-		expl 'process ID' _sequence -s , _pids && return ;;
-    *G) _sequence -s , _groups && return ;;
-    *J) _sequence _jails -0 && return ;;
-    *[MNW]) _files && return ;;
-    *t)
-      _wanted -C option-t-1 ttys expl tty _sequence -s , _ttys -Do && return
-    ;;
-    *[pq]) _wanted -C "option-${words[CURRENT-1][-1]}-1" processes \
-	expl 'process ID' _sequence -s , _pids && return ;;
-    *U) _wanted -C option-U-1 users expl user _sequence -s , _users && return ;;
-    *u) [[ $OSTYPE = darwin* && $words[CURRENT-1] = -* ]] && \
-	_wanted -C option-u-1 users expl user _sequence -s , _users && return ;;
-    *[oO]) _wanted -C "option-${words[CURRENT-1][-1]}-1" properties \
-        expl 'property' _sequence -s , _ps_props - && return ;;
-  esac
-fi
-
-if [[ $OSTYPE = (*bsd*|darwin*|dragonfly*) ]]; then
-  compset -P - && pids=1
-else
-  [[ $OSTYPE = solaris* ]] || args+=( '*:: :->rest' )
-  _arguments -C -s $args && ret=0
-  [[ -z "$state" ]] && return ret
-fi
-
-_values -s '' -S ' ' 'options' $bsd && ret=0
-_values -S ' ' 'options' $bsdarg && ret=0
-if [[ -z $pids ]]; then
-  _pids && ret=0
-fi
-return ret
+_arguments -C \
+  '(-a)--all[show processes of all users]' \
+  '(--all)-a[show processes of all users]' \
+  '(-e)--everyone[show processes of all users]' \
+  '(--everyone)-e[show processes of all users]' \
+  '(-f)--full[show process uids, ppids]' \
+  '(--full)-f[show process uids, ppids]' \
+  '(-l)--long[show process uids, ppids, pgids, winpids]' \
+  '(--long)-l[show process uids, ppids, pgids, winpids]' \
+  '(-s)--summary[show process summary]' \
+  '(--summary)-s[show process summary]' \
+  '(-u)--user[list processes owned by UID]' \
+  '(--user)-u[list processes owned by UID]' \
+  '(-W)--windows[show windows as well as cygwin processes]' \
+  '(--windows)-W[show windows as well as cygwin processes]' \
+  '(-h)--help[output usage information and exit]' \
+  '(--help)-h[output usage information and exit]' \
+  '(-v)--version[output version information and exit]' \
+  '(--version)-v[output version information and exit]' \
+  ':UID:'

[-- Attachment #5: cygwin-add-files-specific-to-cygwin.patch --]
[-- Type: Text/X-Patch, Size: 10499 bytes --]

diff -Nru cygwin/bin/mkzsh cygwin/bin/mkzsh
--- cygwin/bin/mkzsh	1970-01-01 09:00:00.000000000 +0900
+++ cygwin/bin/mkzsh	2020-06-04 05:26:04.926454800 +0900
@@ -0,0 +1,73 @@
+#!/bin/zsh
+
+ME=`basename $0`
+batfile=/zsh.bat
+iconpath=/cygwin.ico
+shortcutname="Cygwin Zsh"
+
+all_opt=""
+do_desktop=""
+do_menu=""
+
+#rootpath=`regtool get '/machine/SOFTWARE/Cygnus Solutions/Cygwin/mounts v2/\//native'`
+rootpath=`mount | grep ' / ' | awk '{ print $1 }' | tr / '\\\\'`
+rootdrive=`echo "$rootpath" | sed 's/\(.:\).*/\1/'`
+
+CreateZshBat()
+{
+  echo "Creating $batfile ..."
+# Create the zsh.bat file
+
+ cat > $batfile <<EOF
+@echo off
+$rootdrive
+chdir $rootpath\bin
+zsh -l -i
+EOF
+
+ chmod a+rx $batfile
+}
+
+CreateDesktop()
+{
+ echo "Creating Desktop Icon..."
+ mkshortcut -D $all_opt --icon $iconpath --name "$shortcutname" --arguments="$rootpath" $batfile
+}
+
+CreateMenu()
+{
+ echo "Creating Menu Item..."
+ mkshortcut -P $all_opt --icon $iconpath --name "$shortcutname" --arguments="$rootpath" $batfile
+}
+
+Usage()
+{
+  cat << EOF
+Usage: $ME {-A} {-D} {-P} {-h|--help}
+  -A|--allusers      creates item for All Users instead of just current user
+  -D|--desktop       creates a Desktop icon for running $batfile
+  -P|--smprograms    creates a Program menu item for running $batfile
+  -h|--help          prints usage
+EOF
+  exit 2
+}
+
+# main
+
+while [ $# != 0 ]
+do
+ case "$1" in
+-A|--allusers)   all_opt="--allusers" ;;
+-D|--desktop)    do_desktop="1" ;;
+-P|--smprograms) do_menu="1" ;;
+-h|--help)       Usage ;;
+ esac
+ shift 
+done
+
+CreateZshBat
+
+[ "$do_desktop" != "" ] && CreateDesktop
+[ "$do_menu" != "" ] && CreateMenu
+
+exit 0
diff -Nru cygwin/profile.d/zshell.zsh cygwin/profile.d/zshell.zsh
--- cygwin/profile.d/zshell.zsh	1970-01-01 09:00:00.000000000 +0900
+++ cygwin/profile.d/zshell.zsh	2020-06-04 05:26:04.929475400 +0900
@@ -0,0 +1,4 @@
+# set SHELL if not set
+if [ ! -z "$ZSH_NAME" -a -z "$SHELL" ]; then
+  export SHELL="/bin/zsh"
+fi
diff -Nru cygwin/startup-files/zprofile cygwin/startup-files/zprofile
--- cygwin/startup-files/zprofile	1970-01-01 09:00:00.000000000 +0900
+++ cygwin/startup-files/zprofile	2020-06-04 05:26:04.932439500 +0900
@@ -0,0 +1,224 @@
+# derived from base-files version 4.2-3
+
+# WARNING
+#
+# IF THIS FILE IS MODIFIED IT WILL NOT BE UPDATED BY THE CYGWIN
+# SETUP PROGRAM.  IT BECOMES YOUR RESPONSIBILITY.
+
+# The latest version as installed by the Cygwin Setup program can
+# always be found at /usr/share/doc/zsh-X.Y.Z/StartupFiles/etc/zprofile
+
+# Some resources...
+
+# Customizing Your Shell: http://www.dsl.org/cookbook/cookbook_5.html#SEC69
+# Consistent BackSpace and Delete Configuration:
+#   http://www.ibb.net/~anne/keyboard.html
+# The Linux Documentation Project: http://www.tldp.org/
+# The Linux Cookbook: http://www.tldp.org/LDP/linuxcookbook/html/
+# Greg's Wiki http://mywiki.wooledge.org/
+
+# Setup some default paths. Note that this order will allow user installed
+# software to override 'system' software.
+# Modifying these default path settings can be done in different ways.
+# To learn more about startup files, refer to your shell's man page.
+
+# If you wish to change the path for all users, it is recommended you edit
+#    /etc/zshenv # runs before /etc/zprofile
+# or /etc/zshrc  # runs after /etc/zprofile (for interactive shells)
+# or /etc/zlogin # runs after /etc/zprofile (for login shells)
+
+# If you wish to change the path on a user by user basis, it is recommended you
+#  edit
+#    ~/.zshenv   # runs before ~/.zprofile
+# or ~/.zprofile # (for login shells)
+# or ~/.zshrc    # runs after ~/.zprofile (for interactive shells)
+# or ~/.zlogin   # runs after ~/.zprofile (for login shells)
+
+if [ -z "${PROFILEREAD+true}" ] ; then
+
+  # Setup some default paths. Note that this order will allow user installed
+  # software to override 'system' software.
+  # Modifying these default path settings can be done in different ways.
+  # To learn more about startup files, refer to your shell's man page.
+
+  : ${ORIGINAL_PATH=${PATH}}
+  if [ ${CYGWIN_NOWINPATH-addwinpath} = "addwinpath" ] ; then
+    PATH="/usr/local/bin:/usr/bin${PATH:+:${PATH}}"
+  else
+    PATH="/usr/local/bin:/usr/bin"
+  fi
+
+# see https://cygwin.com/ml/cygwin/2014-05/msg00352.html
+# MANPATH="/usr/local/man:/usr/share/man:/usr/man${MANPATH:+:${MANPATH}}"
+  INFOPATH="/usr/local/info:/usr/share/info:/usr/info${INFOPATH:+:${INFOPATH}}"
+
+  # Set the user id
+  USER="$(/usr/bin/id -un)"
+
+  # TMP and TEMP as defined in the Windows environment
+  # can have unexpected consequences for cygwin apps, so we define
+  # our own to match GNU/Linux behaviour.
+  unset TMP TEMP
+  TMP="/tmp"
+  TEMP="/tmp"
+
+  # Define default printer
+  p='/proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/Windows/Device'
+  if [ -e "${p}" ] ; then
+    read -r PRINTER < "${p}"
+    PRINTER=${PRINTER%%,*}
+  fi
+  unset p
+
+  # Default to removing the write permission for group and other
+  #  (files normally created with mode 777 become 755; files created with
+  #  mode 666 become 644)
+  umask 022
+
+  # Here is how HOME is set, in order of priority, when starting from Windows
+  #  1) From existing HOME in the Windows environment, translated to a Posix path
+  #  2) from /etc/passwd, if there is an entry with a non empty directory field
+  #  3) from HOMEDRIVE/HOMEPATH
+  #  4) / (root)
+  # If the home directory doesn't exist, create it.
+  if [ ! -d "${HOME}" ]; then
+    if mkdir -p "${HOME}"; then
+      echo "Copying skeleton files."
+      echo "These files are for the users to personalise their cygwin experience."
+      echo
+      echo "They will never be overwritten nor automatically updated."
+      echo
+      if ! cd /etc/skel; then
+        echo "WARNING: Failed attempt to cd into /etc/skel!"
+      else
+        /usr/bin/find . -type f |
+	  while read f; do
+            fDest=${f#.}
+            if [ ! -e "${HOME}${fDest}" -a ! -L "${HOME}${fDest}" ]; then
+              /usr/bin/install -D -p -v "${f}" "${HOME}/${fDest}"
+            fi
+          done
+        unset fDest
+      fi
+    else
+      echo "${HOME} could not be created."
+      { [ -d "${TEMP}" ] && HOME="${TEMP}"; } ||
+      { [ -d "${TMP}" ] && HOME="${TMP}"; } ||
+      { [ -d /tmp ] && HOME=/tmp; } ||
+      HOME=/
+      echo "Setting HOME to ${HOME}."
+    fi
+  fi
+
+  readonly PROFILEREAD=true
+fi
+
+# Make sure we start in home unless invoked by CHERE
+if [ ! -z "${CHERE_INVOKING}" ]; then
+  unset CHERE_INVOKING
+else
+  cd "${HOME}" || echo "WARNING: Failed attempt to cd into ${HOME}!"
+fi
+
+# Shell dependent settings
+profile_d ()
+{
+  _LC_ALL_SET_="${LC_ALL+set}"
+  _LC_SAVE_="${LC_ALL-null}"
+  LC_ALL=C
+  if [ "${_LC_SAVE_}" = "null" ]; then
+    for file in /etc/profile.d/*.$1; do
+      [ -e "${file}" ] && . "${file}"
+    done
+    unset LC_ALL
+  else
+    for file in /etc/profile.d/*.$1; do
+      [ -e "${file}" ] && LC_ALL="${_LC_SAVE_}" . "${file}"
+    done
+    LC_ALL="${_LC_SAVE_}"
+  fi
+  unset file
+  unset _LC_ALL_SET_
+  unset _LC_SAVE_
+}
+
+HOSTNAME="$(/usr/bin/hostname)"
+profile_d sh
+if [ ! "x${BASH_VERSION}" = "x"  ]; then
+  [ -f "/etc/bash.bashrc" ] && . "/etc/bash.bashrc"
+elif [ ! "x${KSH_VERSION}" = "x" ]; then
+  typeset -l HOSTNAME="$(/usr/bin/hostname)"
+  [ "${PS1-null}" = "null" ] || PS1=$(print '\033]0;${PWD}\n\033[32m${USER}@${HOSTNAME} \033[33m${PWD/${HOME}/~}\033[0m\n$ ')
+elif [ ! "x${ZSH_VERSION}" = "x" ]; then
+  # zsh is in shell compatibility mode here, so we probably shouldn't do this
+  profile_d zsh
+elif [ ! "x${POSH_VERSION}" = "x" ]; then
+  : # [ "${PS1-null}" = "null" ] || PS1="$ "
+else
+  : # [ "${PS1-null}" = "null" ] || PS1="$ "
+fi
+
+# export PROFILEREAD PATH ORIGINAL_PATH MANPATH INFOPATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL tmp temp
+export PROFILEREAD PATH ORIGINAL_PATH INFOPATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL tmp temp
+
+# Check to see if mkpasswd/mkgroup needs to be run try and cut down the emails
+#   about this on the lists!
+#
+# The following are the conditions under which the group name special cases
+#   will appear (where uid and gid are the effective user and group ids
+#   for the current user, and pgsid is the primary group associated with the
+#   SID for the current user):
+#       mkpasswd:
+#         gid is not in /etc/group
+#         uid is not in /etc/passwd
+#       passwd/group_GID_clash(<gid>/<pgsid>):
+#         gid is not in /etc/group
+#         uid is in /etc/passwd
+#         pgsid is in /etc/group (and does not match gid)
+#       mkgroup:
+#         gid is not in /etc/group
+#         uid is in /etc/passwd
+#         pgsid is not in /etc/group
+#
+# If this message keeps appearing and you are sure it's a mistake (ie, don't
+#   email about it!), comment out the test below.
+case "$(/usr/bin/id -ng)" in
+mkpasswd )
+  echo "Your group is currently \"mkpasswd\".  This indicates that your"
+  echo "gid is not in /etc/group and your uid is not in /etc/passwd."
+  echo
+  echo "The /etc/passwd (and possibly /etc/group) files should be rebuilt."
+  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
+  echo
+  echo "mkpasswd -l [-d] > /etc/passwd"
+  echo "mkgroup  -l [-d] > /etc/group"
+  echo
+  echo "Note that the -d switch is necessary for domain users."
+  ;;
+passwd/group_GID_clash* )
+  echo "Your group is currently \"passwd/group_GID_clash(gid/pgsid)\".  This"
+  echo "indicates that your gid is not in /etc/group, but the pgsid (primary "
+  echo "group associated with your SID) is in /etc/group."
+  echo
+  echo "The /etc/passwd (and possibly /etc/group) files should be rebuilt."
+  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
+  echo
+  echo "mkpasswd -l [-d] > /etc/passwd"
+  echo "mkgroup  -l [-d] > /etc/group"
+  echo
+  echo "Note that the -d switch is necessary for domain users."
+  ;;
+mkgroup )
+  echo "Your group is currently \"mkgroup\".  This indicates that neither"
+  echo "your gid nor your pgsid (primary group associated with your SID)"
+  echo "is in /etc/group."
+  echo
+  echo "The /etc/group (and possibly /etc/passwd) files should be rebuilt."
+  echo "See the man pages for mkpasswd and mkgroup then, for example, run"
+  echo
+  echo "mkpasswd -l [-d] > /etc/passwd"
+  echo "mkgroup  -l [-d] > /etc/group"
+  echo
+  echo "Note that the -d switch is necessary for domain users."
+  ;;
+esac

[-- Attachment #6: upstream-fix-make-install-error.patch --]
[-- Type: Text/X-Patch, Size: 802 bytes --]

diff --git a/configure.ac b/configure.ac
index e78ebf86b..995f010b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3178,6 +3178,22 @@ AC_CONFIG_COMMANDS([stamp-h], [echo >stamp-h])
 
 AC_OUTPUT
 
+dnl Copy pre-built man pages and help files, for tarball out-of-tree builds.
+for manpage in `cd ${srcdir} && echo Doc/*.1`; do
+  if test x"$manpage" != x"Doc/*.1" && ! test -e "${manpage}"; then
+    cp ${srcdir}/${manpage} ./Doc/
+  fi
+done
+if ! test -e Doc/help.txt; then
+  cp ${srcdir}/Doc/help.txt ./Doc/
+fi
+mkdir -p ./Doc/help
+for helpfile in `cd ${srcdir} && echo Doc/help/*`; do
+  if test x"$helpfile" != x"Doc/help/*" && ! test -e "${helpfile}"; then
+    cp ${srcdir}/${helpfile} ./Doc/help/
+  fi
+done
+
 eval "zshbin1=${bindir}"
 eval "zshbin2=${zshbin1}"
 eval "zshman1=${mandir}"

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: zsh 5.8: configure fails only on 32bit
  2020-06-12 21:05 zsh 5.8: configure fails only on 32bit Yasuhiro KIMURA
@ 2020-06-13  5:53 ` ASSI
  2020-06-13  6:18 ` Marco Atzeri
  1 sibling, 0 replies; 8+ messages in thread
From: ASSI @ 2020-06-13  5:53 UTC (permalink / raw)
  To: cygwin-apps

Yasuhiro KIMURA writes:
> According to config.log configure script is executed with following options.
>
> /cygdrive/c/Users/yasu/Work/Cygwin/zsh/zsh.cygwin/zsh-5.8-1.i686/src/zsh-5.8/configure
> --srcdir=/cygdrive/c/Users/yasu/Work/Cygwin/zsh/zsh.cygwin/zsh-5.8-1.i686/src/zsh-5.8
> --prefix=/usr --exec-prefix=/usr --localstatedir=/var
> --sysconfdir=/etc --docdir=/usr/share/doc/zsh
> --htmldir=/usr/share/doc/zsh/html -C --enable-function-subdirs
> --enable-gdbm --enable-multibyte --enable-pcre
> --enable-zsh-secure-free
>
> So I executed it directly from command line. Then it completed without
> any error.

To me that indicates either BLODA interference or that you run into some
limit (e.g. on environment size or PATH length).

More generally I'd advise everyone to not build in your Windows user
directory (which Windows specially "protects" in various ways) and never
use any /cygdrive prefix while building packages (these are mounted with
posix=0 mount option by default).  If you have the option, use a
separate SSD for all of Cygwin and create a separate mount point for the
build directory that mounts with "posix=1,binary".  I haven't sprung for
full case sensitivity yet myself since that still entails mucking with
the registry more than I want to, but I've run into problems with that
once or twice (which I've worked around).  Install Cygwin into a
directory two levels down the root (i.e D:\Freeware\Cygwin) in order to
not get "special" treatment from Windows.  I have forgotten what the
exact problem was, but putting the Cygwin install directory directly
into the root triggered some BLODA several years ago.  Also if you use
Cygwin for yourself on that same machine it is better to have a separate
user account for building (I use a dedicated build machine).  Set
CYGWIN_NOWINPATH=1 in the system or user environment options of Windows
for the build user.  Be aware that some packages need to build or tested
with admin rights enabled (that's a whole 'nother reason to not use your
main account, as these days it shouldn't have admin rights at all),
which I generally have since I build via ssh.  Once in a while you'll
run into some test that fails until you aren't admin, in which case you
can use cygdrop.  Lastly, once you need to build GUI applications you
might want to be able to RDC into your build box, which means it should
have at least the "Professional" variant of Windows installed.

> Why such difference happens? Does cygconf function do something other
> than executing configure script?

You can run cygport with the --debug switch and it will give you more
details about what it does than you ever wanted to look at.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Wavetables for the Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: zsh 5.8: configure fails only on 32bit
  2020-06-12 21:05 zsh 5.8: configure fails only on 32bit Yasuhiro KIMURA
  2020-06-13  5:53 ` ASSI
@ 2020-06-13  6:18 ` Marco Atzeri
  2020-06-23 23:20   ` Yasuhiro KIMURA
  1 sibling, 1 reply; 8+ messages in thread
From: Marco Atzeri @ 2020-06-13  6:18 UTC (permalink / raw)
  To: cygwin-apps

On 12.06.2020 23:05, Yasuhiro KIMURA wrote:
> Hello,
> 
> I'm trying to update zsh package to its latest version 5.8. Version
> 5.5.1-1 still uses custom build shell script. So I migrated to use
> cygport. Attached files are .cygport file and patches. I blieve all
> customizations and modifications of 5.5.1-1 are included. But
> currently there is one problem.
> 
> On 64bit console 'cygport zsh.cygport all' completes successfully. But
> on 32bit console it fails with configure error as following.
> 
> ----------------------------------------------------------------------
> checking for /dev/fd filesystem... /proc/self/fd
> checking for RFS superroot directory... no
> checking whether we should use the native getcwd... no
> checking whether getcwd calls malloc to allocate memory... yes
> checking for setproctitle... no
> checking for library containing setproctitle... no
> checking for NIS... no
> checking for NIS+... no
> checking for utmp file... /var/run/utmp
> checking for wtmp file... no
> checking for utmpx file... no
> checking for wtmpx file... no
> checking for brk() prototype in <unistd.h>... no
> checking for sbrk() prototype in <unistd.h>... yes
> checking for mknod prototype in <sys/stat.h>... yes
> checking for ioctl prototype in <unistd.h> or <termios.h>... no
> checking for ioctl prototype in <sys/ioctl.h>... yes
> checking if named FIFOs work... yes
> checking if link() works... yes
> checking if kill(pid, 0) returns ESRCH correctly... yes
> checking if POSIX sigsuspend() works... yes
> checking if tcsetpgrp() actually works... yes
> checking if getpwnam() is faked... no
> checking base type of the third argument to accept... socklen_t
> checking if your system has /dev/ptmx... yes
> make: *** No targets specified and no makefile found.  Stop.
> *** ERROR: make failed
> yasu@rolling[1301]%
> ----------------------------------------------------------------------
> 
> According to config.log configure script is executed with following options.
> 
> /cygdrive/c/Users/yasu/Work/Cygwin/zsh/zsh.cygwin/zsh-5.8-1.i686/src/zsh-5.8/configure --srcdir=/cygdrive/c/Users/yasu/Work/Cygwin/zsh/zsh.cygwin/zsh-5.8-1.i686/src/zsh-5.8 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/zsh --htmldir=/usr/share/doc/zsh/html -C --enable-function-subdirs --enable-gdbm --enable-multibyte --enable-pcre --enable-zsh-secure-free
> 
> So I executed it directly from command line. Then it completed without
> any error.
> 
> Why such difference happens? Does cygconf function do something other
> than executing configure script?
> 

what cygwin version and terminal are you using ?
I saw a similar problem in the past

https://sourceware.org/pipermail/cygwin/2020-April/244363.html
https://sourceware.org/pipermail/cygwin-apps/2020-May/040107.html

and it went away with a recent cygwin

> Best Regards.
> 
> ---
> Yasuhiro KIMURA
> 

Regards
Marco

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: zsh 5.8: configure fails only on 32bit
  2020-06-13  6:18 ` Marco Atzeri
@ 2020-06-23 23:20   ` Yasuhiro KIMURA
  2020-06-24  2:38     ` Mark Geisert
  0 siblings, 1 reply; 8+ messages in thread
From: Yasuhiro KIMURA @ 2020-06-23 23:20 UTC (permalink / raw)
  To: cygwin-apps

Thank you for reply, and sorry for late response.

From: ASSI <Stromeko@nexgo.de>
Subject: Re: zsh 5.8: configure fails only on 32bit
Date: Sat, 13 Jun 2020 07:53:25 +0200

> To me that indicates either BLODA interference or that you run into some
> limit (e.g. on environment size or PATH length).
> 
> More generally I'd advise everyone to not build in your Windows user
> directory (which Windows specially "protects" in various ways) and never
> use any /cygdrive prefix while building packages (these are mounted with
> posix=0 mount option by default).  If you have the option, use a
> separate SSD for all of Cygwin and create a separate mount point for the
> build directory that mounts with "posix=1,binary".  I haven't sprung for
> full case sensitivity yet myself since that still entails mucking with
> the registry more than I want to, but I've run into problems with that
> once or twice (which I've worked around).  Install Cygwin into a
> directory two levels down the root (i.e D:\Freeware\Cygwin) in order to
> not get "special" treatment from Windows.  I have forgotten what the
> exact problem was, but putting the Cygwin install directory directly
> into the root triggered some BLODA several years ago.  Also if you use
> Cygwin for yourself on that same machine it is better to have a separate
> user account for building (I use a dedicated build machine).  Set
> CYGWIN_NOWINPATH=1 in the system or user environment options of Windows
> for the build user.  Be aware that some packages need to build or tested
> with admin rights enabled (that's a whole 'nother reason to not use your
> main account, as these days it shouldn't have admin rights at all),
> which I generally have since I build via ssh.  Once in a while you'll
> run into some test that fails until you aren't admin, in which case you
> can use cygdrop.  Lastly, once you need to build GUI applications you
> might want to be able to RDC into your build box, which means it should
> have at least the "Professional" variant of Windows installed.

I tried what you say with newly clean installed 64bit Windows 10 Pro
1909. But problem still happens.

From: Marco Atzeri via Cygwin-apps <cygwin-apps@cygwin.com>
Subject: Re: zsh 5.8: configure fails only on 32bit
Date: Sat, 13 Jun 2020 08:18:56 +0200

> what cygwin version and terminal are you using ?
> I saw a similar problem in the past
> 
> https://sourceware.org/pipermail/cygwin/2020-April/244363.html
> https://sourceware.org/pipermail/cygwin-apps/2020-May/040107.html
> 
> and it went away with a recent cygwin

yasu@rolling[1070]% cygcheck -c cygwin mintty
Cygwin Package Information
Package              Version        Status
cygwin               3.1.5-1        OK
mintty               3.2.0-1        OK
yasu@rolling[1071]%

And after number of trials and errors I add following definition of src_compile
function to zsh.cygport.

----------------------------------------------------------------------
src_compile() {
    cd ${S}
    cygautoreconf
    cd ${B}
    dash ${S}/configure --srcdir=${S}  --prefix=$(__host_prefix) --exec-prefix=$(__host_prefix) --localstatedir=$(__host_localstatedir) --sysconfdir=$(__host_sysconfdir)  --infodir=$(__host_prefix)/share/info --mandir=$(__host_prefix)/share/man -C --enable-function-subdirs --enable-gdbm --enable-multibyte --enable-pcre --enable-zsh-secure-free || error "configure failed"
    cygmake
}
----------------------------------------------------------------------

This is same as default definition except that dash is used to
interpret configure script. And with it build succeeded on 32bit
Cygwin console. So It seems I hit bug of bash that only happens under
very limited conditions.

And I'm wondering if I should investigate the problem further or
accept adding the function definition as a workaround.

---
Yasuhiro KIMURA

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: zsh 5.8: configure fails only on 32bit
  2020-06-23 23:20   ` Yasuhiro KIMURA
@ 2020-06-24  2:38     ` Mark Geisert
  2020-06-24 23:28       ` Yasuhiro KIMURA
  0 siblings, 1 reply; 8+ messages in thread
From: Mark Geisert @ 2020-06-24  2:38 UTC (permalink / raw)
  To: cygwin-apps

Yasuhiro KIMURA wrote:
> Thank you for reply, and sorry for late response.
> 
> From: ASSI <Stromeko-i47jiTeKxPI@public.gmane.org>
> Subject: Re: zsh 5.8: configure fails only on 32bit
> Date: Sat, 13 Jun 2020 07:53:25 +0200
> 
>> To me that indicates either BLODA interference or that you run into some
>> limit (e.g. on environment size or PATH length).
>>
>> More generally I'd advise everyone to not build in your Windows user
>> directory (which Windows specially "protects" in various ways) and never
>> use any /cygdrive prefix while building packages (these are mounted with
>> posix=0 mount option by default).  If you have the option, use a
>> separate SSD for all of Cygwin and create a separate mount point for the
>> build directory that mounts with "posix=1,binary".  I haven't sprung for
>> full case sensitivity yet myself since that still entails mucking with
>> the registry more than I want to, but I've run into problems with that
>> once or twice (which I've worked around).  Install Cygwin into a
>> directory two levels down the root (i.e D:\Freeware\Cygwin) in order to
>> not get "special" treatment from Windows.  I have forgotten what the
>> exact problem was, but putting the Cygwin install directory directly
>> into the root triggered some BLODA several years ago.  Also if you use
>> Cygwin for yourself on that same machine it is better to have a separate
>> user account for building (I use a dedicated build machine).  Set
>> CYGWIN_NOWINPATH=1 in the system or user environment options of Windows
>> for the build user.  Be aware that some packages need to build or tested
>> with admin rights enabled (that's a whole 'nother reason to not use your
>> main account, as these days it shouldn't have admin rights at all),
>> which I generally have since I build via ssh.  Once in a while you'll
>> run into some test that fails until you aren't admin, in which case you
>> can use cygdrop.  Lastly, once you need to build GUI applications you
>> might want to be able to RDC into your build box, which means it should
>> have at least the "Professional" variant of Windows installed.
> 
> I tried what you say with newly clean installed 64bit Windows 10 Pro
> 1909. But problem still happens.
> 
> From: Marco Atzeri via Cygwin-apps <cygwin-apps-rDBXBDvO6BXQT0dZR+AlfA@public.gmane.org>
> Subject: Re: zsh 5.8: configure fails only on 32bit
> Date: Sat, 13 Jun 2020 08:18:56 +0200
> 
>> what cygwin version and terminal are you using ?
>> I saw a similar problem in the past
>>
>> https://sourceware.org/pipermail/cygwin/2020-April/244363.html
>> https://sourceware.org/pipermail/cygwin-apps/2020-May/040107.html
>>
>> and it went away with a recent cygwin
> 
> yasu@rolling[1070]% cygcheck -c cygwin mintty
> Cygwin Package Information
> Package              Version        Status
> cygwin               3.1.5-1        OK
> mintty               3.2.0-1        OK
> yasu@rolling[1071]%
> 
> And after number of trials and errors I add following definition of src_compile
> function to zsh.cygport.
> 
> ----------------------------------------------------------------------
> src_compile() {
>      cd ${S}
>      cygautoreconf
>      cd ${B}
>      dash ${S}/configure --srcdir=${S}  --prefix=$(__host_prefix) --exec-prefix=$(__host_prefix) --localstatedir=$(__host_localstatedir) --sysconfdir=$(__host_sysconfdir)  --infodir=$(__host_prefix)/share/info --mandir=$(__host_prefix)/share/man -C --enable-function-subdirs --enable-gdbm --enable-multibyte --enable-pcre --enable-zsh-secure-free || error "configure failed"
>      cygmake
> }
> ----------------------------------------------------------------------
> 
> This is same as default definition except that dash is used to
> interpret configure script. And with it build succeeded on 32bit
> Cygwin console. So It seems I hit bug of bash that only happens under
> very limited conditions.
> 
> And I'm wondering if I should investigate the problem further or
> accept adding the function definition as a workaround.

Not sure if your end result will be a patch to the Cygwin zsh package or an ITA 
of same.  In either case it seems like the Cygwin zsh maintainer (Peter A. 
Castro) ought to be brought into this conversation...

..mark

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: zsh 5.8: configure fails only on 32bit
  2020-06-24  2:38     ` Mark Geisert
@ 2020-06-24 23:28       ` Yasuhiro KIMURA
  0 siblings, 0 replies; 8+ messages in thread
From: Yasuhiro KIMURA @ 2020-06-24 23:28 UTC (permalink / raw)
  To: cygwin-apps

From: Mark Geisert <mark@maxrnd.com>
Subject: Re: zsh 5.8: configure fails only on 32bit
Date: Tue, 23 Jun 2020 19:38:42 -0700

> Not sure if your end result will be a patch to the Cygwin zsh package
> or an ITA of same.  In either case it seems like the Cygwin zsh
> maintainer (Peter A. Castro) ought to be brought into this
> conversation...

I want to ask him some questions, so I'm very happy if he joins this
conversation. However, as zsh package hasn't been updated for about
two years even though 8 new versions are released by upstream, I
wonder if he is still active as maintainer,

---
Yasuhiro KIMURA

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: zsh 5.8: configure fails only on 32bit
  2020-06-25 21:09 ` Peter A. Castro
@ 2020-06-26 22:56   ` Peter A. Castro
  0 siblings, 0 replies; 8+ messages in thread
From: Peter A. Castro @ 2020-06-26 22:56 UTC (permalink / raw)
  To: cygwin-apps

On Thu, Jun 25, 2020 at 02:09:06PM -0700, Peter A. Castro wrote:
> Greetings, Mark & Yasuhiro,

(please excuse the top-posting :)

Greetings, again, Mark & Yasuhiro,

  I wanted to followup with you two on this.  But first, I've pushed a
new zsh-5.8 release so that should be available in a day or so.  Let me
know if you see any issues with it.

  Now, as to your own attempts: I wanted to ask if you had first applied
the patch from the previous release (zsh-5.5.1-1.patch from the
zsh-5.5.1-1-src.tar.bz2) before you attempted to run configure?  That
might be a logical step give that that does contain port specific
changes.

  If so, then that is going to be the problem.  It has been a while
since I'd roll a new zsh, but I recall finding that that particular
patch was tainted.  At some point, changes to how automake/configure
worked created a cache directory and the source package creation step
added that to the patch by mistake.  Re-applying it before running
configure creates a reall mess!

  I had it in my notes to correct this, but right then, my life became
complicated and I didn't have time to persue it, and since it was just
the source patch, and I the maintainer, I figure it wouldn't case any
harm until I fixed it.  It's been two years now and I'm back to being
able to be more active in other areas, including zsh maintinership.  (I
have to roll a new x3270 too at some point too, but that will take more
work.)

  So, if your problem was NOT that, then, I'm afraid you would have to
investigate that yourself.  Or, instead, just pester me for a new
release.  :)

   Again, sorry for any trouble, but life often throws curveballs at
us all.

> > From: Yasuhiro KIMURA <yasu@utahime.org>
> > Date: Thu, 25 Jun 2020 08:28:12 +0900 (JST)
> > Subject: Re: zsh 5.8: configure fails only on 32bit
> > 
> > From: Mark Geisert <mark@maxrnd.com>
> > Subject: Re: zsh 5.8: configure fails only on 32bit
> > Date: Tue, 23 Jun 2020 19:38:42 -0700
> > 
> > > Not sure if your end result will be a patch to the Cygwin zsh package
> > > or an ITA of same.  In either case it seems like the Cygwin zsh
> > > maintainer (Peter A. Castro) ought to be brought into this
> > > conversation...
> > 
> > I want to ask him some questions, so I'm very happy if he joins this
> > conversation. However, as zsh package hasn't been updated for about
> > two years even though 8 new versions are released by upstream, I
> > wonder if he is still active as maintainer,
> 
> Sorry, I've been a little MIA due to many other things taking up my
> life/time.
> 
> As for updating zsh, I'll see about getting a new package rolled soon.
> The releases of zsh post 5.5-1 have had their issues so I didn't feel
> they were quite ready for Cygwin.  But 5.8 looks pretty good, so I'll
> roll that up.
> 
> As to why you are having problems running configure on 32-bit, I can't
> say as I don't use cygport to build it.  Also, I keep a somewhat older
> version of Cygwin for building purposes so that zsh will run with older
> versions too.
> 
> So, if all you desire is a newer release, give me a day or two and I'll
> have get that uploaded.
> 
> > ---
> > Yasuhiro KIMURA

-- 
--=> Peter A. Castro
Email: doctor at fruitbat dot org / Peter dot Castro at oracle dot com
	"Cats are just autistic Dogs" -- Dr. Tony Attwood

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: zsh 5.8: configure fails only on 32bit
       [not found] <mailman.16.1593086404.1464.cygwin-apps@cygwin.com>
@ 2020-06-25 21:09 ` Peter A. Castro
  2020-06-26 22:56   ` Peter A. Castro
  0 siblings, 1 reply; 8+ messages in thread
From: Peter A. Castro @ 2020-06-25 21:09 UTC (permalink / raw)
  To: cygwin-apps

Greetings, Mark & Yasuhiro,

> From: Yasuhiro KIMURA <yasu@utahime.org>
> Date: Thu, 25 Jun 2020 08:28:12 +0900 (JST)
> Subject: Re: zsh 5.8: configure fails only on 32bit
> 
> From: Mark Geisert <mark@maxrnd.com>
> Subject: Re: zsh 5.8: configure fails only on 32bit
> Date: Tue, 23 Jun 2020 19:38:42 -0700
> 
> > Not sure if your end result will be a patch to the Cygwin zsh package
> > or an ITA of same.  In either case it seems like the Cygwin zsh
> > maintainer (Peter A. Castro) ought to be brought into this
> > conversation...
> 
> I want to ask him some questions, so I'm very happy if he joins this
> conversation. However, as zsh package hasn't been updated for about
> two years even though 8 new versions are released by upstream, I
> wonder if he is still active as maintainer,

Sorry, I've been a little MIA due to many other things taking up my
life/time.

As for updating zsh, I'll see about getting a new package rolled soon.
The releases of zsh post 5.5-1 have had their issues so I didn't feel
they were quite ready for Cygwin.  But 5.8 looks pretty good, so I'll
roll that up.

As to why you are having problems running configure on 32-bit, I can't
say as I don't use cygport to build it.  Also, I keep a somewhat older
version of Cygwin for building purposes so that zsh will run with older
versions too.

So, if all you desire is a newer release, give me a day or two and I'll
have get that uploaded.

> ---
> Yasuhiro KIMURA


-- 
--=> Peter A. Castro
Email: doctor at fruitbat dot org / Peter dot Castro at oracle dot com
	"Cats are just autistic Dogs" -- Dr. Tony Attwood

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-06-26 22:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-12 21:05 zsh 5.8: configure fails only on 32bit Yasuhiro KIMURA
2020-06-13  5:53 ` ASSI
2020-06-13  6:18 ` Marco Atzeri
2020-06-23 23:20   ` Yasuhiro KIMURA
2020-06-24  2:38     ` Mark Geisert
2020-06-24 23:28       ` Yasuhiro KIMURA
     [not found] <mailman.16.1593086404.1464.cygwin-apps@cygwin.com>
2020-06-25 21:09 ` Peter A. Castro
2020-06-26 22:56   ` Peter A. Castro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).