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. r120632

Thanks for the reminder.

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

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.