Code::Blocks

User forums => Help => Topic started by: gd_on on April 24, 2019, 11:14:09 am

Title: svn 11652 problem
Post by: gd_on on April 24, 2019, 11:14:09 am
I tried to update my CB from svn 11649 to 11652, on Windows.
Build (even a full rebuild), is OK but when I launch CB it crashes with an error message : cannot start error (0xc000007b).
If I come back to svn 11649, all is OK again.
By looking inside the CB folder, I see that 4 dlls (dbghelp, exchndl, mgwhelp and symsrv) are different. Apparently, in svn 11652 they are 32 bits version though, in my case they should be 64 bits.
If I replace them with the ones found in my svn 11649, it's OK.
To build CB, i have used the new update31_64.bat which calls update.bat. Nevertheless, it seems that CB_HANDLER_DIR has not been set correctly.
gd_on
Title: Re: svn 11652 problem
Post by: Miguel Gimenez on April 24, 2019, 11:51:28 am
Works here, may be "find" is not found?

Can you modify update.bat adding

Code: [Select]
set CB_HANDLER_DIR
GOTO:EOF

after

Code: [Select]
set %i% | find "_64" > nul && set CB_HANDLER_DIR=exchndl\win64\bin

and report the result when executing update31_64.bat? (nothing will be done apart from printing the crash handlers' path)

You can test also (should print OK)

Code: [Select]
echo 31_64 | find "_64" && echo OK || echo FAIL
and (should print FAIL)

Code: [Select]
echo 31 | find "_64" && echo OK || echo FAIL
Title: [Solved] Re: svn 11652 problem
Post by: gd_on on April 24, 2019, 12:37:12 pm
OK. Path indicated is the win32 one !
Nevertheless, I solved the problem.
It is because I have some unix like executables installed in C:\Utilities_Msys-Unix and there is a find.exe in it which has not the same syntax than the Windows one. This unix-like find.exe is found in my path before the Windows one (this is necessary for, at least, my script to extract strings in CB for translation in French). If I restore the C:\Windows\System32 before the unix one in my path, it's OK.
Thanks for your help.
gd_on
Title: Re: svn 11652 problem
Post by: Miguel Gimenez on April 24, 2019, 01:48:10 pm
Well, to prevent this kind of conflicts the find part can be changed to:

Code: [Select]
set TARGET=%1%
set TARGET_CUT=%TARGET:_64=%
if NOT "%TARGET%" == "" if NOT "%TARGET%" == "%TARGET_CUT%" set CB_HANDLER_DIR=exchndl\win64\bin

EDIT: patch attached to ticket 819, https://sourceforge.net/p/codeblocks/tickets/819/ (https://sourceforge.net/p/codeblocks/tickets/819/)
Title: Re: svn 11652 problem
Post by: oBFusCATed on April 24, 2019, 09:55:48 pm
All patches related to update* are in svn.