[FFmpeg-trac] #7310(build system:new): configure broken with GNU sed version 4.1.5
FFmpeg
trac at avcodec.org
Thu Nov 22 19:47:02 EET 2018
#7310: configure broken with GNU sed version 4.1.5
-------------------------------------+-------------------------------------
Reporter: cehoyos | Owner:
Type: defect | Status: new
Priority: important | Component: build
Version: git-master | system
Keywords: regression | Resolution:
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
Comment (by michael.kostylev):
If a user cannot replace sed or does not want to patch configure, then one
can override stat("usr/xpg4/bin/sed",...)" via LD_PRELOAD. Obviously, this
is overkill, but it works. Probably, the LD_PRELOAD trick would be more
useful when a user cannot replace (broken) /bin/sh to run the FATE
scripts.
Going back to sed. Can someone test the following:
{{{
% for sed in $(which -a sed) ; do echo "$sed:" ; for expr in av_AV av_AZ1
avx_z2 avfrc_b34 aaaaaa_X5 avsin_Abc_09 ; do echo 'extern AVFilter
ff_'$expr';' | $sed -n 's/^extern AVFilter
ff_[avfsinkrc]\{2,5\}_\([a-zA-Z0-9_]\{1,\}\);/\1_filter/p' ; done ; echo ;
done
}}}
The output should be like this:
{{{
/usr/xpg4/bin/sed:
AV_filter
AZ1_filter
b34_filter
Abc_09_filter
/opt/csw/gnu/sed:
AV_filter
AZ1_filter
b34_filter
Abc_09_filter
/usr/bin/sed:
AV_filter
AZ1_filter
b34_filter
Abc_09_filter
}}}
In that case we can replace the first ERE with the BRE:
{{{
- sed -E -n "s/^extern AVFilter
ff_([avfsinkrc]{2,5})_([a-zA-Z0-9_]+);/\2_filter/p" $file
+ sed -n "s/^extern AVFilter
ff_[avfsinkrc]\{2,5\}_\([a-zA-Z0-9_]\{1,\}\);/\1_filter/p" $file
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7310#comment:7>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list