Bug #51925 | 5.5 installed header file layout is incorrect | ||
---|---|---|---|
Submitted: | 10 Mar 2010 17:36 | Modified: | 28 Mar 2011 16:52 |
Reporter: | Paul DuBois | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Installing | Severity: | S3 (Non-critical) |
Version: | 5.5 | OS: | Any |
Assigned to: | Jonathan Perkin | CPU Architecture: | Any |
[10 Mar 2010 17:36]
Paul DuBois
[10 Mar 2010 23:54]
MySQL Verification Team
Thank you for the bug report.
[19 Mar 2010 16:24]
Paul DuBois
I had some typos in my original report. This: "Proceeding to 5.5, compiling works with 5.0.2: gcc -c -I/var/mysql/50502/include/mysql connect1.c It fails with 5.0.3:" Should be this: "Proceeding to 5.5, compiling works with 5.5.2: gcc -c -I/var/mysql/50502/include/mysql connect1.c It fails with 5.5.3:" And this: "Proceeding to MySQL 5.5, it fails earlier in the series (5.0.0):" Should be this: "Proceeding to MySQL 5.5, it fails earlier in the series (5.5.0):"
[19 Mar 2010 16:42]
Omer Barnir
Clarifications from Paul on IRC: "Basically, in a 5.5.x source tree, headers under include have a hierarchical arrangement. When they get installed, the hierarchy is "flattened" - all the files get installed in a single directory."
[17 Aug 2010 12:20]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/115947 3078 Daniel Fischer 2010-08-17 Bug#51925: Install all .h files in include/ in the exact same place as they are in bzr. This is an incompatible change from 5.1 and previous 5.5 releases that may affect the build process of software that uses MySQL libraries.
[17 Aug 2010 17:04]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/115996 3078 Daniel Fischer 2010-08-17 Bug#51925: Install all .h files in include/ in the exact same place as they are in bzr. This is an incompatible change from 5.1 and previous 5.5 releases that may affect the build process of software that uses MySQL libraries.
[27 Aug 2010 19:46]
Sveta Smirnova
Bug #56325 was marked as duplicate of this one.
[1 Oct 2010 12:32]
Alex Dupre
This may be fixed in cmake installation, but it's still broken (in a different way) in autoconf/Makefile installation. In 5.5.5 all the headers were installed in includes/mysql, in 5.5.6 they are installed in includes/mysql and includes/mysql/psi, while the correct thing should be includes/mysql, includes/mysql/mysql and includes/mysql/mysql/psi.
[4 Nov 2010 11:51]
MySQL Verification Team
and ./scripts/make_binary_distribution script makes a broken directory structure still...
[4 Nov 2010 13:15]
Jonathan Perkin
In 5.5+, make_binary_distribution should probably be deprecated. Instead $ cmake <srcdir> -DBUILD_CONFIG=mysql_release $ make package will produce roughly the same result, and much closer to what Release Engineering provide (unlike make_binary_distribution in the past, due to pkglibdir hacks).
[17 Dec 2010 2:50]
Paul DuBois
This bug is still not fixed? See Bug#58987. I downloaded a Mac OS X 5.5.8 binary distribution and all the header files are still installed in a single directory. That is, the heirarchy of the header files in the source tree is not respected: All headers are "flattened" into a single install directory.
[17 Dec 2010 17:04]
Sveta Smirnova
Bug #58987 was marked as duplicate of this one.
[17 Dec 2010 23:12]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/127232 3213 Jonathan Perkin 2010-12-17 bug#51925: 5.5 installed header file layout is incorrect The 'mysql' include sub-directory was copied directly into include/ rather than retaining its own directory. Fix this, and update mysql_config which needs additional logic to detect the correct prefix for includes.
[17 Dec 2010 23:14]
Jonathan Perkin
I'll take it, and Kent approved on IRC.
[17 Dec 2010 23:15]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/127233 3214 Jonathan Perkin 2010-12-17 bug#51925: 5.5 installed header file layout is incorrect Additional space-in-directory-name protection.
[22 Dec 2010 21:31]
Bugs System
Pushed into mysql-trunk 5.6.1 (revid:alexander.nozdrin@oracle.com-20101222212842-y0t3ibtd32wd9qaw) (version source revid:alexander.nozdrin@oracle.com-20101222212842-y0t3ibtd32wd9qaw) (merge vers: 5.6.1) (pib:24)
[29 Dec 2010 12:53]
Bugs System
Pushed into mysql-5.5 5.5.9 (revid:alexander.nozdrin@oracle.com-20101229113652-km2v993aurv7h79j) (version source revid:alexander.nozdrin@oracle.com-20101229113132-uonlbcc2uopff8yb) (merge vers: 5.5.9) (pib:24)
[19 Jan 2011 1:20]
Paul DuBois
Noted in 5.5.9 changelog. After compilation from source, all header files were installed in the same directory, even those that should be installed into subdirectories of the installation include directory.
[21 Jan 2011 6:42]
Valeriy Kravchuk
Bug #59636 was marked as a duplicate of this one.
[19 Dec 2018 12:55]
Terje Røsten
https://bugs.mysql.com/bug.php?id=45113 was marked as dup of this bug.