ambs / Config-AutoConf

Config::AutoConf Perl Module
Other
2 stars 7 forks source link

Under Gentoo USE=test Config-AutoConf fails to detect executable FLEX #18

Open workspace-public opened 1 year ago

workspace-public commented 1 year ago

I understand that this should probably be given to the Gentoo developers and I am still researching solutions. All tests pass except one sub-test for FLEX when the associated use-flag enabling tests during builds, version 320

For perl I try to implement all modules with test and doc features enabled.

ambs commented 1 year ago

Not sure if I understand your comment correctly. The test fails with flex installed, or isn't flex in the system?

Probably it does not make much sense for a package manager to make flex as a dependency for this module. Thus, my suggestion would probably go for a custom adaptation of the module without that specific test.

thesamesam commented 1 year ago

Hi, I'm one of the Perl maintainers in Gentoo.

@Thelorik Are you saying that you're using a non-flex lex implementation (like reflex, or the original lex) and tests fail as a result? I guess that's two bugs, if so. The ebuild should depend on flex, but also, we should ask if Config-AutoConf is supposed to work with other lexes.

workspace-public commented 1 year ago

Sorry, just saw your notification. For awhile I was having build failures because Config-AutoConf would just randomly disappear from the build path. Configuring cpan or rebuilding the Config-AutoConf ebuild would fix the problem. To be clear I was being intentionally brutal on my use flag selection to see how far I could go with variations of example, doc, test, and debug enabled globally. I've found many weird behaviors that may or may not have arisen from being a hazard to my stage3. This probably needs to go somewhere else but nano should definitely not permit the debug flag to be easily set.

valcomm commented 1 year ago

I'm not doing anything at all with user flags. Compiled a new perl version (5.38.0) and while installing Config::AutoConf got:

# Check for some progs to get an overview about world outside
# Found AWK as /usr/bin/gawk
# Found SED as /bin/gsed
# Found EGREP as /bin/egrep
# Found YACC as /usr/bin/bison -y

#   Failed test 'flex is executable'
#   at t/01.checkprog.t line 108.
# Found LEX as flex
# Found PKG-CONFIG as /usr/bin/pkg-config
# Looks like you failed 1 test of 18.
t/01.checkprog.t .. 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/18 subtests 

full log

also

$ which flex
/usr/bin/flex
$ file /usr/bin/flex
/usr/bin/flex: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped

Doesn't look as a Gentoo issue, frankly speaking.

valcomm commented 1 year ago

Yep, I was right.

$ export LEX=/usr/bin/flex
$ cpanp
CPAN Terminal> t Config::AutoConf
...
t/00.load.t ....... ok
# Check for some progs to get an overview about world outside
# Found AWK as /usr/bin/gawk
# Found SED as /bin/gsed
# Found EGREP as /bin/egrep
# Found YACC as /usr/bin/bison -y
# Found LEX as /usr/bin/flex
# Found PKG-CONFIG as /usr/bin/pkg-config
t/01.checkprog.t .. ok
t/02.compile.t .... ok
t/03.link.t ....... ok
All tests successful.

...
Module 'Config::AutoConf' tested successfully

The issue is definitely within the module

workspace-public commented 11 months ago

This echoes my general experience with perl as an administrative user. Note that as a whole, CPAN is like the PerlMom. It doesn't matter how good your socks are at playing peek-a-boo, your mom shows up and there they are.