Created attachment 451402 [details] /var/tmp/portage/dev-perl/DBD-mysql/temp/build.log To reproduce this, you should correctly install dependencies to make USE="embedded" really works as defined. See https://bugs.gentoo.org/show_bug.cgi?id=598048 for details. Reproduce: 1. vim /etc/portage/package.use/test sys-libs/zlib static-libs dev-libs/openssl static-libs dev-db/mariadb embedded static-libs virtual/libmysqlclient static-libs virtual/mysql embedded dev-perl/DBD-mysql embedded 2. emerge -akuDN --with-bdeps=y --changed-deps=y @world 3. emerge DBD-mysql emerge -pqv dev-perl/DBD-mysql: [ebuild R ] dev-perl/DBD-mysql-4.32.0-r2 USE="embedded* {-test}" build.log, environment, emerge -info see attachments. My investigation: 1. In Makefile.PL, before build DBD::mysqlEmb, it will call check_include_version to ensure MySQL server version >= 4.0.3 2. check_include_version grep /usr/include/mysql/mysql_version.h for MYSQL_VERSION_ID 3. BUT, /usr/include/mysql/mysql_version.h has been replaced by an file auto-generated by multilib-build.eclass 4. cannot found MYSQL_VERSION_ID, exit. 5. Configure failed. My test: 1. ebuild /usr/portage/dev-perl/DBD-mysql/DBD-mysql-4.32.0-r2.ebuild prepare 2. vim /var/tmp/portage/dev-perl/DBD-mysql-4.32.0-r2/work/DBD-mysql-4.032/Makefile.PL After line 682, after $dir set and before open(), add a line: $dir = "/usr/include/x86_64-pc-linux-gnu/mysql"; To force read the real header 3. ebuild /usr/portage/dev-perl/DBD-mysql/DBD-mysql-4.32.0-r2.ebuild configure 4. ebuild /usr/portage/dev-perl/DBD-mysql/DBD-mysql-4.32.0-r2.ebuild merge 5. Succeed. Don't know how to fix this..
Created attachment 451404 [details] emerge --info DBD-mysql
Created attachment 451406 [details] /var/tmp/portage/dev-perl/DBD-mysql/temp/environment
> > My investigation: > 1. In Makefile.PL, before build DBD::mysqlEmb, it will call > check_include_version to ensure MySQL server version >= 4.0.3 > 2. check_include_version grep /usr/include/mysql/mysql_version.h for > MYSQL_VERSION_ID > 3. BUT, /usr/include/mysql/mysql_version.h has been replaced by an file > auto-generated by multilib-build.eclass > 4. cannot found MYSQL_VERSION_ID, exit. > 5. Configure failed. > Thanks for the analysis. This sounds nasty. @multilib: any idea?
USE=embedded is going away due to it vanishing upstream and bug #644174 Do you have some usecase that requires this?
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b12f7b3b83729b4a144883996e628889c8a2df78 commit b12f7b3b83729b4a144883996e628889c8a2df78 Author: Andreas K. Hüttel <dilfridge@gentoo.org> AuthorDate: 2019-10-09 21:48:21 +0000 Commit: Andreas K. Hüttel <dilfridge@gentoo.org> CommitDate: 2019-10-09 21:49:01 +0000 dev-perl/DBD-mysql: Drop old, vulnerable and masked versions. Also drops embedded useflag support. Closes: https://bugs.gentoo.org/634192 Closes: https://bugs.gentoo.org/598048 Closes: https://bugs.gentoo.org/644174 Closes: https://bugs.gentoo.org/598060 Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org> dev-perl/DBD-mysql/DBD-mysql-4.32.0-r2.ebuild | 49 ------ dev-perl/DBD-mysql/DBD-mysql-4.37.0.ebuild | 68 -------- dev-perl/DBD-mysql/DBD-mysql-4.41.0-r2.ebuild | 69 -------- dev-perl/DBD-mysql/DBD-mysql-4.41.0.ebuild | 65 -------- dev-perl/DBD-mysql/DBD-mysql-4.42.0.ebuild | 66 -------- dev-perl/DBD-mysql/Manifest | 4 - .../files/4.041-amvis-type-conversions.patch | 47 ------ dev-perl/DBD-mysql/files/4.041-no-dot-inc.patch | 103 ------------ dev-perl/DBD-mysql/files/4.042-no-dot-inc.patch | 178 --------------------- .../files/DBD-mysql-print_embedded_options.patch | 20 --- dev-perl/DBD-mysql/metadata.xml | 1 - 11 files changed, 670 deletions(-)