Xpra-org / gtk-osx-build

Build setup to help building the Mac OS X port of GTK+
http://gtk-osx.sourceforge.net/
0 stars 2 forks source link

moduleset error horror #14

Closed totaam closed 3 years ago

totaam commented 7 years ago

Issue migrated from trac ticket # 1392

component: packaging | priority: critical | resolution: worksforme | keywords: osx

2016-12-30 06:03:43: antoine created the issue


It started with some updates from trunk that should be applied to v1.0.x (see Xpra-org/gtk-osx-build#13):

  • 14657: libpng
  • 14658 + r14661: mpfr
  • 14659: opus (+14662 which is buggy)
  • 14663: switch all moduleset links to "tags/v1.0.x"

jhbuild was then failing with the totally unhelpful:

jhbuild update: failed to parse /Users/osx/Source/jhbuild/modulesets/http:/xpra.org/svn/Xpra/tags/v1.0.x/osx/jhbuild/xpra.modules: \
  [Errno 2] No such file or directory: \
  u'/Users/osx/Source/jhbuild/modulesets/http:/xpra.org/svn/Xpra/tags/v1.0.x/osx/jhbuild/xpra.modules'

So 14664 moved "xpra.modules" to "modulesets-stable", which allowed me to continue (after downloading it into "~/Source/jhbuild/modulesets" by hand). This uncovered an error in the 14662 changeset, fixed in 14665. 14666 moved "xpra.modules" back to where it was (a URL link) but unfortunately it still fails with the same error. Whatever the problem is, it's really not obvious to me.

totaam commented 7 years ago

2017-01-23 10:04:17: antoine changed owner from antoine to smo

totaam commented 7 years ago

2017-01-23 10:04:17: antoine commented


@smo: please advise on which updates from trunk (#1404) are applicable to the 1.x branch. Then I'll give this another go, copying the module files by hand if needed.

totaam commented 7 years ago

2017-01-24 20:21:05: smo commented


Okay I've updated the other ticket.

totaam commented 7 years ago

Rebuild from scratch with the updates from Xpra-org/xpra#1404#comment:9 worked OK. Closing.

totaam commented 7 years ago

Hit it again after r15394 which had some small mistakes in it:

Tried moving things around (r15397), no help. Then digging into the jhbuild code in ~/Source/jhbuild/jhbuild//moduleset.py, I find that they're swallowing the exception details (PITA), so I replaced the exception code with this:

def _parse_module_set(config, uri):
    try:
        filename = httpcache.load(uri, nonetwork=config.nonetwork, age=0)
    except Exception as e:
        raise FatalError(_('could not download %s: %s') % (uri, e))
    filename = os.path.normpath(filename)
    try:
        document = xml.dom.minidom.parse(filename)
    except IOError as e:
        import traceback
        traceback.print_stack()
        #raise FatalError(_('failed to parse %s: %s') % (filename, e))
        raise
    except xml.parsers.expat.ExpatError as e:
        #raise FatalError(_('failed to parse %s: %s') % (uri, e))
        import traceback
        traceback.print_stack()
        raise

And got the details needed instead of the utterly useless original exception message. Immediately found the problem, fixed in r15398. (could also have been found by opening the file with a validating XML parser) Why on earth isn't this the default??

totaam commented 5 years ago

Similar hidden error in jhbuild: Xpra-org/gtk-osx-build#7#comment:1