PerfectlySoft / PerfectlySoft/Perfect-MySQL

Doesn't Build on Ubuntu 14.04

Open
#9 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
126
Forks
58
Avg merge
25m
Merged PRs (30d)
1

Description

libmysqlclient-dev is installed. I don't observe "MYSQL_SERVER_PUBLIC_KEY" in the MySQL headers. CloudFoundry uses Ubuntu 14.04.

Ubuntu 14.04 with 2016-06-20 Swift and 'swift build' yields:

note: you may be able to install mysqlclient using your system-packager:

apt-get install libmysqlclient-dev

note: you may be able to install mysqlclient using your system-packager:

apt-get install libmysqlclient-dev

note: you may be able to install mysqlclient using your system-packager:

apt-get install libmysqlclient-dev

Compile Swift Module 'MySQL' (1 sources)
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:443:11: error: use of unresolved identifier 'MYSQL_OPT_BIND'
return MYSQL_OPT_BIND
^~~~~~~~~~~~~~
mysqlclient.MYSQL_BIND:1:18: note: did you mean 'MYSQL_BIND'?
public typealias MYSQL_BIND = st_mysql_bind
^
mysqlclient.MYSQL_TYPE_BIT:1:12: note: did you mean 'MYSQL_TYPE_BIT'?
public var MYSQL_TYPE_BIT: enum_field_types { get }
^
mysqlclient.MYSQL_TYPE_TINY:1:12: note: did you mean 'MYSQL_TYPE_TINY'?
public var MYSQL_TYPE_TINY: enum_field_types { get }
^
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:445:11: error: use of unresolved identifier 'MYSQL_OPT_SSL_KEY'
return MYSQL_OPT_SSL_KEY
^~~~~~~~~~~~~~~~~
mysqlclient.MYSQL_OPT_USE_RESULT:1:12: note: did you mean 'MYSQL_OPT_USE_RESULT'?
public var MYSQL_OPT_USE_RESULT: mysql_option { get }
^
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:447:11: error: use of unresolved identifier 'MYSQL_OPT_SSL_CERT'
return MYSQL_OPT_SSL_CERT
^~~~~~~~~~~~~~~~~~
mysqlclient.MYSQL_OPT_USE_RESULT:1:12: note: did you mean 'MYSQL_OPT_USE_RESULT'?
public var MYSQL_OPT_USE_RESULT: mysql_option { get }
^
mysqlclient.MYSQL_OPT_RECONNECT:1:12: note: did you mean 'MYSQL_OPT_RECONNECT'?
public var MYSQL_OPT_RECONNECT: mysql_option { get }
^
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:449:11: error: use of unresolved identifier 'MYSQL_OPT_SSL_CA'
return MYSQL_OPT_SSL_CA
^~~~~~~~~~~~~~~~
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:451:11: error: use of unresolved identifier 'MYSQL_OPT_SSL_CAPATH'
return MYSQL_OPT_SSL_CAPATH
^~~~~~~~~~~~~~~~~~~~
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:453:11: error: use of unresolved identifier 'MYSQL_OPT_SSL_CIPHER'
return MYSQL_OPT_SSL_CIPHER
^~~~~~~~~~~~~~~~~~~~
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:455:11: error: use of unresolved identifier 'MYSQL_OPT_SSL_CRL'
return MYSQL_OPT_SSL_CRL
^~~~~~~~~~~~~~~~~
mysqlclient.MYSQL_OPT_PROTOCOL:1:12: note: did you mean 'MYSQL_OPT_PROTOCOL'?
public var MYSQL_OPT_PROTOCOL: mysql_option { get }
^
mysqlclient.MYSQL_OPT_USE_RESULT:1:12: note: did you mean 'MYSQL_OPT_USE_RESULT'?
public var MYSQL_OPT_USE_RESULT: mysql_option { get }
^
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:457:11: error: use of unresolved identifier 'MYSQL_OPT_SSL_CRLPATH'
return MYSQL_OPT_SSL_CRLPATH
^~~~~~~~~~~~~~~~~~~~~
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:459:11: error: use of unresolved identifier 'MYSQL_OPT_CONNECT_ATTR_RESET'
return MYSQL_OPT_CONNECT_ATTR_RESET
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mysqlclient.MYSQL_OPT_CONNECT_TIMEOUT:1:12: note: did you mean 'MYSQL_OPT_CONNECT_TIMEOUT'?
public var MYSQL_OPT_CONNECT_TIMEOUT: mysql_option { get }
^
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:461:11: error: use of unresolved identifier 'MYSQL_OPT_CONNECT_ATTR_ADD'
return MYSQL_OPT_CONNECT_ATTR_ADD
^~~~~~~~~~~~~~~~~~~~~~~~~~
mysqlclient.MYSQL_OPT_CONNECT_TIMEOUT:1:12: note: did you mean 'MYSQL_OPT_CONNECT_TIMEOUT'?
public var MYSQL_OPT_CONNECT_TIMEOUT: mysql_option { get }
^
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:463:11: error: use of unresolved identifier 'MYSQL_OPT_CONNECT_ATTR_DELETE'
return MYSQL_OPT_CONNECT_ATTR_DELETE
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:465:11: error: use of unresolved identifier 'MYSQL_SERVER_PUBLIC_KEY'
return MYSQL_SERVER_PUBLIC_KEY
^~~~~~~~~~~~~~~~~~~~~~~
mysqlclient.MYSQL_SERVER_SUFFIX_DEF:1:12: note: did you mean 'MYSQL_SERVER_SUFFIX_DEF'?
public var MYSQL_SERVER_SUFFIX_DEF: String { get }
^
/usr/src/Perfect-MySQL/Sources/MySQL/MySQL.swift:469:11: error: use of unresolved identifier 'MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS'
return MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:0: error: build had 1 command failures
swift-build: error: exit(1): /usr/bin/swift-build-tool -f /usr/src/Perfect-MySQL/.build/debug.yaml

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Sources/MySQL/MySQL.swift, especially the reported failures around the MySQL option identifiers, and reproduce the issue with swift build on Ubuntu 14.04 using the installed libmysqlclient-dev headers. Compare the identifiers available through those headers with the ones referenced by the source; done means the project builds successfully in that environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
mysql, swift
Domain
database
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.