On December 25, 2018 10:28:50 AM UTC, "Otto Kekäläinen" <o...@debian.org> wrote:
>Hello!
>
>ti 25. jouluk. 2018 klo 10.06 Scott Kitterman (deb...@kitterman.com)
>kirjoitti:
>> Severity: grave
>> Justification: renders package unusable
>>
>> <mysql.h> no longer found.
>>
>> Since mariadb10.3 became the default this no longer works:
>>
>> #include <mysql.h>
>>
>> It has to be changed to:
>>
>> #include <mariadb/mysql.h>
>>
>> You can experience this for yourself by rebuilding postfix, seeing it
>fail:
>>
>> gcc -fPIC -I. -I../../include -DDEBIAN -DHAS_PCRE -DHAS_LDAP
>-DUSE_LDAP_SASL -DHAS_SQLITE -DMYORIGIN_FROM_FILE -DHAS_CDB -DHAS_LMDB
>-DHAS_MYSQL -I/usr/include/mysql -DHAS_PGSQL -I/usr/include/postgresql
>-DHAS_SQLITE -I/usr/include -DHAS_SSL -I/usr/include/openssl
>-DUSE_SASL_AUTH -I/usr/include/sasl -DUSE_CYRUS_SASL -DUSE_TLS
>-I/usr/include -DHAS_DEV_URANDOM
>-DDEF_DAEMON_DIR=\"/usr/lib/postfix/sbin\"
>-DDEF_HTML_DIR=\"/usr/share/doc/postfix/html\"
>-DDEF_MANPAGE_DIR=\"/usr/share/man\"
>-DDEF_README_DIR=\"/usr/share/doc/postfix\" -DUSE_DYNAMIC_LIBS
>-DUSE_DYNAMIC_MAPS -Wmissing-prototypes -Wformat -Wno-comment -fPIC -g
>-O2 -I. -I../../include -DLINUX3 -c dict_ldap.c
>> gcc -shared -Wl,--enable-new-dtags -Wl,-rpath,/usr/lib/postfix -o
>postfix-ldap.so dict_ldap.o -lldap -llber -L../../lib -L.
>-lpostfix-util -lpostfix-global
>> gcc -fPIC -I. -I../../include -DDEBIAN -DHAS_PCRE -DHAS_LDAP
>-DUSE_LDAP_SASL -DHAS_SQLITE -DMYORIGIN_FROM_FILE -DHAS_CDB -DHAS_LMDB
>-DHAS_MYSQL -I/usr/include/mysql -DHAS_PGSQL -I/usr/include/postgresql
>-DHAS_SQLITE -I/usr/include -DHAS_SSL -I/usr/include/openssl
>-DUSE_SASL_AUTH -I/usr/include/sasl -DUSE_CYRUS_SASL -DUSE_TLS
>-I/usr/include -DHAS_DEV_URANDOM
>-DDEF_DAEMON_DIR=\"/usr/lib/postfix/sbin\"
>-DDEF_HTML_DIR=\"/usr/share/doc/postfix/html\"
>-DDEF_MANPAGE_DIR=\"/usr/share/man\"
>-DDEF_README_DIR=\"/usr/share/doc/postfix\" -DUSE_DYNAMIC_LIBS
>-DUSE_DYNAMIC_MAPS -Wmissing-prototypes -Wformat -Wno-comment -fPIC -g
>-O2 -I. -I../../include -DLINUX3 -c dict_mysql.c
>> dict_mysql.c:171:10: fatal error: mysql.h: No such file or directory
>>  #include <mysql.h>
>>           ^~~~~~~~~
>> compilation terminated.
>>
>> And then changing src/global/dict_mysql.c line 171
>>
>> Alternately, I could update the include path, I guess, but isn't
>approximately
>> the whol point of providing a generic default so that every package
>in
>> Debian doesn't have to change when the default changes?
>
>Yes, these #include mysql.h in Debian can be found via
>https://codesearch.debian.net/search?q=%22mysql.h%22&perpkg=1
>
>In mariadb-10.1 the mysql.h was shipped in package
>libmariadbclient-dev at path /usr/include/mysql/mysql.h. The package
>libmariadbclient-dev-compat does not provide any symlinks or anything
>related to /usr/include
>
>In mariadb-connector-c mysql.h was shipped in package libmariadb-dev
>at path /usr/include/mariadb/mysql.h
>
>In mariadb-10.3, which now includes libmariadb3 (and no
>libmariadbclient18 anymore), so basically same as mariadb-connector-c,
>and ships mysql.h in package libmariadb-dev at path
>/usr/include/mariadb/mysql.h.
>
>I've attached file listing from the relevant libmariadb* packages
>across mariadb-10.1, -10.3 and mariadb-connector-c so it is easier for
>you to review and suggest how to proceed.
>
>I tested the cmake flags used in mariadb-connector-c to modify the
>file layout (DINSTALL_LAYOUT:STRING=DEB -DPLUGINDIR_DEB=mariadb3
>-DWITH_MYSQLCOMPAT=ON)
>[1] but they did not have any effect.
>
>I don't think there is anything I can do. Feel free to open a merge
>request[2] on mariadb-10.3 if you have a vision how to add symlinks or
>something to solve this.

Can't you just use dh_link to add a symlink?

Scott K

Reply via email to