Am 24.09.2016 um 11:38 schrieb Frédéric Bron:
Meanwhile, I have compiled make 3.82 and made it available before make
4.0 in the PATH. Then the process goes further up to this point:

$ bin/gub --verbose darwin-x86::cross/gcc
...
building package: linux-x86::cross/gcc
  *** Stage: download (cross/gcc, linux-x86)
  *** Stage: untar (cross/gcc, linux-x86)
  *** Stage: patch (cross/gcc, linux-x86)
  *** Stage: autoupdate (cross/gcc, linux-x86)
  *** Stage: configure (cross/gcc, linux-x86)
  *** Stage: compile (cross/gcc, linux-x86)
  *** Stage: install (cross/gcc, linux-x86)
  *** Stage: package (cross/gcc, linux-x86)
  *** Stage: clean (cross/gcc, linux-x86)
  *** Stage: pkg_install (cross/gcc, linux-x86)
   cross/gcc-core conflicts with cross/gcc-doc
     removing cross/gcc-core
db delete failing for  ./usr/cross/bin/i686-linux-gcc-ranlib
db delete failing for  ./usr/cross/bin/i686-linux-cpp

'del self._file_package_db[f]' without try/except gives a clear explanation of 
the problem

   Traceback (most recent call last):
   [...]
       File "bin/../gub/gup.py", line 209, in uninstall_package
        del self._file_package_db[f]
      File "/usr/lib64/python2.7/bsddb/__init__.py", line 288, in __delitem__
        _DeadlockWrap(wrapF)  # del self.db[key]
      File "/usr/lib64/python2.7/bsddb/dbutils.py", line 68, in DeadlockWrap
        return function(*_args, **_kwargs)
      File "/usr/lib64/python2.7/bsddb/__init__.py", line 287, in wrapF
        del self.db[key]
   *TypeError: String or Integer object expected for key, unicode found*
   *** Failed target: linux-ppc::cross/gcc

After that a fix for this problem is pretty obvious:

   commit bf32351373ad23e08b47a6648d85e95f2eeea323 (HEAD -> master)
   Author: Knut Petersen <knut_peter...@t-online.de>
   Date:   Fri Jul 27 08:27:54 2018 +0200

        fix db delete for python 2.7.15

   diff --git a/gub/gup.py b/gub/gup.py
   index b165bd91..76004b24 100644
   --- a/gub/gup.py
   +++ b/gub/gup.py
   @@ -202,7 +202,7 @@ class FileManager:
                 if not f or f.endswith ('/'):
                     continue
                 try:
   -                del self._file_package_db[f]
   +                del self._file_package_db[str(f)]
                 except:
                     printf ('db delete failing for ', f)
             del self._package_file_db[name]


Knut

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to