UEForce
UEForce

Reputation: 71

cmake cannot resolve local path when I using remote toolchain on CLion 2020.3

/usr/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/usr/bin/make -DCMAKE_C_COMPILER=/usr/lib/llvm/11/bin/clang -DCMAKE_CXX_COMPILER=/usr/lib/llvm/11/bin/clang++ -G "CodeBlocks - Unix Makefiles" /home/a_user_name/CLion_Programmes/VM_D
-- Configuring done
-- Generating done
-- Build files have been written to: /home/a_user_name/CLion_Programmes/VM_D/cmake-build-debug
Cannot resolve path: D:\MyProgrammes\CL\VM_D\cmake-build-debug
[Failed to reload]

Client : Windows 10 20H2
Host : Gentoo Linux on Hyper-V
connect via openssh
When I set up my environment I used this :
https://www.jetbrains.com/help/clion/remote-projects-support.html\
thanks for help :)

Upvotes: 4

Views: 1288

Answers (1)

Max
Max

Reputation: 680

It seems that there is a problem with the tar file creation on the server. Are there any error messages in the FileTransfer window? Can you check if the tar files were created in your /tmp folder?

I was using a tar wrapper as described in https://youtrack.jetbrains.com/issue/CPP-17421#focus=Comments-27-4040675.0-0 and it was not working with the current version, so no tar file was created which resulted in that error message.

I fixed the tar wrapper as follows:

#!/bin/bash

# Uncomment this line to get details about files beeing transfered
#TAR_LOGFILE=~/.clion_tar_calls.txt

redirect_cmd() {
    if [[ ! -z ${TAR_LOGFILE} ]]; then
        echo "Executing tar: $@" >> ${TAR_LOGFILE}
        "$@" >> ${TAR_LOGFILE}
    else
        "$@" > /dev/null
    fi
}

if [[ ! -z ${TAR_LOGFILE} ]]; then
    echo "`date` Called tar at $PWD with parameters: $@" >> ${TAR_LOGFILE}
    if [[ "$*" == *--files-from* ]]; then
        files=$(echo "$@" | sed 's/.*--files-from=\([^[:space:]]*\).*/\1/')
        cat ${files} >> ${TAR_LOGFILE}
    fi
fi

if [[ $PWD =~ cmake-build- ]]; then
    excludes=('--exclude=*.o' '--exclude=*.gcno' '--exclude=*.gcda' '--exclude=*.a' '--exclude=bin' '--exclude=lib')

    first="$1"
    shift
    file="$1"
    shift
    redirect_cmd exec /bin/tar "$first" "$file" "${excludes[@]}" "$@" --verbose
else
    exec /bin/tar "$@"
fi

Upvotes: 0

Related Questions