On 7/25/2017 12:05 PM, Ian Lambert wrote:
--------------------------------------------
On Tue, 7/25/17, Ken Brown <> wrote:
Normally you don't ever
need to think about rebasing on x86_64. The
perpetual postinstall script
/etc/postinstall/0p_000_autorebase.dash
should handle everything without any manual
intervention. You might try
running that
script (and the rebaselst script that it calls) line by
line (preferably in a dash shell started
directly from Windows, with no
other Cygwin
processes running) to see if you can figure out what's
going wrong.
= = =
Looks about the same to me, and all the /var/cache/rebase/...
files are basically empty, FWIW, but I could be following
the rebaselst script incorrectly.
$ cat 0p_000_autorebase.dash
#!/bin/dash
export PATH=/bin
b=/var/cache/rebase
if [ -e ${b}/peflags ] ; then
noaslr=--noaslr
peflags=peflags
rm -f ${b}/peflags
else
noaslr=''
peflags=''
fi
if [ ! -e ${b}/fullrebase.done ] ; then
rebase-trigger fullrebase
rebaselst --rebuild update --cleardb $noaslr rebase $peflags
mv ${b}/fullrebase ${b}/fullrebase.done
else
rebaselst update $noaslr rebase $peflags
fi
$ b=/var/cache/rebase
$ ls ${b}/pe*
ls: cannot access '/var/cache/rebase/pe*': No such file or directory
$ ls ${b}/fullrebase.done
/var/cache/rebase/fullrebase.done
$ rebase-trigger fullrebase
Note: _autorebase will do a full rebase the next time setup is run.
$ rebaselst --rebuild update --cleardb rebase
removing /var/cache/rebase/rebase_pkg
creating empty /var/cache/rebase/rebase_pkg
touch: setting times of '/var/cache/rebase/rebase_pkg': Invalid argument
Updating package information in /var/cache/rebase/rebase_pkg.
removing /var/cache/rebase/rebase_lst
creating empty /var/cache/rebase/rebase_lst
touch: setting times of '/var/cache/rebase/rebase_lst': Invalid argument
Updating rebase information for installed executables in /var/cache/rebase/rebas
e_exe.
removing /var/cache/rebase/rebase_dyn
creating empty /var/cache/rebase/rebase_dyn
touch: setting times of '/var/cache/rebase/rebase_dyn': Invalid argument
Looking for dynamic language modules/libraries in:
/usr/lib/R/site-library
/usr/lib/php/20151012
/usr/lib/python2.7/site-packages
/usr/lib/python3.6/site-packages
Updating rebase information for dynamic language modules/libraries /var/cache/re
base/rebase_dyn.
removing /var/cache/rebase/rebase_user
creating empty /var/cache/rebase/rebase_user
touch: setting times of '/var/cache/rebase/rebase_user': Invalid argument
Updating rebase information for user-defined dynamic objects /var/cache/rebase/r
ebase_user.
removing /var/cache/rebase/rebase_user_exe
creating empty /var/cache/rebase/rebase_user_exe
touch: setting times of '/var/cache/rebase/rebase_user_exe': Invalid argument
Updating rebase information for user-defined executables /var/cache/rebase/rebas
e_user_exe.
Rebasing with list /var/cache/rebase/rebase_all, built from /var/cache/rebase/re
base_lst /var/cache/rebase/rebase_dyn /var/cache/rebase/rebase_user.
$
$ ls -ls /var/cache/rebase
total 224
32 -rw-r--r-- 1 myuser Domain Users 115 Jul 25 10:50 fullrebase
0 -rw-r--r-- 1 myuser Domain Users 0 Jul 25 11:34 rebase_all
32 -r--r--r-- 1 myuser Domain Users 31 Jul 25 11:34 rebase_dyn
0 -rw-r--r-- 1 myuser Domain Users 0 Jul 25 11:33 rebase_dyn.old
32 -r--r--r-- 1 myuser Domain Users 31 Jul 25 11:33 rebase_exe
0 -rw-r--r-- 1 myuser Domain Users 0 Jul 25 11:33 rebase_exe.old
32 -r--r--r-- 1 myuser Domain Users 31 Jul 25 11:33 rebase_lst
0 -rw-r--r-- 1 myuser Domain Users 0 Jul 25 11:33 rebase_lst.old
32 -r--r--r-- 1 myuser Domain Users 31 Jul 25 11:33 rebase_pkg
0 -rw-r--r-- 1 myuser Domain Users 0 Jul 25 11:33 rebase_pkg.old
32 -r--r--r-- 1 myuser Domain Users 31 Jul 25 11:34 rebase_user
0 -rw-r--r-- 1 myuser Domain Users 0 Jul 25 11:34 rebase_user.old
32 -r--r--r-- 1 myuser Domain Users 31 Jul 25 11:34 rebase_user_exe
0 -rw-r--r-- 1 myuser Domain Users 0 Jul 25 11:34 rebase_user_exe.old
As Achim explained, the failure of 'touch' is causing rebaselst to think
that no DLLs need to be rebased. So that failure is the real problem to
be solved.
This is a long shot, but I wonder if the touch failure is related to the
bug reported in https://cygwin.com/ml/cygwin/2017-07/msg00114.html. I
think the bug is supposed to be fixed in the latest snapshot. Can you
try that snapshot and see if touch still fails? If so, maybe you could
run the touch command under strace to see if that sheds any light.
Ken
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple