Bug 192723 - databases/mysql55-client fails to build
Summary: databases/mysql55-client fails to build
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Alex Dupre
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-17 00:19 UTC by oliver
Modified: 2016-05-11 08:16 UTC (History)
4 users (show)

See Also:


Attachments
output of make install clean (69.09 KB, text/plain)
2014-08-17 00:19 UTC, oliver
no flags Details
Tinderbox Build of MySQL Client 5.6.x (93.67 KB, text/plain)
2015-09-14 11:12 UTC, jarrod
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description oliver 2014-08-17 00:19:39 UTC
Created attachment 145894 [details]
output of make install clean

while compiling cqrlog on head I ran into an error with mysql55-client. 

short error (see full log attached):

/usr/ports/databases/mysql55-client/work/mysql-5.5.39/extra/yassl/src/ssl.cpp:319:16: error: use of undeclared identifier 'SSL_SUCCESS'
        return SSL_SUCCESS;
               ^
/usr/ports/databases/mysql55-client/work/mysql-5.5.39/extra/yassl/src/ssl.cpp:415:16: error: use of undeclared identifier 'SSL_SUCCESS'
        return SSL_SUCCESS;
               ^
/usr/ports/databases/mysql55-client/work/mysql-5.5.39/extra/yassl/src/ssl.cpp:436:12: error: use of undeclared identifier 'SSL_SUCCESS'
    return SSL_SUCCESS;
           ^
/usr/ports/databases/mysql55-client/work/mysql-5.5.39/extra/yassl/src/ssl.cpp:450:12: error: use of undeclared identifier 'SSL_SUCCESS'
    return SSL_SUCCESS;
           ^
/usr/ports/databases/mysql55-client/work/mysql-5.5.39/extra/yassl/src/ssl.cpp:475:12: error: use of undeclared identifier 'SSL_SUCCESS'
    return SSL_SUCCESS;
           ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
38 warnings and 20 errors generated.
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/databases/mysql55-client/work/mysql-5.5.39
*** Error code 1
Comment 1 John Marino freebsd_committer freebsd_triage 2014-08-17 07:57:51 UTC
as you can imaging, mysql55 is quite a popular port and this is the only PR that says it can't be built.

Moveover, portsmon is showing it's building across the board:
http://portsmon.freebsd.org/portoverview.py?category=databases&portname=mysql55-client

You didn't even list what you are trying to build it on (e.g. which arch, which release).  I think chances are good this is a local issue.

But I'll assign the PR to Alex the maintainer and let him decide on it's validity
Comment 2 oliver 2014-08-17 11:59:34 UTC
>you didn't even list what you are trying to build it on (e.g. which arch, which >release).  I think chances are good this is a local issue.

You can see the arch and the version in the attached log (extract below):

FreeBSD vic 11.0-CURRENT FreeBSD 11.0-CURRENT #1 r269442:269449: Sun Aug  3 01:18:07 CEST 2014     root@vic:/usr/obj/usr/src/sys/GENERIC  amd64

output of make install clean:

===>  License GPLv2 accepted by the user
===>  Found saved configuration for mysql55-client-5.5.39
===>   mysql55-client-5.5.39 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by mysql55-client-5.5.39 for building
===>  Extracting for mysql55-client-5.5.39
=> SHA256 Checksum OK for mysql-5.5.39.tar.gz.
===>  Patching for mysql55-client-5.5.39
===>  Applying FreeBSD patches for mysql55-client-5.5.39
===>   mysql55-client-5.5.39 depends on file: /usr/local/bin/cmake - found
===>   mysql55-client-5.5.39 depends on shared library: libreadline.so.6 - found (/usr/local/lib/libreadline.so.6)
===>  Configuring for mysql55-client-5.5.39
===>  Performing in-source build
/bin/mkdir -p /usr/ports/databases/mysql55-client/work/mysql-5.5.39
-- Running cmake version 2.8.12.1
-- The C compiler identification is Clang 3.4.1
-- The CXX compiler identification is Clang 3.4.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- MySQL 5.5.39
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of void *
-- Check size of void * - done
-- Packaging as: mysql-5.5.39-FreeBSD11.0-x86_64
Comment 3 Matthias M. 2015-09-07 14:43:12 UTC
Effects me on FreeBSD 10.1-p17, too.

System: AMD64 | GENERIC
OpenSSL 1.0.2d 9 Jul 2015

Build Log:

In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:34:
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/yassl_int.hpp:31:
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/cert_wrapper.hpp:37:
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:159:5: error: expected '}'
    X509_V_OK                                 =  0,
    ^
/usr/local/include/openssl/x509_vfy.h:315:66: note: expanded from macro 'X509_V_OK'
# define         X509_V_OK                                       0
                                                                 ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:158:6: note: to match this '{'
enum { /* X509 Constants */
     ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:158:1: warning: declaration does not declare anything [-Wmissing-declarations]
enum { /* X509 Constants */
^~~~
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:190:5: error: expected '}'
    EVP_R_BAD_DECRYPT = 2
    ^
/usr/local/include/openssl/evp.h:1463:59: note: expanded from macro 'EVP_R_BAD_DECRYPT'
# define EVP_R_BAD_DECRYPT                                100
                                                          ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:188:6: note: to match this '{'
enum {  /* ERR Constants */
     ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:302:5: error: expected '}'
    SSL_ERROR_NONE      =  0,   /* for most functions */
    ^
/usr/local/include/openssl/ssl.h:1858:42: note: expanded from macro 'SSL_ERROR_NONE'
# define SSL_ERROR_NONE                  0
                                         ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:292:6: note: to match this '{'
enum { /* ssl Constants */
     ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:399:16: error: elaborated type refers to a typedef
typedef struct EVP_PKEY EVP_PKEY;
               ^
/usr/local/include/openssl/ossl_typ.h:133:28: note: declared here
typedef struct evp_pkey_st EVP_PKEY;
                           ^
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:34:
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/yassl_int.hpp:31:
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/cert_wrapper.hpp:37:
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:456:9: warning: 'STACK_OF' macro redefined
#define STACK_OF(x) x
        ^
/usr/local/include/openssl/safestack.h:88:10: note: previous definition is here
# define STACK_OF(type) struct stack_st_##type
         ^
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:34:
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/yassl_int.hpp:31:
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/cert_wrapper.hpp:37:
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:491:9: warning: 'OPENSSL_malloc' macro redefined
#define OPENSSL_malloc(x) malloc(x)
        ^
/usr/local/include/openssl/crypto.h:381:10: note: previous definition is here
# define OPENSSL_malloc(num)     CRYPTO_malloc((int)num,__FILE__,__LINE__)
         ^
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:34:
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/yassl_int.hpp:31:
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/cert_wrapper.hpp:37:
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:492:9: warning: 'OPENSSL_free' macro redefined
#define OPENSSL_free(x)   free(x)
        ^
/usr/local/include/openssl/crypto.h:390:10: note: previous definition is here
# define OPENSSL_free(addr)      CRYPTO_free(addr)
         ^
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:34:
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/yassl_int.hpp:31:
In file included from /usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/cert_wrapper.hpp:37:
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/include/openssl/ssl.h:538:9: warning: 'SSL_DEFAULT_CIPHER_LIST' macro redefined
#define SSL_DEFAULT_CIPHER_LIST ""   /* default all */
        ^
/usr/local/include/openssl/ssl.h:341:10: note: previous definition is here
# define SSL_DEFAULT_CIPHER_LIST "ALL:!EXPORT:!aNULL:!eNULL:!SSLv2"
         ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:59:15: error: use of undeclared identifier 'SSL_SUCCESS'
    int ret = SSL_SUCCESS;
              ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:166:23: error: use of undeclared identifier 'SSL_FAILURE'
                ret = SSL_FAILURE;
                      ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:264:12: error: use of undeclared identifier 'SSL_SUCCESS'
    return SSL_SUCCESS;
           ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:346:16: error: use of undeclared identifier 'SSL_SUCCESS'
        return SSL_SUCCESS;
               ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:442:16: error: use of undeclared identifier 'SSL_SUCCESS'
        return SSL_SUCCESS;
               ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:463:12: error: use of undeclared identifier 'SSL_SUCCESS'
    return SSL_SUCCESS;
           ^
/usr/ports/databases/mysql56-client/work/mysql-5.6.26/extra/yassl/src/ssl.cpp:477:12: error: use of undeclared identifier 'SSL_SUCCESS'
    return SSL_SUCCESS;
           ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
38 warnings and 20 errors generated.
--- extra/yassl/CMakeFiles/yassl.dir/src/ssl.cpp.o ---
*** [extra/yassl/CMakeFiles/yassl.dir/src/ssl.cpp.o] Error code 1

make[3]: stopped in /usr/ports/databases/mysql56-client/work/mysql-5.6.26
1 error

make[3]: stopped in /usr/ports/databases/mysql56-client/work/mysql-5.6.26
--- extra/yassl/CMakeFiles/yassl.dir/all ---
*** [extra/yassl/CMakeFiles/yassl.dir/all] Error code 2

make[2]: stopped in /usr/ports/databases/mysql56-client/work/mysql-5.6.26
A failure has been detected in another branch of the parallel make

make[3]: stopped in /usr/ports/databases/mysql56-client/work/mysql-5.6.26
--- zlib/CMakeFiles/zlib.dir/all ---
*** [zlib/CMakeFiles/zlib.dir/all] Error code 2

make[2]: stopped in /usr/ports/databases/mysql56-client/work/mysql-5.6.26
2 errors

make[2]: stopped in /usr/ports/databases/mysql56-client/work/mysql-5.6.26
*** [all] Error code 2

make[1]: stopped in /usr/ports/databases/mysql56-client/work/mysql-5.6.26
1 error

make[1]: stopped in /usr/ports/databases/mysql56-client/work/mysql-5.6.26
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
Comment 4 mike 2015-09-14 08:54:22 UTC
This also affects me with mysql56-client, on 10.2-STABLE on armv6.

As per discussion at https://forums.freebsd.org/threads/mysql56-client-build-errors-on-10-stable.53193/#post-298890 , the errors appear to be at least partially due to a conflict between OpenSSL installed in /usr/local (e.g. from the ports collection) and the OpenSSL code in the yassl part of the MySQL client code. I was told to consider it a port bug and to file a PR. Hopefully my comment here will suffice.
Comment 5 jarrod 2015-09-14 11:12:35 UTC
Created attachment 161037 [details]
Tinderbox Build of MySQL Client 5.6.x

I concur that the issue is also apparent in builds of the MySQL 5.6.x port, and attached is a copy of the full build log from a local Tinderbox install for 10.2-RELEASE-p2 amd64.  The last successful build time I have recorded is August 26, if that helps.
Comment 6 mike 2015-09-16 13:10:52 UTC
As per discussion at https://forums.freebsd.org/threads/mysql56-client-build-errors-on-10-stable.53193/ - the issue has been fixed for this and various other ports by making a change to /usr/ports/Mk/Uses/localbase.mk - The change is https://svnweb.freebsd.org/ports?view=revision&revision=397026
Comment 7 Markus Kohlmeyer 2016-05-07 00:21:03 UTC
This bug can be closed as fixed, see comment #6