Sysprogs forums › Forums › VisualGDB › Synchronize sysroot stopped working
- This topic has 6 replies, 2 voices, and was last updated 5 years, 10 months ago by Jensa.
-
AuthorPosts
-
February 7, 2019 at 13:55 #23753JensaParticipant
Hi,
The synchronize sysroot seems to have broken with the last release (build 2753). I haven’t yet gotten around to building the new synchronization application and since we do not have gcc etc on the target it doesn’t work automatically.
However not even the old system seems to work anymore when it’s a busybox based target. It fails to copy anything and I get the following output due to xargs missing the –d flag:
Using slow synchronization engine 'file-by-file' Stderr line received 'xargs: invalid option -- 'd'' Stderr line received 'BusyBox v1.24.1 (2019-01-22 14:14:26 CET) multi-call binary.' Stderr line received '' Stderr line received 'Usage: xargs [OPTIONS] [PROG ARGS]'
Regards
JensFebruary 9, 2019 at 05:26 #23786supportKeymasterHi,
Thanks for reporting this. We have added support for detecting busybox and using a different command line in the following build: http://sysprogs.com/files/tmp/VisualGDB-5.4.100.2792.msi
BTW, installing SysprogsSync to the target should be very straight-forward (see this page). It’s just one C++ file, so you can simply build it with the cross-compiler and deploy it to /usr/bin. That will significantly increase synchronization performance compared to file-by-file mode.
February 11, 2019 at 16:17 #23809JensaParticipantHi,
I tried it again with that version and got a different error this time:
Using slow synchronization engine 'file-by-file' Stderr line received 'xargs: invalid option -- '0'' Stderr line received 'BusyBox v1.24.1 (2019-01-22 14:14:26 CET) multi-call binary.' Stderr line received '' Stderr line received 'Usage: xargs [OPTIONS] [PROG ARGS]'
February 13, 2019 at 06:38 #23827supportKeymasterThanks for the update. Looks like the busybox version on your target is more limited than one we tested.
The problem happens because VisualGDB tries to run the following command line in order to list all files in a certain directory:
find . -maxdepth 1 -print0 | xargs -0 stat -c "StatEntryL:|%N|%Y|%d|%s|%f"
It uses the ‘-0’ option so that xargs won’t get confused if some of the file names have spaces. We have tested this on busybox 1.27.2 and it did work, so if possible, please try updating the busybox version on your target. If this is not possible, please try running ‘xargs –help’ on your target and share the output so that we can try to find a command line that will work on your target.
February 13, 2019 at 16:31 #23839JensaParticipantUnfortunately ‘xargs –help’ doesn’t return anything other than:
BusyBox v1.24.1 (2019-02-12 12:52:35 CET) multi-call binary. Usage: xargs [OPTIONS] [PROG ARGS]
We’re not able to update busybox for this target but I at least managed to build the SysprogsSync using our old toolchain and it was compatible enough to be able to run with it and sync so we can use that as a workaround for now.
February 15, 2019 at 05:02 #23866supportKeymasterGood to know you got the regular SysprogsSync to work. This is the recommended way as it’s much faster than generating temporary scripts using command-line tools.
Either way, we have added another check for the “xargs -0” option, so if it’s not supported, VisualGDB will fall back to the regular xargs syntax.
Please feel free to try this build: VisualGDB-5.4.103.2811.msi
February 15, 2019 at 13:34 #23873 -
AuthorPosts
- You must be logged in to reply to this topic.