mail/filtermail fails to build with 13.0-CURRENT

Jung-uk Kim jkim at FreeBSD.org
Mon Jun 29 20:43:34 UTC 2020


On 20. 6. 27., Dimitry Andric wrote:
> On 27 Jun 2020, at 17:56, Mike Clarke <jmc-freebsd2 at milibyte.co.uk> wrote:
>> As someone with very little experience with C++ I'd welcome advice on how to fix this for 13.0-
>> CURRENT. It builds without problem on 12.1-RELEASE
> ...
>> rcfile.ll:151:14: error: no viable overloaded '='
>>        yyin = new ifstream (sub_file.c_str ());
>>        ~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> This appears to be caused by a recent update to contrib/flex from 2.5.37 (7 years old) to 2.6.4, in r362333, where upstream changed yyin and yyout from pointers to references:
> 
> https://github.com/westes/flex/commit/336a1deaa57975f34cd732d656d1c0cbe3d5233a
> 
> Unfortunately this can break existing .ll files. They will have to be patched, but this is made more difficult by having the new version of flex in 13-CURRENT.

I just checked the upstream and it seems the problem does not exist any
more after this commit.

https://sourceforge.net/p/mailfilter/code/ci/52e08609da8133e2cc0acd1961ebc1e1537f0c54

Most applications should have similar fixes because all major Linux
distros are using Flex 2.6 now.  If you are maintaining such
applications, you should update the ports, add devel/flex to
BUILD_DEPENDS, and set FLEX=${LOCALBASE}/bin/flex for releng/stable
branches.

In fact, I've waited long enough (3.5 years) to not break existing
ports.  I thought we should be fine by now but I guess I was wrong. :-(

Please let me know if you need any help.

Jung-uk Kim


More information about the freebsd-ports mailing list