Synchronize sysroot stopped working

Sysprogs forums Forums VisualGDB Synchronize sysroot stopped working

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #23753
    Jensa
    Participant

    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
    Jens

    #23786
    support
    Keymaster

    Hi,

    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.

    #23809
    Jensa
    Participant

    Hi,

    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]'
    
    #23827
    support
    Keymaster

    Thanks 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.

    #23839
    Jensa
    Participant

    Unfortunately ‘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.

    #23866
    support
    Keymaster

    Good 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

    #23873
    Jensa
    Participant

    Thanks,

    I can confirm that it indeed works again with that build.

    • This reply was modified 5 years, 9 months ago by Jensa.
Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.