Bug 239627 - databases/mysql80-server: fix build with GCC-based architectures
Summary: databases/mysql80-server: fix build with GCC-based architectures
Status: Closed Not A Bug
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Mahdi Mokhtari
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-03 20:26 UTC by Piotr Kubaj
Modified: 2019-08-14 07:18 UTC (History)
3 users (show)

See Also:


Attachments
patch (1.01 KB, patch)
2019-08-03 20:26 UTC, Piotr Kubaj
pkubaj: maintainer-approval? (mmokhi)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Kubaj freebsd_committer 2019-08-03 20:26:28 UTC
Created attachment 206254 [details]
patch

With GCC9, this patch is necessary because of:
/wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.16/router/src/routing/src/mysql_routing.cc: In function 'int unix_getpeercred(int, pid_t&, uid_t&)':
/wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.16/router/src/routing/src/mysql_routing.cc:221:16: error: aggregate 'unix_getpeercred(int, pid_t&, uid_t&)::ucred ucred' has incomplete type and cannot be defined
  221 |   struct ucred ucred;
      |                ^~~~~
/wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.16/router/src/routing/src/mysql_routing.cc:224:36: error: 'SO_PEERCRED' was not declared in this scope; did you mean 'SO_PEERLABEL'?

Since SO_PEERCRED is only available on Linux, don't use this code path.
Comment 1 Piotr Kubaj freebsd_committer 2019-08-05 09:21:03 UTC
This should be fixed when https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239648 is committed.
Comment 2 Gerald Pfeifer freebsd_committer 2019-08-14 07:18:03 UTC
(In reply to Piotr Kubaj from comment #1)
> This should be fixed when https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239648 is committed.

Give it a try now; the issue should have been resolved upstream
and in all relevant FreeBSD ports now.