Solaris 10 (x86) does not have strsep (used in sql/sql_show.cc)

Bug #526863 reported by gsyoungblood on 2010-02-24
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona patches
Invalid
Undecided
Unassigned

Bug Description

Compiling on Solaris 10 x86 using gcc fails at sql/sql_show.cc due to lack of strsep on Solaris.

gmake[3]: Entering directory `/home/gyoungbl/mysql-percona/mysql-5.1.43-percona-gcc/sql'
/usr/sfw/bin/gcc -DMYSQL_SERVER -DDEFAULT_MYSQL_HOME="\"/usr/local/mysql-5.1.43-percona\"" -DMYSQL_DATADIR="\"/usr/local/mysql-5.1.43-percona/data\"" -DSHAREDIR="\"/usr/local/mysql-5.1.43-percona/share/mysql\"" -DPLUGINDIR="\"/usr/local/mysql-5.1.43-percona/lib/mysql/plugin\"" -DHAVE_EVENT_SCHEDULER -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../regex -I. -m32 -I/opt/zz/include -I /usr/sfw/include -I/usr/sfw/include/openssl -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -MT sql_show.o -MD -MP -MF .deps/sql_show.Tpo -c -o sql_show.o sql_show.cc
sql_show.cc: In function `bool show_status_array(THD*, const char*, SHOW_VAR*, enum_var_type, system_status_var*, const char*, TABLE*, bool, COND*)':
sql_show.cc:2295: warning: cast from pointer to integer of different size
sql_show.cc: In function `int fill_schema_table_stats(THD*, TABLE_LIST*, COND*)':
sql_show.cc:2650: error: `strsep' undeclared (first use this function)
sql_show.cc:2650: error: (Each undeclared identifier is reported only once for each function it appears in.)
sql_show.cc: In function `int fill_schema_index_stats(THD*, TABLE_LIST*, COND*)':
sql_show.cc:2693: error: `strsep' undeclared (first use this function)
gmake[3]: *** [sql_show.o] Error 1
gmake[3]: Leaving directory `/home/gyoungbl/mysql-percona/mysql-5.1.43-percona-gcc/sql'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/home/gyoungbl/mysql-percona/mysql-5.1.43-percona-gcc/sql'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/home/gyoungbl/mysql-percona/mysql-5.1.43-percona-gcc/sql'
gmake: *** [all-recursive] Error 1

Results from google indicate that strsep does not exist on Solaris.

I am chasing a couple of options, if I get something to work I'll post a follow-up with the solution. The most promising seems to be to provide a replacement strsep.

gsyoungblood (greg-tcscs) wrote :

For clarification:

This appears a problem with Solaris 10. It seems OpenSolaris probably has it now (see http://blogs.sun.com/vlad/entry/strsep_in_libc).

gsyoungblood (greg-tcscs) wrote :

The attached patch allows Solaris 10 to compile 5.1.43 w/the percona patches.

Instead of putting the function in the sql_show.cc file as this patch does, I'd suggest creating a compatibility file and putting functions like these in there. I did not have the time to do that, but this at least allows it to compile. Will be testing later tonight.

Note: The fix from https://bugs.launchpad.net/percona-patches/+bug/526772 is also required to compile.

Stewart Smith (stewart) wrote :

Hi!

Development has moved from percona-patches over to Percona Server. We support Solaris with Percona Server and produce binaries for it. I also see some compatibility code in our latest source trees. I am therefor going to close this bug as Invalid as I don't think it applies to current Percona Server. If you can reproduce however, please reopen against percona-server project (click "also affects project" above) and we can work on fixing it.

Thanks,
Stewart Smith
Director of Server Development
Percona

Changed in percona-patches:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers