Bug #25061 Build failure on HP/UX similar to BUG#20507

Added libCsup as a mysql library dependency on hpux11.

This means any projects statically linking to our libraries using the HPUX11 compiler will need to add the -lCSup option to their build link options. If they use the mysql_config tool this will happen automatically.

Projects that dynamically link to libmysqlclient will continue to work without any modifications.

Library libCsup is a C++ runtime library needed for yassl support when built with the hpux11 C/C++ compiler. The first attempts to fix this bug were to remove the yassl dependencies on libCsup. We tried removing all pure virtual functions and other hacks, but the dependency remained. The only other options left involve extensive restructuring of the yassl library.
    
parent 48dfd5c7
...@@ -31,6 +31,15 @@ AC_DEFUN([MYSQL_CHECK_YASSL], [ ...@@ -31,6 +31,15 @@ AC_DEFUN([MYSQL_CHECK_YASSL], [
AC_MSG_NOTICE([disabling inlining for yassl/taocrypt/src/]) AC_MSG_NOTICE([disabling inlining for yassl/taocrypt/src/])
;; ;;
esac esac
case $SYSTEM_TYPE in
*hpux11*)
if test "$ac_cv_prog_gcc" = "no"
then
# yass compiled with the HPUX 11.0 compiler requires a special lib
NON_THREADED_LIBS="$NON_THREADED_LIBS -lCsup"
fi
;;
esac
AC_SUBST([yassl_taocrypt_extra_cxxflags]) AC_SUBST([yassl_taocrypt_extra_cxxflags])
# Link extra/yassl/include/openssl subdir to include/ # Link extra/yassl/include/openssl subdir to include/
yassl_h_ln_cmd="\$(LN) -s \$(top_srcdir)/extra/yassl/include/openssl openssl" yassl_h_ln_cmd="\$(LN) -s \$(top_srcdir)/extra/yassl/include/openssl openssl"
......
set autocommit=1;
reset master;
create table bug16206 (a int);
insert into bug16206 values(1);
start transaction;
insert into bug16206 values(2);
commit;
show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4
f n Query 1 n use `test`; create table bug16206 (a int)
f n Query 1 n use `test`; insert into bug16206 values(1)
f n Query 1 n use `test`; insert into bug16206 values(2)
drop table bug16206;
reset master;
create table bug16206 (a int) engine= bdb;
insert into bug16206 values(0);
insert into bug16206 values(1);
start transaction;
insert into bug16206 values(2);
commit;
insert into bug16206 values(3);
show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4
f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb
f n Query 1 n use `test`; insert into bug16206 values(0)
f n Query 1 n use `test`; insert into bug16206 values(1)
f n Query 1 n use `test`; BEGIN
f n Query 1 n use `test`; insert into bug16206 values(2)
f n Query 1 n use `test`; COMMIT
f n Query 1 n use `test`; insert into bug16206 values(3)
drop table bug16206;
set autocommit=0;
End of 5.0 tests
-- source include/not_embedded.inc
-- source include/have_bdb.inc
#
# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode
#
set autocommit=1;
let $VERSION=`select version()`;
reset master;
create table bug16206 (a int);
insert into bug16206 values(1);
start transaction;
insert into bug16206 values(2);
commit;
--replace_result $VERSION VERSION
--replace_column 1 f 2 n 5 n
show binlog events;
drop table bug16206;
reset master;
create table bug16206 (a int) engine= bdb;
insert into bug16206 values(0);
insert into bug16206 values(1);
start transaction;
insert into bug16206 values(2);
commit;
insert into bug16206 values(3);
--replace_result $VERSION VERSION
--replace_column 1 f 2 n 5 n
show binlog events;
drop table bug16206;
set autocommit=0;
--echo End of 5.0 tests
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment