solaris fixes

Bug #1476363 reported by Goetz T. Fischer
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.5
Triaged
Low
Unassigned
5.6
Triaged
Low
Unassigned
5.7
Triaged
Low
Unassigned

Bug Description

i faced a couple of glitches when building 5.5.44 on solaris 11, sunpro 12.3.

- the following files lack -lsocket:

extra/CMakeFiles/comp_err.dir/link.txt
storage/heap/CMakeFiles/hp_test1.dir/link.txt
storage/myisam/CMakeFiles/myisam_ftdump.dir/link.txt
storage/myisam/CMakeFiles/myisamchk.dir/link.txt
storage/myisam/CMakeFiles/myisamlog.dir/link.txt
storage/myisam/CMakeFiles/myisampack.dir/link.txt
mysys/CMakeFiles/thr_lock.dir/link.txt
extra/CMakeFiles/my_print_defaults.dir/link.txt
extra/CMakeFiles/mysql_waitpid.dir/link.txt
extra/CMakeFiles/perror.dir/link.txt
extra/CMakeFiles/replace.dir/link.txt
extra/CMakeFiles/resolve_stack_dump.dir/link.txt
extra/CMakeFiles/resolveip.dir/link.txt
sql/CMakeFiles/mysql_tzinfo_to_sql.dir/link.txt

might be more depending on which features were chosen.

- storage/innobase/include/log0log.ic contains a wrong function call. a typecast did the job. unfortunately i didn't keep the details but it'll come up right away when building it using the solaris toolchain which obviously nobody did.

- plugin/audit_log/audit_log.c, solaris has neither LOG_AUTHPRIV nor LOG_FTP. LOG_AUTH and LOG_DAEMON can be used instead.

Revision history for this message
Valerii Kravchuk (valerii-kravchuk) wrote :

It's easy to confirm missing -lsocket in these and other places, both for 5.5 and 5.6.

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

Solaris is not one of our supported platforms and isn't likely to become one in the near future, but we can apply some fixes.

1) Is -lsocket issue an upstream one? What is the actual link error?
2) Can someone with Solaris toolchain (OP or Valerii) paste the actual log0log.ic error? Is it an upstream one as well?
3) Ack

Revision history for this message
Goetz T. Fischer (g-fischer) wrote :

the link errors can vary. solaris just has the common socket functions in libsocket instead of libc unlike other unix flavors. for example:

Undefined first referenced
 symbol in file
socket ../mysys/libmysys.a(my_open.c.o)
connect ../mysys/libmysys.a(my_open.c.o)

and here's the log0log.ic error:
"percona-server-5.5.44-37.3/storage/innobase/include/log0log.ic", line 476: Error: Formal argument 1 of type volatile unsigned long* in call to atomic_add_64_nv(volatile unsigned long*, long) is being passed unsigned long long*.

and out of curiosity, which are the supported platforms? i haven't found that on your website

Revision history for this message
Valerii Kravchuk (valerii-kravchuk) wrote :
Revision history for this message
Goetz T. Fischer (g-fischer) wrote :

oh thanks, this one i have seen but since that's only linux i assumed there's a complete list somewhere else

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

Thanks, 2) is us, not upstream, then.

The only remaining question is whether 1) is upstream too? If yes, is there a bug report?

Revision history for this message
Goetz T. Fischer (g-fischer) wrote :

i tried the "normal" mysql 5.5.44, using the same options of course, and got no errors at all.
and for the sake of completeness i also tried maria 5.5.44. same options again, maria specific stuff turned off of course, and no errors either.

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

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-2118

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

Other bug subscribers