MantisBT - CMake | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0014141 | CMake | CMake | public | 2013-05-14 20:12 | 2016-06-10 14:31 |
Reporter | Craig Scott | ||||
Assigned To | Kitware Robot | ||||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | moved | ||
Platform | Linux 64-bit | OS | Fedora | OS Version | 16 |
Product Version | CMake 2.8.10.1 | ||||
Target Version | Fixed in Version | ||||
Summary | 0014141: file(UPLOAD ....) fails with scp protocol using keys | ||||
Description | When using the file(UPLOAD .....) command with a destination url which specifies the scp protocol, it fails with an ambiguous error message. I've attached a small example script which triggers the problem for me every time, but the important line is one like this: file(UPLOAD someFileToUpload.txt scp://myusername@somehost.somedomain/~/ TIMEOUT 5 INACTIVITY_TIMEOUT 10 STATUS uploadResult LOG uploadLog SHOW_PROGRESS ) An example of the output follows: About to connect() to somehost.somedomain port 22 (#0) Trying 192.168.1.3... connected Connected to somehost.somedomain (192.168.1.3) port 22 (#0) SSH authentication methods available: publickey Using ssh public key file /home/myusername/.ssh/id_dsa.pub Using ssh private key file /home/myusername/.ssh/id_dsa Initialized SSH public key authentication Authentication complete SSH CONNECT phase done failed waiting for ACK Connection #0 to host somehost.somedomain left intact Error in the SSH layer Closing connection #0 The "failed waiting for ACK" error is pretty non-specific. A quick bit of googling suggests that this is a fairly generic error which could have various causes, but since no further information is provided and there's nothing in the logs on the server after authentication succeeds, I can't get any more info on what the underlying problem is. I've tried various combinations of host names and target directory paths, but always the same problem. Removing the username part from the url leads to authentication failure (as you'd expect). Using the sftp:// protocol fails as well, with the "failed waiting for ACK" message replaced with: Upload failed: Operation failed (4/-31) If you try the exact same scp operation using curl at the command line, it succeeds. CMake is using libcurl under the covers and when I built cmake, I told it to use the system-supplied libcurl. This suggests that CMake is doing something wrong with how it is passing information to libcurl since the same operation when performed at the command line with curl directly works fine. | ||||
Steps To Reproduce | 1. Ensure private/public keys are set up and working (test with ssh at a command line). 2. Process the attached file with cmake using a command like the following: cmake -P uploadFails.cmake NOTE: You could also embed similar commands in a real CMakeLists.txt file, but you get similar results. 3. Confirm that the equivalent operation can be performed successfully using curl at the command line. Eg: curl -v -T uploadFails.cmake scp://myusername@somehost.somedomain/~/ | ||||
Additional Information | |||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | ![]() https://public.kitware.com/Bug/file/4760/uploadFails.cmake | ||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2013-05-14 20:12 | Craig Scott | New Issue | |||
2013-05-14 20:12 | Craig Scott | File Added: uploadFails.cmake | |||
2013-05-14 20:15 | Craig Scott | Note Added: 0033037 | |||
2013-05-15 02:19 | Rolf Eike Beer | Note Added: 0033038 | |||
2013-05-15 02:33 | Craig Scott | Note Added: 0033039 | |||
2016-06-10 14:28 | Kitware Robot | Note Added: 0042279 | |||
2016-06-10 14:28 | Kitware Robot | Status | new => resolved | ||
2016-06-10 14:28 | Kitware Robot | Resolution | open => moved | ||
2016-06-10 14:28 | Kitware Robot | Assigned To | => Kitware Robot | ||
2016-06-10 14:31 | Kitware Robot | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|