Summary: | databases/grass8: fix mysql connect [patch] | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Martin Birgmeier <d8zNeCFG> | ||||
Component: | Individual Port(s) | Assignee: | Loïc Bartoletti <lbartoletti> | ||||
Status: | In Progress --- | ||||||
Severity: | Affects Only Me | CC: | alt2600, d8zNeCFG | ||||
Priority: | --- | Flags: | lbartoletti:
maintainer-feedback+
|
||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Indeed, has been patched upstream https://github.com/OSGeo/grass/pull/3325 (In reply to Loïc Bartoletti from comment #1) has upstream been pulled down? failed for me today while doing my ports rebuild after upgrading to 14.0p5 release amd64. Same error with mysql driver Hi, Should be fixed in https://cgit.freebsd.org/ports/commit/?id=4d6dff20cdbc7e3bc41a3e0b668d474033d9bb2c Please, let me know, if it's ok to you. (In reply to Loïc Bartoletti from comment #3) I rebuilt the port after it was upgraded, and the patch (see the attachments) still applied cleanly. So I guess it is still needed and the issue has not yet been fixed upstream. -- Martin (In reply to Loïc Bartoletti from comment #3) I didn't try Martin's patch, but from ports alone no it still fails to build the mysql driver as of a ports tree pull about 2 hours ago. (In reply to Loïc Bartoletti from comment #1) That pull request 3325 was put into 8.4.0, its not available in the current version https://github.com/OSGeo/grass/milestone/19?closed=1 search with mysql_real_connect 8.3.2 db.c in ports { /* Client version */ const char *user, *password, *host, *port; CONNPAR connpar; if (parse_conn(name, &connpar) == DB_FAILED) { db_d_report_error(); return DB_FAILED; } G_debug(3, "host = %s, port = %d, dbname = %s, " "user = %s, password = %s", connpar.host, connpar.port, connpar.dbname, connpar.user, connpar.password); db_get_login2("mysql", name, &user, &password, &host, &port); connection = mysql_init(NULL); res = mysql_real_connect(connection, host, user, password, connpar.dbname, port, NULL, 0); if (res == NULL) { db_d_append_error("%s\n%s", _("Connection failed."), mysql_error(connection)); db_d_report_error(); return DB_FAILED; } } the if statement checking null or 0 with atoi patch #3325 hasn't been added upstream yet |
Created attachment 245993 [details] patch to fix type incompatibilities Scenario: - FreeBSD stable/14 (Oct. 27) - ports latest - compiling ports using portmaster - building databases/grass8 Result: - build fails in db/drivers/mysql/db.c with incompatible types (char * instead of required int for parameter "port") Expected result: - build should succeed Patch attached (compiles, but untested). This could never have worked before - all combinations of grass7/8 and mysql 5.7/8.0 seem to be wrong. -- Martin