Web lists-archives.com

Re: how to access and display apps that I've launched




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