Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#46766 closed update (fixed)

mysql56 @5.6.22_0: update to 5.6.23

Reported by: Schamschula (Marius Schamschula) Owned by: pixilla (Bradley Giesbrecht)
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch Cc: Themanwithoutaplan, evandrix (Lee Wei Yeong), asedeno@…
Port: mysql56

Description

mysql56 has been updated to version 5.6.23. Unfortunately, my build dies as I get

/opt/local/var/macports/build/_Users_marius_Development_MacPorts_ports_databases_mysql56/mysql56/work/mysql-5.6.23/sql/mysqld.cc:7779:10: error: use of undeclared identifier 'yaSSL_ASN1_TIME_to_string'
  return yaSSL_ASN1_TIME_to_string(time, buf, len);
         ^
1 error generated.

Attachments (5)

patch-sql-mysqld.cc.diff (274 bytes) - added by Schamschula (Marius Schamschula) 9 years ago.
main.log (2.7 MB) - added by Schamschula (Marius Schamschula) 9 years ago.
mysql56-openssl_1.0.2.patch (1.6 KB) - added by asedeno@… 9 years ago.
Portfile-mysql56.diff (1.3 KB) - added by Schamschula (Marius Schamschula) 9 years ago.
patch-cmake-ssl.cmake.diff (522 bytes) - added by Schamschula (Marius Schamschula) 9 years ago.

Change History (26)

comment:1 Changed 9 years ago by larryv (Lawrence Velázquez)

Cc: pixilla@… removed
Keywords: haspatch added
Owner: changed from macports-tickets@… to pixilla@…
Summary: Update: mysql56 5.6.23mysql56 @5.6.22_0: update to 5.6.23
Version: 2.3.3

comment:2 Changed 9 years ago by pixilla (Bradley Giesbrecht)

mschamschula: Will you be attaching the "patch-sql-mysqld.cc.diff" included in Portfile-mysql56.diff?

comment:3 Changed 9 years ago by steven.pearce@…

I am also getting this error. I upgraded my ports from 2.3.2 to 2.3.3 and when bulding mysql I see the following. although I notice the directory is slightly different as mine refers to mysql-5.6.22.

:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.22/sql/mysqld.cc:7779:10: error: use of undeclared identifier 'yaSSL_ASN1_TIME_to_string'

I notice you are asking for patch-sql-mysqld.cc.diff, if you tell me where that file would be located I will attach it for you.

Changed 9 years ago by Schamschula (Marius Schamschula)

Attachment: patch-sql-mysqld.cc.diff added

comment:4 in reply to:  2 Changed 9 years ago by Schamschula (Marius Schamschula)

Replying to pixilla@…:

mschamschula: Will you be attaching the "patch-sql-mysqld.cc.diff" included in Portfile-mysql56.diff?

Sure. The attached version of the patch file is on elf many variants I tried. However, the build still fails.

comment:5 Changed 9 years ago by Themanwithoutaplan

Cc: charlie.clark@… added

Cc Me!

comment:6 Changed 9 years ago by Schamschula (Marius Schamschula)

Apparently pixilla committed r132791, essentially Portfile-mysql56.diff. My builds under Mavericks and Yosemite still fail at the same point.

Last edited 8 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

Changed 9 years ago by Schamschula (Marius Schamschula)

Attachment: main.log added

comment:7 Changed 9 years ago by evandrix (Lee Wei Yeong)

Cc: evandrix@… added

Cc Me!

comment:8 Changed 9 years ago by asedeno@…

Cc: asedeno@… added

Cc Me!

comment:9 Changed 9 years ago by asedeno@…

Upstream bug: http://bugs.mysql.com/bug.php?id=75622

The change that broke things was in OpenSSL 1.0.2. The fix is updating a regex in cmake/ssl.cmake to account for some extra whitespace.

I've applied the suggested patch locally and got things working. I'll start putting a patch together now, and will attach it if this hasn't been fixed before I'm done.

Changed 9 years ago by asedeno@…

Attachment: mysql56-openssl_1.0.2.patch added

Changed 9 years ago by Schamschula (Marius Schamschula)

Attachment: Portfile-mysql56.diff added

Changed 9 years ago by Schamschula (Marius Schamschula)

Attachment: patch-cmake-ssl.cmake.diff added

comment:10 Changed 9 years ago by Schamschula (Marius Schamschula)

I've recast asedeno's patch to patch cmake/ssl.cmake directly, as I could not find files/patch-cmake-ssl.cmake.diff under mysql56.

This does work for me.

comment:11 Changed 9 years ago by asedeno@…

It wasn't there because files/patch-cmake-ssl.cmake.diff is created by my patch. That was an svn diff of my checkout of the macports source tree.

comment:12 in reply to:  9 ; Changed 9 years ago by pixilla (Bradley Giesbrecht)

Replying to asedeno@…:

Upstream bug: http://bugs.mysql.com/bug.php?id=75622

The change that broke things was in OpenSSL 1.0.2. The fix is updating a regex in cmake/ssl.cmake to account for some extra whitespace.

I've applied the suggested patch locally and got things working. I'll start putting a patch together now, and will attach it if this hasn't been fixed before I'm done.

Are you building mysql56 with the non-default +openssl variant?

comment:13 in reply to:  6 Changed 9 years ago by pixilla (Bradley Giesbrecht)

Replying to mschamschula@…:

Apparently pixilla committed https://trac.macports.org/changeset/132791, essentially Portfile-mysql56.diff. My builds under Mavericks and Yosemite still fail at the same point.

I committed after a successful build of mysql56 5.6.23 on Mavericks. Your attached log appears to be truncated.

comment:14 in reply to:  12 Changed 9 years ago by asedeno@…

Replying to pixilla@…:

Are you building mysql56 with the non-default +openssl variant?

Nope.

asedeno@Groose:~$ port installed | grep mysql56
  mysql56 @5.6.23_0 (active)

However, I do have OpenSSL installed.

asedeno@Groose:~$ port installed | grep openssl
  openssl @1.0.2_0 (active)
Last edited 8 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:15 Changed 9 years ago by asedeno@…

Looking more closely at the Portfile, the openssl variant does nothing and what it should do is unconditionally enabled. It's been that way since last June. r120632

Last edited 8 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:16 in reply to:  15 ; Changed 9 years ago by pixilla (Bradley Giesbrecht)

Replying to asedeno@…:

Looking more closely at the Portfile, the openssl variant does nothing and what it should do is unconditionally enabled. It's been that way since last June. https://trac.macports.org/changeset/120632

Thanks for the reminder.

Version 0, edited 9 years ago by pixilla (Bradley Giesbrecht) (next)

comment:17 in reply to:  16 Changed 9 years ago by Themanwithoutaplan

I've just tried building from a checkout but I'm still getting the same error (on 10.10.2). Anything special I need to do?

comment:18 Changed 9 years ago by pixilla (Bradley Giesbrecht)

Resolution: fixed
Status: newclosed

asedeno: Thanks for the patch. Builds on all MacPorts buildbots. See r132850

comment:19 in reply to:  18 Changed 9 years ago by asedeno@…

Replying to pixilla@…:

asedeno: Thanks for the patch. Builds on all MacPorts buildbots. See r132850

Thanks for applying it. It just occurred to me that I took the wrong (less general) fix from the upstream bug, though.

The added [\t ]+ should have been [\t ]*

I can send another patch or open another bug if you like.

comment:20 Changed 9 years ago by pixilla (Bradley Giesbrecht)

Like this?

  • files/patch-cmake-ssl.cmake.diff

     
    55     FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
    66       OPENSSL_VERSION_NUMBER
    77-      REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
    8 +      REGEX "^#[\t ]+define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
     8+      REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
    99     )
    1010     STRING(REGEX REPLACE
    1111       "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
Last edited 9 years ago by pixilla (Bradley Giesbrecht) (previous) (diff)

comment:21 in reply to:  20 Changed 9 years ago by asedeno@…

Replying to pixilla@…:

Like this?

  • files/patch-cmake-ssl.cmake.diff

     
    55     FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
    66       OPENSSL_VERSION_NUMBER
    77-      REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
    8 +      REGEX "^#[\t ]+define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
     8+      REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
    99     )
    1010     STRING(REGEX REPLACE
    1111       "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"

Just like that. I'll have to remember the inline diff thing for later.

Note: See TracTickets for help on using tickets.