New issue
Advanced search Search tips

Issue 649592 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 0
Type: Bug



Sign in to add a comment

Buildpackages failes: libmtp requires automake 1.5

Project Member Reported by briannorris@chromium.org, Sep 23 2016

Issue description

Regression due to:

https://codereview.chromium.org/2345493002

We see failures like this:

https://uberchromegw.corp.google.com/i/chromeos/builders/rambi-paladin/builds/11126


libmtp-0.0.1-r23: /build/rambi/tmp/portage/media-libs/libmtp-0.0.1-r23/work/libmtp-0.0.1/missing: line 81: aclocal-1.15: command not found
libmtp-0.0.1-r23: WARNING: 'aclocal-1.15' is missing on your system.
libmtp-0.0.1-r23:          You should only need it if you modified 'acinclude.m4' or
libmtp-0.0.1-r23:          'configure.ac' or m4 files included by 'configure.ac'.
libmtp-0.0.1-r23:          The 'aclocal' program is part of the GNU Automake package:
libmtp-0.0.1-r23:          <http://www.gnu.org/software/automake>
libmtp-0.0.1-r23:          It also requires GNU Autoconf, GNU m4 and Perl in order to run:
libmtp-0.0.1-r23:          <http://www.gnu.org/software/autoconf>
libmtp-0.0.1-r23:          <http://www.gnu.org/software/m4/>
libmtp-0.0.1-r23:          <http://www.perl.org/>
libmtp-0.0.1-r23: make: *** [Makefile:412: aclocal.m4] Error 127
libmtp-0.0.1-r23:  * ERROR: media-libs/libmtp-0.0.1-r23::chromiumos failed (compile phase):
libmtp-0.0.1-r23:  *   emake failed
libmtp-0.0.1-r23:  * 
libmtp-0.0.1-r23:  * If you need support, post the output of `emerge --info '=media-libs/libmtp-0.0.1-r23::chromiumos'`,
libmtp-0.0.1-r23:  * the complete build log and the output of `emerge -pqv '=media-libs/libmtp-0.0.1-r23::chromiumos'`.
libmtp-0.0.1-r23:  * The complete build log is located at '/build/rambi/tmp/portage/logs/media-libs:libmtp-0.0.1-r23:20160923-051922.log'.
libmtp-0.0.1-r23:  * For convenience, a symlink to the build log is located at '/build/rambi/tmp/portage/media-libs/libmtp-0.0.1-r23/temp/build.log'.
libmtp-0.0.1-r23:  * The ebuild environment file is located at '/build/rambi/tmp/portage/media-libs/libmtp-0.0.1-r23/temp/environment'.
libmtp-0.0.1-r23:  * Working directory: '/build/rambi/tmp/portage/media-libs/libmtp-0.0.1-r23/work/libmtp-0.0.1'
libmtp-0.0.1-r23:  * S: '/build/rambi/tmp/portage/media-libs/libmtp-0.0.1-r23/work/libmtp-0.0.1'
libmtp-0.0.1-r23: >>> Failed to emerge media-libs/libmtp-0.0.1-r23 for /build/rambi/, Log file:
libmtp-0.0.1-r23: >>>  '/build/rambi/tmp/portage/logs/media-libs:libmtp-0.0.1-r23:20160923-051922.log'
libmtp-0.0.1-r23: 
libmtp-0.0.1-r23:  * Messages for package media-libs/libmtp-0.0.1-r23 merged to /build/rambi/:
libmtp-0.0.1-r23: 
libmtp-0.0.1-r23:  * ERROR: media-libs/libmtp-0.0.1-r23::chromiumos failed (compile phase):
libmtp-0.0.1-r23:  *   emake failed
libmtp-0.0.1-r23:  * 
libmtp-0.0.1-r23:  * If you need support, post the output of `emerge --info '=media-libs/libmtp-0.0.1-r23::chromiumos'`,
libmtp-0.0.1-r23:  * the complete build log and the output of `emerge -pqv '=media-libs/libmtp-0.0.1-r23::chromiumos'`.
libmtp-0.0.1-r23:  * The complete build log is located at '/build/rambi/tmp/portage/logs/media-libs:libmtp-0.0.1-r23:20160923-051922.log'.
libmtp-0.0.1-r23:  * For convenience, a symlink to the build log is located at '/build/rambi/tmp/portage/media-libs/libmtp-0.0.1-r23/temp/build.log'.
libmtp-0.0.1-r23:  * The ebuild environment file is located at '/build/rambi/tmp/portage/media-libs/libmtp-0.0.1-r23/temp/environment'.
libmtp-0.0.1-r23:  * Working directory: '/build/rambi/tmp/portage/media-libs/libmtp-0.0.1-r23/work/libmtp-0.0.1'
libmtp-0.0.1-r23:  * S: '/build/rambi/tmp/portage/media-libs/libmtp-0.0.1-r23/work/libmtp-0.0.1'
=== Complete: job libmtp-0.0.1-r23 (0m49.2s) ===
Failed media-libs/libmtp-0.0.1-r23 (in 0m49.2s). Your build has failed.
Pending 5/622, [Time 22:20:11 | Elapsed 15m45.0s | Load 1.2 10.58 14.57]
Packages failed:
	media-libs/libmtp-0.0.1-r23

 

Comment 1 by yawano@chromium.org, Sep 23 2016

Owner: yawano@chromium.org
Status: Started (was: Untriaged)

Comment 2 by yawano@chromium.org, Sep 23 2016

I'm going to revert the CL.

Comment 3 by vapier@chromium.org, Sep 23 2016

i can try to fix libmtp real quick if you want
FWIW, I tried reverting the change locally, doing `cros_workon-${BOARD} libmtp`, and then `emerge-${BOARD} libmtp` works. So the revert should fix things I hope.

I'll leave up to you two to decide on fixing vs. revert/fix/unrevert.

Comment 5 by vapier@chromium.org, Sep 23 2016

CrOS is broken either way.  this should fix it:
https://chromium-review.googlesource.com/389031

Comment 6 by yawano@chromium.org, Sep 23 2016

Reverted the CL at https://crrev.com/2364793002

Comment 7 by yawano@chromium.org, Sep 23 2016

Owner: vapier@chromium.org
I'll try to re-land the CL after the fix (https://chromium-review.googlesource.com/389031) has landed. Assigning this issue to vapier@ for the fix. Thank you!
Oh, good point at comment #5. I'm actually not confident even the revert is guaranteed to work. Autotools are fun. I'll +2 the other fix and hope it can make it through CQ. I don't care to trust myself watching the CQ at this point...
Project Member

Comment 9 by bugdroid1@chromium.org, Sep 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/a30999f79c7acbcd7df60e5564cfdc418e4e32e6

commit a30999f79c7acbcd7df60e5564cfdc418e4e32e6
Author: Mike Frysinger <vapier@chromium.org>
Date: Fri Sep 23 05:38:36 2016

libmtp: fix autotool regeneration w/bad timestamps

We check generated autotool files out of git, but git doesn't
guarantee timestamps will be in sync.  This causes autotools
to try and regenerate themselves.

Touch all the files with the same timestamp to avoid that.

BUG= chromium:649592 
TEST=`emerge-samus libmtp` works

Change-Id: Ief4db79d203ce0da7a54ea5a6c9d5b6509774c94
Reviewed-on: https://chromium-review.googlesource.com/389031
Reviewed-by: Brian Norris <briannorris@chromium.org>
Tested-by: Brian Norris <briannorris@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/a30999f79c7acbcd7df60e5564cfdc418e4e32e6/media-libs/libmtp/libmtp-9999.ebuild

Status: Fixed (was: Started)
i'll close it out and assume yawano@ will handle relanding on the Chromium side
Just to round out my understanding here (and potentially other readers'?): libmtp includes its generated autotools output (e.g., configure, etc.), but if we don't have the timestamps right, then the Makefile generated by the econf step will actually think that it needs to rerun autotools to...regenerate itself??? (Wait, really? I see that Makefile ends up with a rule to regenerate itself.)

So, the "right" way for a released build like this, is to just make sure we don't have any mixed up dependency timestamps, and so we either never run autotools (and don't generate a mishmash of aclocal/automake 1.5 and 1.<something-else>) or else we rerun the whole suite (the -9999 ebuild's eautoreconf).

If we had the above all correct in the first place (i.e., vapier's patch), then it wouldn't matter that the latest libmtp includes files for automake/aclocal 1.5?

This also means, though, that things mostly worked when libmtp was only including autogenerated files that were generated by versions of automake that we have in the chroot (in this case, 1.11), so even when we have a mishmash of dependency timestamps, the Makefile regeneration could likely recover OK?
that's pretty much all spot on.  cookie for you!
But I just had dessert!
Thank you for handling this!

FYI: The CL to uprev libmtp has re-landed at https://crrev.com/2369283002
Labels: VerifyIn-55

Comment 16 by dchan@google.com, Nov 19 2016

Labels: VerifyIn-56

Comment 17 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57

Comment 18 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58
Project Member

Comment 19 by bugdroid1@chromium.org, Mar 13 2017

Labels: merge-merged-factory-rambi-5517.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/2836e2f34a3f13a28658c7c36e1a249c8f7fee05

commit 2836e2f34a3f13a28658c7c36e1a249c8f7fee05
Author: Mike Frysinger <vapier@chromium.org>
Date: Mon Mar 13 17:17:20 2017

libmtp: fix autotool regeneration w/bad timestamps

We check generated autotool files out of git, but git doesn't
guarantee timestamps will be in sync.  This causes autotools
to try and regenerate themselves.

Touch all the files with the same timestamp to avoid that.

BUG= chromium:649592 
TEST=`emerge-samus libmtp` works

Change-Id: Ief4db79d203ce0da7a54ea5a6c9d5b6509774c94
Reviewed-on: https://chromium-review.googlesource.com/389031
Reviewed-by: Brian Norris <briannorris@chromium.org>
Tested-by: Brian Norris <briannorris@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
(cherry picked from commit a30999f79c7acbcd7df60e5564cfdc418e4e32e6)
Reviewed-on: https://chromium-review.googlesource.com/453290
Reviewed-by: Shawn N <shawnn@chromium.org>
Commit-Queue: Shawn N <shawnn@chromium.org>
Tested-by: Shawn N <shawnn@chromium.org>

[modify] https://crrev.com/2836e2f34a3f13a28658c7c36e1a249c8f7fee05/media-libs/libmtp/libmtp-9999.ebuild

Comment 20 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 21 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 23 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)
Status: Fixed (was: Archived)

Sign in to add a comment