Cannot install kmymoney4 due to gwenhywfar4 failure on Big Sur
Ryan Schmidt
ryandesign at macports.org
Sat Dec 5 02:30:35 UTC 2020
On Dec 4, 2020, at 20:27, Jeffrey Walton wrote:
> On Fri, Dec 4, 2020 at 9:26 PM Ryan Schmidt wrote:
>
>> On Dec 4, 2020, at 20:24, Jeffrey Walton wrote:
>>
>>> On Fri, Dec 4, 2020 at 8:53 PM Timothy Allison wrote:
>>>>
>>>> I have been using kmymoney on my Macs for many years now. I stupidly upgraded to Big Sur a month ago, and have been paying the price with kmymoney4 for about a month.
>>>> Now that qt4 installs, kmymoney4 fails because gwenhywfar4 fails to build. The log file contains 3 errors:
>>>> :info:build libtest.m:57:2: error: implicit declaration of function 'test1' is invalid in C99 [-Werror,-Wimplicit-function-declaration]:info:build test1();:info:build ^:info:build libtest.m:88:6: error: implicit declaration of function 'Cocoa_Gui_new' is invalid in C99 [-Werror,-Wimplicit-function-declaration]:info:build gui=Cocoa_Gui_new();:info:build ^:info:build libtest.m:88:5: warning: incompatible integer to pointer conversion assigning to 'GWEN_GUI *' (aka 'struct GWEN_GUI *') from 'int' [-Wint-conversion]:info:build gui=Cocoa_Gui_new();:info:build ^~~~~~~~~~~~~~~~:info:build libtest.m:93:6: error: implicit declaration of function 'Dlg_Test1_new' is invalid in C99 [-Werror,-Wimplicit-function-declaration]:info:build dlg=Dlg_Test1_new();:info:build ^
>>>>
>>>> Unlike qt4-mac, I haven’t found any MacPorts tickets on this issue. Is there a workaround? I’d really like to go back to kmymoney, and a month is a long time to wait.
>>>
>>> After you configure, run the following script before running make.
>>>
>>> IFS="" find "./" -iname 'Makefile' -print | while read -r file
>>> do
>>>
>>> touch -a -m -r "$file" "$file.timestamp"
>>> chmod a+w "$file"
>>> sed -e "s/-Werror//g" "$file" > "$file.fixed" && \
>>> mv "$file.fixed" "$file"
>>>
>>> chmod a-w "$file"
>>> touch -a -m -r "$file.timestamp" "$file"
>>> rm "$file.timestamp"
>>> done
>>
>> Dunno what you're suggesting here, but it's not the correct fix.
>
> The script above removes the DoS the user is currently suffering.
It looks like the script removes "-Werror" from any Makefile. The problem the user is experiencing is not the result of any "-Werror" in any Makefile; rather, it is the result of the fact that Apple changed implicit declaration of functions from a warning to an error in Xcode 12. The fix is not to attempt to turn the error back into a warning again. The fix is to define functions before you use them.
More information about the macports-users
mailing list