Summary: | dev-db/mysql-community-5.0.77-r1 fails to compile on gcc-4.4.0 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | rob shelton <rob.s.ng15> |
Component: | Current packages | Assignee: | Gentoo Linux MySQL bugs team <mysql-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bsdunx, bugs+gentoo, esigra, heiko, Martin.Jansa, vamp898 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | InExtras 2009/05/29 | ||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 249226 | ||
Attachments: |
Patch to change the #elif to #else
1102_all_mysql_gcc-4.4_5.0.77.patch |
Description
rob shelton
2009-05-27 22:49:38 UTC
gentoo64-laptop ~ # emerge -vp mysql-community These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] dev-db/mysql-community-5.0.77-r1 USE="berkdb cluster embedded extraengine latin1 perl ssl -big-tables -debug -max-idx-128 -minimal (-selinux) -static" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB These are the USE flags that i have on this system. Created attachment 192643 [details, diff]
Patch to change the #elif to #else
This patch works for the above USE flags. Other combinations may trigger other errors.
Unfortunately I am unable to proceed any further as the mysql-community ebuild is out of my league in terms of applying patches, as there is no simple way to add an epatch line to the ebuild. Patch tested manually by issuing appropriate ebuild commands, applying the patch, and then applying the remaining ebuild commands for the compilation/installation to complete. It seems to me the incorrect line only appears after patching the sources with 0723_all_avoid_bus_error_5.0.76.patch. Fixed in the patch series. I want know when will be fixed on portage. (In reply to comment #6) > I want know when will be fixed on portage. > mysql-community-5.0.77-r1 fails to compile using gcc-4.4.0 for me, but a bit later when casting from (const char *) to (char *). Attached patch fixed it for me. Maybe it would be better to cast index->table_name in strchr to make it return char * instead of const char *. <code> if((p = strchr(index->table_name, '/'))) { strncpy(db_name_raw, index->table_name, p-index->table_name); db_name_raw[p-index->table_name] = 0; table->field[11]->store(db_name_raw, strlen(db_name_raw), system_charset_info); p++; } else { table->field[11]->store(NULL, 0, system_charset_info); p = (char *)index->table_name; } strcpy(table_name_raw, p); </code> Created attachment 194164 [details, diff]
1102_all_mysql_gcc-4.4_5.0.77.patch
The base #elif/#else was already in my tree. But the additional char/constchar change will be be released in mysql-extras-20090706-1810Z shortly. 5.0.83 has been committed to Gentoo now, with both of these patches. *** Bug 281047 has been marked as a duplicate of this bug. *** So there is a fixed version of dev-db/mysql, but dev-db/mysql-community still fails to compile? Am I right? stoile@anderedomain.de: upstream has discontinued mysql-community, move to dev-db/mysql! There is no dev-db/mysql >= 5.1 and amarok needs MySQL 5.1 so without mysql-community, amarok wont work! So until there is no dev-db/mysql-5.1.x we have to use mysql-community vamp898@web.de: 1. dev-db/mysql-community is merged with dev-db/mysql by upstream. 2. Gentoo Amarok devs have debunked that MySQL 5.1 is required. They have it working fine with MySQL 5.0. So why isnt it working on Gentoo with 5.0? with 5.1 it works on Gentoo |