Bug 290719 - valgrind-3.7.0 fails with automake-1.11.2 due to "pkglibdir" usage
Summary: valgrind-3.7.0 fails with automake-1.11.2 due to "pkglibdir" usage
Status: RESOLVED FIXED
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (show other bugs)
Version: 3.7.0
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-05 17:57 UTC by blueness
Modified: 2012-02-21 15:58 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
valgrind-3.7.0-automake-1.11.2.patch (1.03 KB, patch)
2012-01-06 18:34 UTC, Gregorio Guidi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description blueness 2012-01-05 17:57:40 UTC
Version:           3.7.0
OS:                Linux

When doing an autoreconf on the build system, automake 1.11.2 fails to expand the main Makefile.am and coregrind/Makefile.am because of stricter rules on pkg dir variables.  In particular, it fails on pkglib_DATA.  Naively patching and changing pkglib to pkgdata (as required by the new automake) "works", but then this installs the .xml files and default.supp in /usr/share/valgrind rather than /usr/lib/valgrind.  This breaks the valgrind binaries which expect to find those files in the old location.

Two approaches here: either hack up the build system to reproduce the old behavior of installing int /usr/lib/valgrind, or retain the new location of /usr/share/valgrind for those files and hack up the rest of the code to look for the .xml and default.supp in the new location.  The later is more in line with file system hierarchy standards.

See https://bugs.gentoo.org/show_bug.cgi?id=397429

Reproducible: Always

Steps to Reproduce:
1. Install automake 1.11.2
2. untar valgrind 3.7.0 and run autoreconf or any other autotool that invokes automake.


Expected Results:  
It should finish auto configuring and produce the correct Makefile.in's
Comment 1 Tom Hughes 2012-01-05 18:06:07 UTC
You shouldn't really be running autoreconf on a packaged version - that's something for the developers to run when preparing a release.

On top of which, we normally use the autogen.sh script in the svn tree to update autoconf etc rather than running autoreconf.
Comment 2 blueness 2012-01-05 18:17:47 UTC
(In reply to comment #1)
> You shouldn't really be running autoreconf on a packaged version - that's
> something for the developers to run when preparing a release.
> 
> On top of which, we normally use the autogen.sh script in the svn tree to
> update autoconf etc rather than running autoreconf.

We add some patches which require it.  We can deal with that at our end, but I think the valgrind team should know about this change in automake for future releases.  It also brings up the issue of where data vs plugins should be installed.

I'm not sure what the situation is with other distros, Gentoo may be unique in this situation since our users build directly "from source".  But this may hit others that also have to hack the build system for their own reasons.
Comment 3 Gregorio Guidi 2012-01-06 18:34:43 UTC
Created attachment 67519 [details]
valgrind-3.7.0-automake-1.11.2.patch

The attached patch is a quick way to implement solution 1: keep the files in the old location and prevent automake errors.

HTH
Comment 4 Robert Walsh 2012-02-13 03:37:32 UTC
Seeing this on MacOS X with MacPorts automake, too.
Comment 5 Tom Hughes 2012-02-21 15:41:59 UTC
I'm seeing it on F17 Alpha as well.
Comment 6 Tom Hughes 2012-02-21 15:58:37 UTC
I have committed your patch as r12396.