Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 494938 - dev-libs/libksba should depend on virtual/yacc
Summary: dev-libs/libksba should depend on virtual/yacc
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Crypto team [DISABLED]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-21 10:57 UTC by Yixun Lan
Modified: 2014-02-15 23:43 UTC (History)
2 users (show)

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


Attachments
build.log.xz (build.log.xz,3.01 KB, application/x-xz)
2013-12-21 11:15 UTC, Yixun Lan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yixun Lan archtester gentoo-dev 2013-12-21 10:57:53 UTC
libksba should need yacc, otherwise fail to compile here, but I haven't checked whether we should put virtual/yacc into DEPEND or RDEPEND

------------------8<---------------

make[2]: Entering directory '/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0_build/src'
test -f asn1-parse.c || /bin/sh /var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0/ylwrap /var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0/src/asn1-parse.y y.tab.c asn1-parse.c y.tab.h asn1-parse.h y.output asn1-parse.output -- yacc
/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0/ylwrap: line 110: yacc: command not found
Makefile:685: recipe for target 'asn1-parse.c' failed
make[2]: *** [asn1-parse.c] Error 1
make[2]: Leaving directory '/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0_build/src'
Makefile:374: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0_build'
Makefile:305: recipe for target 'all' failed
make: *** [all] Error 2
 * ERROR: dev-libs/libksba-1.3.0::gentoo failed (compile phase):
Comment 1 Yixun Lan archtester gentoo-dev 2013-12-21 11:15:47 UTC
Created attachment 365812 [details]
build.log.xz

I generated stage3 on @arm machine from binhost (emerge -K @system).. 
while found virtual/yacc (sys-devel/bison) not installed. yes, this may be another bug, but this report still valid here. also note that virtual/yacc is not explicitly listed as @system package.
Comment 2 Alon Bar-Lev (RETIRED) gentoo-dev 2013-12-25 08:48:28 UTC
Hmmm... this should not have been required as src/asn1-parse.c exists.

Can you please test this on your machine with modified patch of files/libksba-1.3.0-aix.patch removing the hunk for asn1-parse.y leaving only the hunk for asn1-parse.c?
Comment 3 Yixun Lan archtester gentoo-dev 2014-01-02 02:10:43 UTC
(In reply to Alon Bar-Lev from comment #2)
> Hmmm... this should not have been required as src/asn1-parse.c exists.
> 
> Can you please test this on your machine with modified patch of
> files/libksba-1.3.0-aix.patch removing the hunk for asn1-parse.y leaving
> only the hunk for asn1-parse.c?

I've tested on my ~amd64 machine, same problem. only apply the ans1-parse.c part of the patch does not work


------------------------------------8<----------------------------
libtool: link: x86_64-pc-linux-gnu-ar cru .libs/libgnu.a .libs/dummyobj.o 
libtool: link: x86_64-pc-linux-gnu-ranlib .libs/libgnu.a
libtool: link: ( cd ".libs" && rm -f "libgnu.la" && ln -s "../libgnu.la" "libgnu.la" )
make[3]: Leaving directory '/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0_build/gl'
make[2]: Leaving directory '/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0_build/gl'
Making all in src
make[2]: Entering directory '/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0_build/src'
test -f asn1-parse.c || /bin/sh /var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0/ylwrap /var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0/src/asn1-parse.y y.tab.c asn1-parse.c y.tab.h asn1-parse.h y.output asn1-parse.output -- yacc  
/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0/ylwrap: line 110: yacc: command not found
Makefile:685: recipe for target 'asn1-parse.c' failed
make[2]: *** [asn1-parse.c] Error 1
make[2]: Leaving directory '/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0_build/src'
Makefile:374: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0_build'
Makefile:305: recipe for target 'all' failed
make: *** [all] Error 2
 * ERROR: dev-libs/libksba-1.3.0::gentoo failed (compile phase):
Comment 4 Yixun Lan archtester gentoo-dev 2014-01-02 02:21:06 UTC
> '/var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0_build/src'
> test -f asn1-parse.c || /bin/sh
> /var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0/ylwrap
> /var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0/src/asn1-parse.y
> y.tab.c asn1-parse.c y.tab.h asn1-parse.h y.output asn1-parse.output -- yacc
> 
> /var/tmp/portage/dev-libs/libksba-1.3.0/work/libksba-1.3.0/ylwrap: line 110:
> yacc: command not found
Ok, I think I found the problem. autotools-utils.eclass compile the source code in separate directory by default (here ${WORKDIR}/libksba-1.3.0_build/)
so check file asn1-parse.c will fail.
"test -f asn1-parse.c" -> fail here, so it fail back to build with yacc..

simple fix would be making build code in source, otherwise fix build script of libksba

--- a/dev-libs/libksba/libksba-1.3.0.ebuild  2013-12-05 21:01:10.000000000 +0800
+++ b/dev-libs/libksba/libksba-1.3.0.ebuild        2014-01-02 10:09:24.418000000 +0800
@@ -4,6 +4,7 @@
 
 EAPI="4"
 
+AUTOTOOLS_IN_SOURCE_BUILD=1
 inherit autotools-utils
 
 DESCRIPTION="X.509 and CMS (PKCS#7) library"
Comment 5 Alon Bar-Lev (RETIRED) gentoo-dev 2014-02-15 23:43:08 UTC
thanks!