After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 655114 - Ensure top_builddir exists for all buildscripts
Ensure top_builddir exists for all buildscripts
Status: RESOLVED DUPLICATE of bug 312910
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other Linux
: Normal critical
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2011-07-22 11:50 UTC by Craig Keogh
Modified: 2011-07-30 19:25 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Craig Keogh 2011-07-22 11:50:23 UTC
Running 'jhbuild buildone gnome-utils':

test -z "/opt/gnome/bin" || /bin/mkdir -p "/opt/gnome/_jhbuild/root-gnome-utils/opt/gnome/bin"
  /bin/sh ../libtool   --mode=install /home/oxyde/.local/bin/install-check gnome-system-log '/opt/gnome/_jhbuild/root-gnome-utils/opt/gnome/bin'
libtool: install: /home/oxyde/.local/bin/install-check gnome-system-log /opt/gnome/_jhbuild/root-gnome-utils/opt/gnome/bin/gnome-system-log
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/home/oxyde/gnome/gnome-utils/logview'
make[3]: Leaving directory `/home/oxyde/gnome/gnome-utils/logview'
make[2]: Leaving directory `/home/oxyde/gnome/gnome-utils/logview'
make[1]: Leaving directory `/home/oxyde/gnome/gnome-utils/logview'
make[1]: Entering directory `/home/oxyde/gnome/gnome-utils'
make[2]: Entering directory `/home/oxyde/gnome/gnome-utils'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/oxyde/gnome/gnome-utils'
make[1]: Leaving directory `/home/oxyde/gnome/gnome-utils'
I: Deleting toplevel .la file: u'/opt/gnome/_jhbuild/root-gnome-utils/opt/gnome/lib64/libgdict-1.0.la'
Traceback (most recent call last):
  • File "/home/oxyde/.local/bin/jhbuild", line 31 in <module>
    jhbuild.main.main(sys.argv[1:])
  • File "/home/oxyde/gnome/jhbuild/jhbuild/main.py", line 147 in main
    rc = jhbuild.commands.run(command, config, args, help=lambda: print_help(parser))
  • File "/home/oxyde/gnome/jhbuild/jhbuild/commands/__init__.py", line 123 in run
    return cmd.execute(config, args, help)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/commands/__init__.py", line 52 in execute
    return self.run(config, options, args, help)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/commands/base.py", line 367 in run
    return build.build()
  • File "/home/oxyde/gnome/jhbuild/jhbuild/frontends/buildscript.py", line 152 in build
    error, altphases = module.run_phase(self, phase)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 306 in run_phase
    method(buildscript)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/autotools.py", line 275 in do_install
    self.process_install(buildscript, self.get_revision())
  • File "/home/oxyde/gnome/jhbuild/jhbuild/modtypes/__init__.py", line 239 in process_install
    buildscript.moduleset.packagedb.add(self.name, revision or '', destdir)
  • File "/home/oxyde/gnome/jhbuild/jhbuild/utils/packagedb.py", line 168 in add
    self._write_cache()
  • File "/home/oxyde/gnome/jhbuild/jhbuild/utils/packagedb.py", line 137 in _write_cache
    os.rename(tmp_dbfile_path, self.dbfile)
OSError: [Errno 2] No such file or directory

Comment 1 Colin Walters 2011-07-22 13:46:51 UTC
This is probably fallout from:

commit cbbea64ac930b48945c63723b54e98a3b48b1512
Author: Frédéric Péters <fpeters@0d.be>
Date:   Tue Jul 19 13:26:01 2011 +0200

    bot: Move packagedb only if top_builddir exists (it doesn't on build masters)

The commit is incomplete; the packagedb will still try to write to the new directory.

I don't understand why it doesn't exist; we create it in config.py:setup_env().

Do you have a $JHBUILD_PREFIX/_jhbuild directory?
Comment 2 Frederic Peters 2011-07-22 15:46:23 UTC
fwiw that quick fix was made to get "jhbuild bot --start-server" working, I didn't have time to investigate.
Comment 3 Colin Walters 2011-07-22 15:55:24 UTC
(In reply to comment #2)
> fwiw that quick fix was made to get "jhbuild bot --start-server" working, I
> didn't have time to investigate.

Are you on jhbuild master?  A probable fix for this was (unintentionally) pushed in commit 6c485ba8.  What confuses me is it did come before your commit.

Is it likely then that your build server checkout was before that commit, you made an initial diagnosis, worked on the patch, then rebased and pushed?

If you could try:

git revert cbbea64ac930b48

In your buildbot and let me know if things still work, I'd appreciate it!
Comment 4 Colin Walters 2011-07-22 16:40:43 UTC
Also, Frederic, do you have a $JHBUILD_PREFIX/_jhbuild directory?
Comment 5 Craig Keogh 2011-07-22 23:22:51 UTC
(In reply to comment #1)
> Do you have a $JHBUILD_PREFIX/_jhbuild directory?

Yes. 

I did repeat 'jhbuild buildone gnome-utils' immediately after the traceback and was unable to reproduce. Not sure if this is important - I did have multiple jhbuilds running at the same time, building separate modules within the same moduleset.
Comment 6 Frederic Peters 2011-07-23 08:43:12 UTC
This is not "my" build master but build.gnome.org; I am pretty sure it was pointing to the latest commit as I had to fix the import of ElementTree just before.
Comment 7 Colin Walters 2011-07-25 15:48:19 UTC
(In reply to comment #5)
> (In reply to comment #1)
> > Do you have a $JHBUILD_PREFIX/_jhbuild directory?
> 
> Yes. 
> 
> I did repeat 'jhbuild buildone gnome-utils' immediately after the traceback and
> was unable to reproduce. Not sure if this is important - I did have multiple
> jhbuilds running at the same time, building separate modules within the same
> moduleset.

Ohhh...so, one issue with this is that doing so will corrupt the packagedb.xml file.  I'm not sure how this would cause your problem, but in the future when we clean up stale files, it *will* explode.  This is effectively bug 312910 , I've updated it with a comment.
Comment 8 Colin Walters 2011-07-30 19:25:34 UTC
I pushed a revert of that previous commit.  From looking at this bug again, I'm pretty sure it is bug 312910 - if two jhbuild instances try to update packagedb.xml at the same time, it's possible they both write out packagedb.xml.tmp, but the just one wins; then on rename() the other one will fail.

*** This bug has been marked as a duplicate of bug 312910 ***