GNU bug report logs -
#54390
YACC rules don't check DESTDIR existence for VPATH builds
Previous Next
To reply to this bug, email your comments to 54390 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-automake <at> gnu.org
:
bug#54390
; Package
automake
.
(Mon, 14 Mar 2022 17:35:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Sam James <sam <at> gentoo.org>
:
New bug report received and forwarded. Copy sent to
bug-automake <at> gnu.org
.
(Mon, 14 Mar 2022 17:35:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi,
It appears that YACC rules don't check for whether the destination directory exists before executing ylwrap.
When trying to package libaacs (https://code.videolan.org/videolan/libaacs) with an out-of-source build, I hit an unexpected build failure:
```
/var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/src/file/keydbcfg-parser.y: warning: fix-its can be applied. Rerun with option '--update'. [-Wother]
/var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/build-aux/ylwrap: 206: cannot create ../src/file/keydbcfg-parser.c: Directory nonexistent
updating src/file/keydbcfg-parser.h
mv: cannot move 'tmp-keydbcfg-parser.h' to '../src/file/keydbcfg-parser.h': No such file or directory
make: *** [Makefile:1150: src/file/keydbcfg-parser.c] Error 2
```
I can workaround this by running `mkdir -p ${BUILD_DIR}/src/file` to ensure that the necessary directory exists within the build directory beforehand, but
it feels like I shouldn't have to.
Their Makefile.am can be found here: https://code.videolan.org/videolan/libaacs/-/blob/master/Makefile.am. Snippet:
```
libaacs_la_SOURCES=\
src/libaacs/aacs.h \
[...]
src/file/dirs.h \
src/file/file.h \
src/file/file.c \
src/file/filesystem.h \
src/file/filesystem.c \
src/file/keydbcfg.c \
src/file/keydbcfg.h \
src/file/keydb.h \
src/file/keydbcfg-parser.y \
src/file/keydbcfg-lexer.l \
src/file/mmc_device.h \
[...]
```
While src/libaacs exists within the build dir, src/file/ doesn't exist at all, hence the failure.
automake yacc rules should mkdir -p the needed directories within the build dir for VPATH builds before running ylwrap/yacc.
Best,
sam
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-automake <at> gnu.org
:
bug#54390
; Package
automake
.
(Fri, 13 Jan 2023 06:15:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 54390 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 14 Mar 2022 17:21, Sam James wrote:
> It appears that YACC rules don't check for whether the destination directory exists before executing ylwrap.
>
> When trying to package libaacs (https://code.videolan.org/videolan/libaacs) with an out-of-source build, I hit an unexpected build failure:
> ```
> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/src/file/keydbcfg-parser.y: warning: fix-its can be applied. Rerun with option '--update'. [-Wother]
> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/build-aux/ylwrap: 206: cannot create ../src/file/keydbcfg-parser.c: Directory nonexistent
> updating src/file/keydbcfg-parser.h
> mv: cannot move 'tmp-keydbcfg-parser.h' to '../src/file/keydbcfg-parser.h': No such file or directory
> make: *** [Makefile:1150: src/file/keydbcfg-parser.c] Error 2
> ```
>
> I can workaround this by running `mkdir -p ${BUILD_DIR}/src/file` to ensure that the necessary directory exists within the build directory beforehand, but
> it feels like I shouldn't have to.
>
> Their Makefile.am can be found here: https://code.videolan.org/videolan/libaacs/-/blob/master/Makefile.am. Snippet:
> ```
> libaacs_la_SOURCES=\
> src/libaacs/aacs.h \
> [...]
> src/file/dirs.h \
> src/file/file.h \
> src/file/file.c \
> src/file/filesystem.h \
> src/file/filesystem.c \
> src/file/keydbcfg.c \
> src/file/keydbcfg.h \
> src/file/keydb.h \
> src/file/keydbcfg-parser.y \
> src/file/keydbcfg-lexer.l \
> src/file/mmc_device.h \
> [...]
> ```
>
> While src/libaacs exists within the build dir, src/file/ doesn't exist at all, hence the failure.
>
> automake yacc rules should mkdir -p the needed directories within the build dir for VPATH builds before running ylwrap/yacc.
i think there's more to it. if you're using a release tarball for this project
created by `make dist`, then you shouldn't be running yacc in the first place.
https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
> The intermediate files generated by yacc (or lex) will be included in any
> distribution that is made. That way the user doesn’t need to have yacc or lex.
cloning that repo and running `make dist` shows the file is generated, and it's
listed in am__DIST_COMMON, but it still doesn't make it into the tarball. oh,
it looks like this is self-inflicted:
https://code.videolan.org/videolan/libaacs/-/blob/0.11.1/Makefile.am#L88
https://code.videolan.org/videolan/libaacs/-/commit/f60f46da1dc5e87f70b6edc965a8909d3f21c247
that makes no sense. file a bug with them.
-mike
[signature.asc (application/pgp-signature, inline)]
Added tag(s) notabug.
Request was from
Mike Frysinger <vapier <at> gentoo.org>
to
control <at> debbugs.gnu.org
.
(Fri, 13 Jan 2023 06:15:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-automake <at> gnu.org
:
bug#54390
; Package
automake
.
(Fri, 13 Jan 2023 06:23:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 54390 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> On 13 Jan 2023, at 06:13, Mike Frysinger <vapier <at> gentoo.org> wrote:
>
> On 14 Mar 2022 17:21, Sam James wrote:
>> It appears that YACC rules don't check for whether the destination directory exists before executing ylwrap.
>>
>> When trying to package libaacs (https://code.videolan.org/videolan/libaacs) with an out-of-source build, I hit an unexpected build failure:
>> ```
>> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/src/file/keydbcfg-parser.y: warning: fix-its can be applied. Rerun with option '--update'. [-Wother]
>> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/build-aux/ylwrap: 206: cannot create ../src/file/keydbcfg-parser.c: Directory nonexistent
>> updating src/file/keydbcfg-parser.h
>> mv: cannot move 'tmp-keydbcfg-parser.h' to '../src/file/keydbcfg-parser.h': No such file or directory
>> make: *** [Makefile:1150: src/file/keydbcfg-parser.c] Error 2
>> ```
>>
>> I can workaround this by running `mkdir -p ${BUILD_DIR}/src/file` to ensure that the necessary directory exists within the build directory beforehand, but
>> it feels like I shouldn't have to.
>>
>> Their Makefile.am can be found here: https://code.videolan.org/videolan/libaacs/-/blob/master/Makefile.am. Snippet:
>> ```
>> libaacs_la_SOURCES=\
>> src/libaacs/aacs.h \
>> [...]
>> src/file/dirs.h \
>> src/file/file.h \
>> src/file/file.c \
>> src/file/filesystem.h \
>> src/file/filesystem.c \
>> src/file/keydbcfg.c \
>> src/file/keydbcfg.h \
>> src/file/keydb.h \
>> src/file/keydbcfg-parser.y \
>> src/file/keydbcfg-lexer.l \
>> src/file/mmc_device.h \
>> [...]
>> ```
>>
>> While src/libaacs exists within the build dir, src/file/ doesn't exist at all, hence the failure.
>>
>> automake yacc rules should mkdir -p the needed directories within the build dir for VPATH builds before running ylwrap/yacc.
>
> i think there's more to it. if you're using a release tarball for this project
> created by `make dist`, then you shouldn't be running yacc in the first place.
>
> https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
>> The intermediate files generated by yacc (or lex) will be included in any
>> distribution that is made. That way the user doesn’t need to have yacc or lex.
>
> cloning that repo and running `make dist` shows the file is generated, and it's
> listed in am__DIST_COMMON, but it still doesn't make it into the tarball. oh,
> it looks like this is self-inflicted:
> https://code.videolan.org/videolan/libaacs/-/blob/0.11.1/Makefile.am#L88
> https://code.videolan.org/videolan/libaacs/-/commit/f60f46da1dc5e87f70b6edc965a8909d3f21c247
>
> that makes no sense. file a bug with them.
Thanks - IIRC I hit this when running from git too, which is why I filed the bug, but that's definitely
wrong on their side anyway, and I can't say I want to bother trying to build it again from git.
I'll report it over there.
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-automake <at> gnu.org
:
bug#54390
; Package
automake
.
(Fri, 13 Jan 2023 06:31:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 54390 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> On 13 Jan 2023, at 06:13, Mike Frysinger <vapier <at> gentoo.org> wrote:
>
> On 14 Mar 2022 17:21, Sam James wrote:
>> It appears that YACC rules don't check for whether the destination directory exists before executing ylwrap.
>>
>> When trying to package libaacs (https://code.videolan.org/videolan/libaacs) with an out-of-source build, I hit an unexpected build failure:
>> ```
>> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/src/file/keydbcfg-parser.y: warning: fix-its can be applied. Rerun with option '--update'. [-Wother]
>> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/build-aux/ylwrap: 206: cannot create ../src/file/keydbcfg-parser.c: Directory nonexistent
>> updating src/file/keydbcfg-parser.h
>> mv: cannot move 'tmp-keydbcfg-parser.h' to '../src/file/keydbcfg-parser.h': No such file or directory
>> make: *** [Makefile:1150: src/file/keydbcfg-parser.c] Error 2
>> ```
>>
>> I can workaround this by running `mkdir -p ${BUILD_DIR}/src/file` to ensure that the necessary directory exists within the build directory beforehand, but
>> it feels like I shouldn't have to.
>>
>> Their Makefile.am can be found here: https://code.videolan.org/videolan/libaacs/-/blob/master/Makefile.am. Snippet:
>> ```
>> libaacs_la_SOURCES=\
>> src/libaacs/aacs.h \
>> [...]
>> src/file/dirs.h \
>> src/file/file.h \
>> src/file/file.c \
>> src/file/filesystem.h \
>> src/file/filesystem.c \
>> src/file/keydbcfg.c \
>> src/file/keydbcfg.h \
>> src/file/keydb.h \
>> src/file/keydbcfg-parser.y \
>> src/file/keydbcfg-lexer.l \
>> src/file/mmc_device.h \
>> [...]
>> ```
>>
>> While src/libaacs exists within the build dir, src/file/ doesn't exist at all, hence the failure.
>>
>> automake yacc rules should mkdir -p the needed directories within the build dir for VPATH builds before running ylwrap/yacc.
>
> i think there's more to it. if you're using a release tarball for this project
> created by `make dist`, then you shouldn't be running yacc in the first place.
>
> https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
Curiosity got the better of me (see previous reply) so:
```
$ cd /tmp
$ git clone https://code.videolan.org/videolan/libaacs/
$(cd libaacs && ./bootstrap.sh)
$mkdir libaacs-oos && cd libaacs
$ /tmp/libaacs/configure YACC=bison LEX=flex
$ make
$ make
YACC src/file/keydbcfg-parser.c
keydbcfg-parser.tab.c is unchanged
keydbcfg-parser.tab.h is unchanged
make[1]: Entering directory '/tmp/libaacs-oos'
YACC src/file/keydbcfg-parser.c
keydbcfg-parser.tab.c is unchanged
keydbcfg-parser.tab.h is unchanged
make[1]: Leaving directory '/tmp/libaacs-oos'
make all-am
make[1]: Entering directory '/tmp/libaacs-oos'
YACC src/file/keydbcfg-parser.c
keydbcfg-parser.tab.c is unchanged
keydbcfg-parser.tab.h is unchanged
CC src/file/keydbcfg-parser.lo
cc1: fatal error: src/file/keydbcfg-parser.c: No such file or directory
compilation terminated.
make[1]: *** [Makefile:1009: src/file/keydbcfg-parser.lo] Error 1
make[1]: Leaving directory '/tmp/libaacs-oos'
make: *** [Makefile:638: all] Error 2
```
so it's still looking in the source rather than the build directory for the generated file?
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-automake <at> gnu.org
:
bug#54390
; Package
automake
.
(Fri, 13 Jan 2023 07:03:01 GMT)
Full text and
rfc822 format available.
Message #19 received at 54390 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 13 Jan 2023 06:29, Sam James wrote:
> > On 13 Jan 2023, at 06:13, Mike Frysinger <vapier <at> gentoo.org> wrote:
> > On 14 Mar 2022 17:21, Sam James wrote:
> >> It appears that YACC rules don't check for whether the destination directory exists before executing ylwrap.
> >>
> >> When trying to package libaacs (https://code.videolan.org/videolan/libaacs) with an out-of-source build, I hit an unexpected build failure:
> >> ```
> >> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/src/file/keydbcfg-parser.y: warning: fix-its can be applied. Rerun with option '--update'. [-Wother]
> >> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/build-aux/ylwrap: 206: cannot create ../src/file/keydbcfg-parser.c: Directory nonexistent
> >> updating src/file/keydbcfg-parser.h
> >> mv: cannot move 'tmp-keydbcfg-parser.h' to '../src/file/keydbcfg-parser.h': No such file or directory
> >> make: *** [Makefile:1150: src/file/keydbcfg-parser.c] Error 2
> >> ```
> >>
> >> I can workaround this by running `mkdir -p ${BUILD_DIR}/src/file` to ensure that the necessary directory exists within the build directory beforehand, but
> >> it feels like I shouldn't have to.
> >>
> >> Their Makefile.am can be found here: https://code.videolan.org/videolan/libaacs/-/blob/master/Makefile.am. Snippet:
> >> ```
> >> libaacs_la_SOURCES=\
> >> src/libaacs/aacs.h \
> >> [...]
> >> src/file/dirs.h \
> >> src/file/file.h \
> >> src/file/file.c \
> >> src/file/filesystem.h \
> >> src/file/filesystem.c \
> >> src/file/keydbcfg.c \
> >> src/file/keydbcfg.h \
> >> src/file/keydb.h \
> >> src/file/keydbcfg-parser.y \
> >> src/file/keydbcfg-lexer.l \
> >> src/file/mmc_device.h \
> >> [...]
> >> ```
> >>
> >> While src/libaacs exists within the build dir, src/file/ doesn't exist at all, hence the failure.
> >>
> >> automake yacc rules should mkdir -p the needed directories within the build dir for VPATH builds before running ylwrap/yacc.
> >
> > i think there's more to it. if you're using a release tarball for this project
> > created by `make dist`, then you shouldn't be running yacc in the first place.
> >
> > https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
>
> Curiosity got the better of me (see previous reply) so:
> ```
> $ cd /tmp
> $ git clone https://code.videolan.org/videolan/libaacs/
> $(cd libaacs && ./bootstrap.sh)
> $mkdir libaacs-oos && cd libaacs
guessing you meant `cd libaacs-oos`
> $ /tmp/libaacs/configure YACC=bison LEX=flex
> $ make
> $ make
> YACC src/file/keydbcfg-parser.c
> keydbcfg-parser.tab.c is unchanged
> keydbcfg-parser.tab.h is unchanged
> make[1]: Entering directory '/tmp/libaacs-oos'
> YACC src/file/keydbcfg-parser.c
> keydbcfg-parser.tab.c is unchanged
> keydbcfg-parser.tab.h is unchanged
> make[1]: Leaving directory '/tmp/libaacs-oos'
> make all-am
> make[1]: Entering directory '/tmp/libaacs-oos'
> YACC src/file/keydbcfg-parser.c
> keydbcfg-parser.tab.c is unchanged
> keydbcfg-parser.tab.h is unchanged
> CC src/file/keydbcfg-parser.lo
> cc1: fatal error: src/file/keydbcfg-parser.c: No such file or directory
> compilation terminated.
> make[1]: *** [Makefile:1009: src/file/keydbcfg-parser.lo] Error 1
> make[1]: Leaving directory '/tmp/libaacs-oos'
> make: *** [Makefile:638: all] Error 2
> ```
>
> so it's still looking in the source rather than the build directory for the generated file?
i'm not sure what you're trying to show here. that running make twice in a
row produces weird/inconsistent results ? if that's the case, that's not
the behavior i'm seeing over here.
i'll note that the default configure+make works because dependency tracking
is enabled which prepopulates the directory tree. it's failing for you in
Gentoo because econf automatically adds --disable-dependency-tracking which
turns all that logic off, and the directory tree doesn't exist.
Automake is VPATH-ing the source file. we prob should change that to use an
explicit $(srcdir) prefix when nodist is not utilized. then it would always
write the generated .c/.h to the source tree.
-mike
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-automake <at> gnu.org
:
bug#54390
; Package
automake
.
(Fri, 13 Jan 2023 07:08:01 GMT)
Full text and
rfc822 format available.
Message #22 received at 54390 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> On 13 Jan 2023, at 07:01, Mike Frysinger <vapier <at> gentoo.org> wrote:
>
> On 13 Jan 2023 06:29, Sam James wrote:
>>> On 13 Jan 2023, at 06:13, Mike Frysinger <vapier <at> gentoo.org> wrote:
>>> On 14 Mar 2022 17:21, Sam James wrote:
>>>> It appears that YACC rules don't check for whether the destination directory exists before executing ylwrap.
>>>>
>>>> When trying to package libaacs (https://code.videolan.org/videolan/libaacs) with an out-of-source build, I hit an unexpected build failure:
>>>> ```
>>>> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/src/file/keydbcfg-parser.y: warning: fix-its can be applied. Rerun with option '--update'. [-Wother]
>>>> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/build-aux/ylwrap: 206: cannot create ../src/file/keydbcfg-parser.c: Directory nonexistent
>>>> updating src/file/keydbcfg-parser.h
>>>> mv: cannot move 'tmp-keydbcfg-parser.h' to '../src/file/keydbcfg-parser.h': No such file or directory
>>>> make: *** [Makefile:1150: src/file/keydbcfg-parser.c] Error 2
>>>> ```
>>>>
>>>> I can workaround this by running `mkdir -p ${BUILD_DIR}/src/file` to ensure that the necessary directory exists within the build directory beforehand, but
>>>> it feels like I shouldn't have to.
>>>>
>>>> Their Makefile.am can be found here: https://code.videolan.org/videolan/libaacs/-/blob/master/Makefile.am. Snippet:
>>>> ```
>>>> libaacs_la_SOURCES=\
>>>> src/libaacs/aacs.h \
>>>> [...]
>>>> src/file/dirs.h \
>>>> src/file/file.h \
>>>> src/file/file.c \
>>>> src/file/filesystem.h \
>>>> src/file/filesystem.c \
>>>> src/file/keydbcfg.c \
>>>> src/file/keydbcfg.h \
>>>> src/file/keydb.h \
>>>> src/file/keydbcfg-parser.y \
>>>> src/file/keydbcfg-lexer.l \
>>>> src/file/mmc_device.h \
>>>> [...]
>>>> ```
>>>>
>>>> While src/libaacs exists within the build dir, src/file/ doesn't exist at all, hence the failure.
>>>>
>>>> automake yacc rules should mkdir -p the needed directories within the build dir for VPATH builds before running ylwrap/yacc.
>>>
>>> i think there's more to it. if you're using a release tarball for this project
>>> created by `make dist`, then you shouldn't be running yacc in the first place.
>>>
>>> https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
>>
>> Curiosity got the better of me (see previous reply) so:
>> ```
>> $ cd /tmp
>> $ git clone https://code.videolan.org/videolan/libaacs/
>> $(cd libaacs && ./bootstrap.sh)
>> $mkdir libaacs-oos && cd libaacs
>
> guessing you meant `cd libaacs-oos`
>
>> $ /tmp/libaacs/configure YACC=bison LEX=flex
>> $ make
>> $ make
>> YACC src/file/keydbcfg-parser.c
>> keydbcfg-parser.tab.c is unchanged
>> keydbcfg-parser.tab.h is unchanged
>> make[1]: Entering directory '/tmp/libaacs-oos'
>> YACC src/file/keydbcfg-parser.c
>> keydbcfg-parser.tab.c is unchanged
>> keydbcfg-parser.tab.h is unchanged
>> make[1]: Leaving directory '/tmp/libaacs-oos'
>> make all-am
>> make[1]: Entering directory '/tmp/libaacs-oos'
>> YACC src/file/keydbcfg-parser.c
>> keydbcfg-parser.tab.c is unchanged
>> keydbcfg-parser.tab.h is unchanged
>> CC src/file/keydbcfg-parser.lo
>> cc1: fatal error: src/file/keydbcfg-parser.c: No such file or directory
>> compilation terminated.
>> make[1]: *** [Makefile:1009: src/file/keydbcfg-parser.lo] Error 1
>> make[1]: Leaving directory '/tmp/libaacs-oos'
>> make: *** [Makefile:638: all] Error 2
>> ```
>>
>> so it's still looking in the source rather than the build directory for the generated file?
>
> i'm not sure what you're trying to show here. that running make twice in a
> row produces weird/inconsistent results ? if that's the case, that's not
> the behavior i'm seeing over here.
>
No, that was just an error in copying stuff into email. It happens with running make once,
so it should be:
```
$ cd /tmp
$ git clone https://code.videolan.org/videolan/libaacs/
$ (cd libaacs && ./bootstrap)
$ mkdir libaacs-oos && cd libaacs-oos
$ /tmp/libaacs/configure YACC=bison LEX=flex
$ make
YACC src/file/keydbcfg-parser.c
updating keydbcfg-parser.tab.c
updating keydbcfg-parser.tab.h
make[1]: Entering directory '/tmp/libaacs-oos'
YACC src/file/keydbcfg-parser.c
keydbcfg-parser.tab.c is unchanged
keydbcfg-parser.tab.h is unchanged
make[1]: Leaving directory '/tmp/libaacs-oos'
LEX src/file/keydbcfg-lexer.c
make all-am
make[1]: Entering directory '/tmp/libaacs-oos'
CC src/examples/aacs_info-aacs_info.o
CC src/libaacs/aacs.lo
CC src/libaacs/cci.lo
CC src/libaacs/content_cert.lo
CC src/libaacs/crypto.lo
CC src/libaacs/mkb.lo
CC src/libaacs/mmc.lo
CC src/libaacs/unit_key.lo
CC src/file/file.lo
CC src/file/filesystem.lo
CC src/file/keydbcfg.lo
YACC src/file/keydbcfg-parser.c
keydbcfg-parser.tab.c is unchanged
keydbcfg-parser.tab.h is unchanged
CC src/file/keydbcfg-parser.lo
cc1: fatal error: src/file/keydbcfg-parser.c: No such file or directory
compilation terminated.
make[1]: *** [Makefile:1009: src/file/keydbcfg-parser.lo] Error 1
make[1]: Leaving directory '/tmp/libaacs-oos'
make: *** [Makefile:638: all] Error 2
```
You can't reproduce the build failure?
> i'll note that the default configure+make works because dependency tracking
> is enabled which prepopulates the directory tree. it's failing for you in
> Gentoo because econf automatically adds --disable-dependency-tracking which
> turns all that logic off, and the directory tree doesn't exist.
I'm not sure how that corresponds with when I run configure manually as above?
What am I missing, or am I misunderstanding?
Thanks.
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-automake <at> gnu.org
:
bug#54390
; Package
automake
.
(Fri, 13 Jan 2023 08:45:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 54390 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 13 Jan 2023 07:07, Sam James wrote:
> $ /tmp/libaacs/configure YACC=bison LEX=flex
the problem is you're forcing `YACC=bison`. Automake defaults to `bison -y`
which tells bison to operate in POSIX-yacc-compatible mode because Automake's
rules target POSIX. the end result is that you've forced a non-POSIX mode,
and bison is writing files to the cwd which is not what Automake expects.
it isn't that the src/file/ directory doesn't exist -- you can see from your
log that files have been generated in src/file/ before the failure.
-mike
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-automake <at> gnu.org
:
bug#54390
; Package
automake
.
(Fri, 13 Jan 2023 08:46:01 GMT)
Full text and
rfc822 format available.
Message #28 received at 54390 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> On 13 Jan 2023, at 08:43, Mike Frysinger <vapier <at> gentoo.org> wrote:
>
> On 13 Jan 2023 07:07, Sam James wrote:
>> $ /tmp/libaacs/configure YACC=bison LEX=flex
>
> the problem is you're forcing `YACC=bison`. Automake defaults to `bison -y`
> which tells bison to operate in POSIX-yacc-compatible mode because Automake's
> rules target POSIX. the end result is that you've forced a non-POSIX mode,
> and bison is writing files to the cwd which is not what Automake expects.
> it isn't that the src/file/ directory doesn't exist -- you can see from your
> log that files have been generated in src/file/ before the failure.
thanks, duh. That makes sense.
[signature.asc (application/pgp-signature, attachment)]
This bug report was last modified 2 years and 153 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.