Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 598060 - dev-perl/DBD-mysql failed to configure with USE="embedded" when correct dependencies are emerged
Summary: dev-perl/DBD-mysql failed to configure with USE="embedded" when correct depen...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on: 644174
Blocks:
  Show dependency tree
 
Reported: 2016-10-25 09:24 UTC by Xiami
Modified: 2019-10-09 21:49 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
/var/tmp/portage/dev-perl/DBD-mysql/temp/build.log (build.log,3.04 KB, text/plain)
2016-10-25 09:24 UTC, Xiami
Details
emerge --info DBD-mysql (emerge-info,5.59 KB, text/plain)
2016-10-25 09:24 UTC, Xiami
Details
/var/tmp/portage/dev-perl/DBD-mysql/temp/environment (environment,102.10 KB, text/plain)
2016-10-25 09:25 UTC, Xiami
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xiami 2016-10-25 09:24:19 UTC
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..
Comment 1 Xiami 2016-10-25 09:24:57 UTC
Created attachment 451404 [details]
emerge --info DBD-mysql
Comment 2 Xiami 2016-10-25 09:25:37 UTC
Created attachment 451406 [details]
/var/tmp/portage/dev-perl/DBD-mysql/temp/environment
Comment 3 Andreas K. Hüttel archtester gentoo-dev 2016-10-27 17:48:59 UTC
> 
> 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?
Comment 4 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2018-01-11 07:52:36 UTC
USE=embedded is going away due to it vanishing upstream and bug #644174

Do you have some usecase that requires this?
Comment 5 Larry the Git Cow gentoo-dev 2019-10-09 21:49:18 UTC
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(-)