Summary: | dev-db/mysql-5.6 version bump | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Greg <greg> |
Component: | Current packages | Assignee: | Gentoo Linux MySQL bugs team <mysql-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | greg, martin-gentoo, mvolaski |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge output
Fix bad zlib and readline references in CMakeLists.txt files |
Description
Greg
2012-10-02 15:13:54 UTC
Created attachment 325540 [details]
emerge output
Sorry - missed adding the lines i added to my ebuild to get it to compile: src_compile() { make } src_configure() { cmake . } This one will need some time to bake as I get the same error as you. (In reply to comment #0) > MySQL 5.6 has hit RC - MySQL 5.6.7. > > I have spent some time fiddling with the existing 5.5 ebuilds/eclass, and > there appears to be a bug which I have yet to be able to track down > specifically that causes the emerge to fail on "Linking CXX executable > pfs_connect_attr-t" > > To resolve this, I have simply added the following to my ebuild, and it now > builds: > > src_compile() { > make > } > > src_configure() { > cmake . > } Um, no. This uses the defaults specified with distribution and does NOT reference any use flags. Definitely not the Gentoo way. We really need to see which CMake variable is causing the build failure from mysql-cmake.eclass. USE="-ssl" is broken as it seems SSL is now required. Building with OpenSSL without MAKEOPTS="-j1" seem to be broken as well. More investigating to come. > Steps to Reproduce: > 1. Copy MySQL 5.5.22-r1 ebuild to MySQL 5.6.7 > 2. Download MySQL 5.6.7 RC source tarball, extract, rename to "mysql-5.6.7" > and re-tar-gz to remove "-rc" suffix. Copy tar'd file to distfiles If you copy to mysql-5.6.7_rc.ebuild, the above is not necessary and is the right way. > 4. create virtual/mysql-5.6 package This exists in the overlay already. MySQL 5.6.8-rc is now out, however the same issue still remains with the new version unfortunatelly. Will not compile - identical output/errors. 5.6.9_rc is in the overlay, but fails to link: - innochecksum - comp_err In both cases, as-needed is conflicting with zlib being too early in the link order. I'm going to FOSDEM, and then taking a vacation, so I won't have time for it until after that. Somebody should look at the cmake rules for those two targets... MySQL 5.6.10 has now been released. I have spent some significant time debugging the eclass files with MySQL 5.6.10. I can successfully get MySQL 5.6.10 to build with the following changes to mysql-cmake.eclass: Comment out lines 137-139 : # -DWITH_READLINE=0 # -DWITH_LIBEDIT=0 # -DWITH_ZLIB=system Comment out line 273 # CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" I'm no expert on cmake, or eclass files but obviously there is something that the MySQL 5.6 cmake install doesnt like with the above options. I also do not know the downside of removing the above options from the build however so far I have yet to find any performance or stability issues. (In reply to comment #6) > MySQL 5.6.10 has now been released. > > I have spent some significant time debugging the eclass files with MySQL > 5.6.10. > > I can successfully get MySQL 5.6.10 to build with the following changes to > mysql-cmake.eclass: > > Comment out lines 137-139 : > > # -DWITH_READLINE=0 > # -DWITH_LIBEDIT=0 > # -DWITH_ZLIB=system > Those options make mysql use the bundled zlib and readline libraries. Gentoo prefers not to use bundled libraries when possible. The patch in http://bugs.mysql.com/bug.php?68087 makes the readline errors go away. I still get some link error right at the end though. Note that upstream 68087 was marked a duplicate of http://bugs.mysql.com/bug.php?id=63130 but was more tuned for 5.6. More work to be done. Thanks Brian, The readline patch makes readline error go away. I still need to use the bundled zlib or i get: /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lzlib Additionally, with some testing done so far I appear to have corruption issues with XML data between libcurl, PHP & MySQL 5.6.10. Rolling back to MySQL 5.5.29 solves the issue. Very bizzare. The XML issue appears to be due to non-related bugs in openssl 1.0.0d. Reverting to 1.0.0c fixes this. (In reply to comment #8) > Thanks Brian, > > The readline patch makes readline error go away. > > I still need to use the bundled zlib or i get: > > /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/../../../../x86_64-pc-linux-gnu/bin/ > ld: cannot find -lzlib Is that a typo? zlib should be -lz when linking. Created attachment 340398 [details, diff] Fix bad zlib and readline references in CMakeLists.txt files This patch fixes the references to system zlib and readline. In addition, eclass/mysql-cmake.eclass must include this change near line 275: - CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" + # Causes linkage failures. Upstream bug #59607 removes it + if ! mysql_version_is_at_least "5.6" ; then + CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" + fi This change is reflected at my repo https://github.com/grknight/gentoo-mysql This is now InOverlay in the official mysql overlay. (5.6.10) 5.6.10 is in the overlay. |