Just registered to chime in as I happened to be running into this myself and had thought it might be a quirk from compiling/running with MacOSX. I haven't done much digging into it, and when I get a chance I'll try the debug backtrace mentioned already. I can also confirm that on my system the problem arises between 4.9.2 and 4.10.0 releases.
In case it might be useful to those more familiar with the code, a few crude tests by way of re-building seem to isolate the problem to setting '--enable-icarus' during configuration. That is, including all of the non-standalone drivers minus icarus seems to have a functioning write_config on my system. So do not think this is something to do with all parsing/writing for settings, but may be specific to one or more introduced with icarus support.
Sounds feasible. It's likely to be missing save for the options added to icarus post 4.9.2In case it might be useful to those more familiar with the code, a few crude tests by way of re-building seem to isolate the problem to setting '--enable-icarus' during configuration. That is, including all of the non-standalone drivers minus icarus seems to have a functioning write_config on my system. So do not think this is something to do with all parsing/writing for settings, but may be specific to one or more introduced with icarus support.
Hmm, I think I found it after that suggestion - it looks like a line is needed in the write_config of cgminer.c for the newly introduced 'set_float_100_500', such as at L5459:
if (opt->type & OPT_HASARG &&
((void *)opt->cb_arg == (void *)set_float_125_to_500 ||
(void *)opt->cb_arg == (void *)set_float_100_to_500 ||
(void *)opt->cb_arg == (void *)set_float_100_to_250)) {
fprintf(fcfg, ",\n\"%s\" : \"%.1f\"", p+2, *(float *)opt->u.arg);
continue;
}
This was necessitated upon expanding the Compac GekkoScience frequency range here: https://github.com/ckolivas/cgminer/commit/702b37007caa9605d3adabf646f8df47fe86e83c
Making that change now has config writing when setting '--enable-icarus' during configuation for me.