On 2020-Jul-8, at 20:35, Yuri Pankov <yuripv at yuripv.dev> wrote: > Mark Millard wrote: >> This seems to have broken doing buildworld buildkernel and >> other things using make: >> make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 197: warning: String comparison operator should be either == or != >> make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 197: warning: String comparison operator should be either == or != >> . . . >> make[3]: "/usr/src/share/mk/bsd.sys.mk" line 100: warning: String comparison operator should be either == or != >> . . . >> make[3]: "/usr/src/share/mk/bsd.sys.mk" line 81: warning: String comparison operator should be either == or != >> . . . >> Using -d c shows the likes of: >> . . . >> lhs = "clang", rhs = "clang", op = == >> lhs = "${${:UCOMPILER_TYPE}__${${:U${_empty_var_}}_cc_hash}}", rhs = "gcc", op = == >> make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 197: warning: String comparison operator should be either == or != >> lhs = "clang", rhs = "clang", op = == >> lhs = "LD", rhs = "LD", op = == >> . . . >> left = 6.000000, right = 2.000000, op = <= >> left = 6.000000, right = 1.000000, op = <= >> lhs = "${${:UCOMPILER_TYPE}__${${:U${_empty_var_}}_cc_hash}}", rhs = "clang", op = == >> make[3]: "/usr/src/share/mk/bsd.sys.mk" line 100: warning: String comparison operator should be either == or != >> lhs = "${${:UCOMPILER_TYPE}__${${:U${_empty_var_}}_cc_hash}}", rhs = "gcc", op = == >> lhs = "clang", rhs = "gcc", op = == >> . . . >> left = 0.000000, right = 6.000000, op = <= >> left = 0.000000, right = 3.000000, op = <= >> lhs = "clang", rhs = "gcc", op = == >> make[3]: "/usr/src/share/mk/bsd.sys.mk" line 81: warning: String comparison operator should be either == or != >> lhs = "clang", rhs = "clang", op = == >> left = 100001.000000, right = 70000.000000, op = >= >> lhs = "amd64", rhs = "arm", op = == >> (Now I just need to figure out how to get back to a working context.) > > For me, buildworld/buildkernel produced only warnings, But, looking at the code in bmake, the expression is also evaluated differently/incorrectly when it is classified as having the problem of having a incorrect operator. In other words: the behavior in make changes via misevaluated expressions. > though the one in ports is real issue: > > $ make config > make: "/usr/ports/Mk/bsd.port.mk" line 2096: warning: String comparison operator should be either == or != > make: "/usr/ports/Mk/bsd.port.mk" line 2096: Malformed conditional (defined(MAKE_JOBS_NUMBER_LIMIT) && ( ${MAKE_JOBS_NUMBER_LIMIT} < ${_MAKE_JOBS_NUMBER} )) > make: Fatal errors encountered -- cannot continue > make: stopped in /usr/ports/devel/subversion Not the only "real issue", I'm afraid. === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)Received on Thu Jul 09 2020 - 02:07:11 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:24 UTC