solaris fixes for 5.6

Bug #1479372 reported by Goetz T. Fischer
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Percona Server moved to
Status tracked in 5.7

Bug Description

solaris 11.2, x86, sunpro 5.12


- system zlib adds -lzlib instead of -lz
- sql/ need to remove inline from do_apply_event_worker
build completes.


"/build/percona-server-5.6.25-73.1/vio/viosocket.c", line 709: undefined struct/union member: s6_addr32
=> i don't need ipv6 so i removed the #ifdef HAVE_IPV6 block

"/build/percona-server-5.6.25-73.1/plugin/HandlerSocket-Plugin-for-MySQL/libhsclient/auto_addrinfo.hpp", line 37: Error: The function "memset" must have a prototype.
=> needs #include <string.h>
auto_addrinfo.hpp also has cr/lf format!

missing -lsocket:

"/build/percona-server-5.6.25-73.1/sql/", line 2247: Error: s6_addr32 is not a member of in6_addr.
=> see above

"/build/percona-server-5.6.25-73.1/plugin/audit_log/audit_log.c", line 65: undefined symbol: LOG_AUTHPRIV
"/build/percona-server-5.6.25-73.1/plugin/audit_log/audit_log.c", line 65: undefined symbol: LOG_FTP
=> replace with LOG_AUTH and LOG_DAEMON

"/opt/solarisstudio12.3/prod/include/CC/stlport4/stl/_auto_ptr.h", line 75: Error: Could not find a match for std::__ptr_base::__set(volatile dena::database_i*) needed in std::auto_ptr<volatile dena::database_i>::auto_ptr(volatile dena::database_i*).
"/build/percona-server-5.6.25-73.1/plugin/HandlerSocket-Plugin-for-MySQL/handlersocket/database.cpp", line 218: Where: While instantiating "std::auto_ptr<volatile dena::database_i>::auto_ptr(volatile dena::database_i*)".
"/build/percona-server-5.6.25-73.1/plugin/HandlerSocket-Plugin-for-MySQL/handlersocket/database.cpp", line 218: Where: Instantiated from non-template code.
=> see

build fails.

description: updated
Revision history for this message
Sveta Smirnova (svetasmirnova) wrote :

Thank you for the report.

Percona bugs verified as described.

Changed in percona-server:
status: New → Confirmed
Revision history for this message
Majeed Abu-Qulbain (deejam) wrote :

@Goetz T. Fischer

Thank you so much for posting these solaris fixes. They allowed me to build some fresh 5.6 binaries on solaris 10u10. I could not get past the errors for the handlersocket plugin or the vla issues in the query_response_time plugin (when building with solaris studio). I ended up just removing them from the plugins folder before the configure, and was able to build and run the rest.

If you have any additional methods to successfully build the query_response_time plugin, that would be a nice to have. I read some about vla and explored the solaris studio 12.3 docs on C++ compiler options but could not figure it out (not enough development knowledge i suppose).

Here is the build command and the errors for the query_response_time:

/opt/SUNWspro/bin/CC -Dquery_response_time_EXPORTS -DHAVE_RWLOCK_T -DHAVE_CONFIG_H -DMYSQL_DYNAMIC_PLUGIN -m64 -I/ciss/compiletools/include -lsocket -KPIC -library=stlport4 -xO3 -g0 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic -library=stlport4 -DDBUG_OFF -KPIC -I/export/home/mabuqu/percona_builds/5.6/percona-server-5.6.25-73.1/include -I/export/home/mabuqu/percona_builds/5.6/percona-server-5.6.25-73.1/sql -I/export/home/mabuqu/percona_builds/5.6/percona-server-5.6.25-73.1/regex -I/export/home/mabuqu/percona_builds/5.6/percona-server-5.6.25-73.1/extra/yassl/include -I/export/home/mabuqu/percona_builds/5.6/percona-server-5.6.25-73.1/extra/yassl/taocrypt/include -I/export/home/mabuqu/percona_builds/5.6/percona-server-5.6.25-73.1/zlib -m64 -I/ciss/compiletools/include -lsocket -noex -o CMakeFiles/query_response_time.dir/ -c /export/home/mabuqu/percona_builds/5.6/percona-server-5.6.25-73.1/plugin/query_response_time/

"/export/home/mabuqu/percona_builds/5.6/percona-server-5.6.25-73.1/plugin/query_response_time/", line 150: Error: An integer constant expression is required within the array subscript operator.
"/export/home/mabuqu/percona_builds/5.6/percona-server-5.6.25-73.1/plugin/query_response_time/", line 224: Error: An integer constant expression is required within the array subscript operator.
"/export/home/mabuqu/percona_builds/5.6/percona-server-5.6.25-73.1/plugin/query_response_time/", line 225: Error: An integer constant expression is required within the array subscript operator.
3 Error(s) detected.

Revision history for this message
Majeed Abu-Qulbain (deejam) wrote :

Just wanted to add a note here that the binaries that I generated are not "crash-me" safe. I am getting a seg fault when it does the big expressions test unfortunately, specifically on the attached query.

While the crash-me results does not give me a good feeling about these binaries, the run-all-tests script completed successfully.

Revision history for this message
Majeed Abu-Qulbain (deejam) wrote :

Here is output from mdb when crash-me sent the segfault causing query:
 mdb /ciss/mysql/bin/mysqld
> ::run --defaults-file=/ciss/mysql/var/my.cnf --basedir=/ciss/mysql --datadir=/ciss/mysql/var --user=mysql --pid-file=/ciss/mysql/var/ --port=3306
2015-09-14 12:04:09 0 [Warning] 'THREAD_CONCURRENCY' is deprecated and will be removed in a future release.
2015-09-14 12:04:09 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-09-14 12:04:09 0 [Note] mysqld (mysqld 5.6.25-73.1-log) starting as process 17841 ...
mdb: stop on SIGSEGV
mdb: target stopped at:
__1cOItem_func_plusGint_op6M_x_+0x27: call *0xb8(%rcx)

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to:

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers