FreeRDP / FreeRDP-WebConnect

A gateway for seamless access to your RDP-Sessions in any HTML5-compliant browser
519 stars 1.62k forks source link

wsgate Compilation Error #116

Closed akashtalole closed 8 years ago

akashtalole commented 8 years ago

Hi ,

I've got a compilation issue with the latest master version

/root/FreeRDP-WebConnect/wsgate/RDP.cpp:632:82: error: no matching function for call to ‘web::json::value::parse(std::wstring&)’ web::json::value jsonValue = web::json::value::parse(infoJSON); ^ /root/FreeRDP-WebConnect/wsgate/RDP.cpp:632:82: note: candidates are: In file included from /root/FreeRDP-WebConnect/wsgate/RDP.cpp:33:0: /usr/include/casablanca/cpprest/json.h:410:42: note: static web::json::value web::json::value::parse(const string_t&) _ASYNCRTIMP static value cdecl parse(const utility::string_t &value); ^ /usr/include/casablanca/cpprest/json.h:410:42: note: no known conversion for argument 1 from ‘std::wstring {aka std::basic_string}’ to ‘const string_t& {aka const std::basic_string&}’ /usr/include/casablanca/cpprest/json.h:418:42: note: static web::json::value web::json::value::parse(const string_t&, std::error_code&) _ASYNCRTIMP static value cdecl parse(const utility::string_t &value, std::error_code &errorCode); ^ /usr/include/casablanca/cpprest/json.h:418:42: note: candidate expects 2 arguments, 1 provided /usr/include/casablanca/cpprest/json.h:438:42: note: static web::json::value web::json::value::parse(utility::istream_t&) _ASYNCRTIMP static value cdecl parse(utility::istream_t &input); ^ /usr/include/casablanca/cpprest/json.h:438:42: note: no known conversion for argument 1 from ‘std::wstring {aka std::basic_string}’ to ‘utility::istream_t& {aka std::basic_istream&}’ /usr/include/casablanca/cpprest/json.h:446:42: note: static web::json::value web::json::value::parse(utility::istream_t&, std::error_code&) _ASYNCRTIMP static value cdecl parse(utility::istream_t &input, std::error_code &errorCode); ^ /usr/include/casablanca/cpprest/json.h:446:42: note: candidate expects 2 arguments, 1 provided /root/FreeRDP-WebConnect/wsgate/RDP.cpp:633:60: warning: invalid conversion from ‘const wchart’ to ‘size_t {aka long unsigned int}’ [-fpermissive] std::wstring w_host = jsonValue[L"host"].as_string(); ^ In file included from /root/FreeRDP-WebConnect/wsgate/RDP.cpp:33:0: /usr/include/casablanca/cpprest/json.h:638:29: warning: initializing argument 1 of ‘web::json::value& web::json::value::operator’ [-fpermissive] _ASYNCRTIMP value & operator [](size_t index); ^ /root/FreeRDP-WebConnect/wsgate/RDP.cpp:633:72: error: conversion from ‘const string_t {aka const std::basic_string}’ to non-scalar type ‘std::wstring {aka std::basic_string}’ requested std::wstring w_host = jsonValue[L"host"].as_string(); ^ /root/FreeRDP-WebConnect/wsgate/RDP.cpp:634:59: warning: invalid conversion from ‘const wchart’ to ‘size_t {aka long unsigned int}’ [-fpermissive] std::wstring w_pcb = jsonValue[L"pcb"].as_string(); ^ In file included from /root/FreeRDP-WebConnect/wsgate/RDP.cpp:33:0: /usr/include/casablanca/cpprest/json.h:638:29: warning: initializing argument 1 of ‘web::json::value& web::json::value::operator’ [-fpermissive] _ASYNCRTIMP value & operator [](size_t index); ^ /root/FreeRDP-WebConnect/wsgate/RDP.cpp:634:71: error: conversion from ‘const string_t {aka const std::basic_string}’ to non-scalar type ‘std::wstring {aka std::basic_string}’ requested std::wstring w_pcb = jsonValue[L"pcb"].as_string(); ^ /root/FreeRDP-WebConnect/wsgate/RDP.cpp:635:60: warning: invalid conversion from ‘const wchart’ to ‘size_t {aka long unsigned int}’ [-fpermissive] std::wstring w_user = jsonValue[L"user"].as_string(); ^ In file included from /root/FreeRDP-WebConnect/wsgate/RDP.cpp:33:0: /usr/include/casablanca/cpprest/json.h:638:29: warning: initializing argument 1 of ‘web::json::value& web::json::value::operator’ [-fpermissive] _ASYNCRTIMP value & operator [](size_t index); ^ /root/FreeRDP-WebConnect/wsgate/RDP.cpp:635:72: error: conversion from ‘const string_t {aka const std::basic_string}’ to non-scalar type ‘std::wstring {aka std::basic_string}’ requested std::wstring w_user = jsonValue[L"user"].as_string(); ^ /root/FreeRDP-WebConnect/wsgate/RDP.cpp:636:60: warning: invalid conversion from ‘const wchart’ to ‘size_t {aka long unsigned int}’ [-fpermissive] std::wstring w_pass = jsonValue[L"pass"].as_string(); ^ In file included from /root/FreeRDP-WebConnect/wsgate/RDP.cpp:33:0: /usr/include/casablanca/cpprest/json.h:638:29: warning: initializing argument 1 of ‘web::json::value& web::json::value::operator’ [-fpermissive] _ASYNCRTIMP value & operator [](size_t index); ^ /root/FreeRDP-WebConnect/wsgate/RDP.cpp:636:72: error: conversion from ‘const string_t {aka const std::basic_string}’ to non-scalar type ‘std::wstring {aka std::basic_string}’ requested std::wstring w_pass = jsonValue[L"pass"].as_string(); ^ /root/FreeRDP-WebConnect/wsgate/RDP.cpp:637:64: warning: invalid conversion from ‘const wchar_t*’ to ‘size_t {aka long unsigned int}’ [-fpermissive] std::wstring w_dtsize = jsonValue[L"dtsize"].as_string(); ^ In file included from /root/FreeRDP-WebConnect/wsgate/RDP.cpp:33:0: /usr/include/casablanca/cpprest/json.h:638:29: warning: initializing argument 1 of ‘web::json::value& web::json::value::operator’ [-fpermissive] _ASYNCRTIMP value & operator [](size_t index); ^ /root/FreeRDP-WebConnect/wsgate/RDP.cpp:637:76: error: conversion from ‘const string_t {aka const std::basic_string}’ to non-scalar type ‘std::wstring {aka std::basic_string}’ requested std::wstring w_dtsize = jsonValue[L"dtsize"].as_string(); ^

make[2]: * [CMakeFiles/wsgate.dir/RDP.cpp.o] Error 1 make[1]: * [CMakeFiles/wsgate.dir/all] Error 2 make: *\ [all] Error 2 Hope you can fix this.......

c64cosmin commented 8 years ago

Hello, it seems that you are compiling for a Linux os. Those errors have been taken care of, but not merged yet, as we're still doing some tests. You can try my fork, on the branch "plugin" : https://github.com/c64cosmin/FreeRDP-WebConnect/tree/plugin

If you are using WebConnect inside OpenStack please tell me so I can guide you to make it work, as we did some changes on how OpenStack and WebConnect respond to the request.

akashtalole commented 8 years ago

Trying your fork now

akashtalole commented 8 years ago

After running wsgate , when trying to connect in browser gives error

[ERROR][com.winpr.sync.wait] - winpr_Handle_getFd did not return a fd! Segmentation fault (core dumped)

in /var/log/messages/

centos kernel: [187780.646209] wsgate[11511]: segfault at 168 ip 00007f0817f5ef6d sp 00007f0812458c00 error 4 in libfreerdp.so.2.0.0[7f0817ea1000+1bc000]

c64cosmin commented 8 years ago

@akashtalole If you can tell me more about how you configured wsgate via the .ini file, I might be able to help you. Though it seems that your problem is not from wsgate but from winpr ( part of FreeRDP library, it seems to be unable to get a handler). Please refer to the guys contributing to : https://github.com/FreeRDP/FreeRDP

akashtalole commented 8 years ago

I just bind my wsgate vm ip address in wsgate.ini file "bindaddr" and windows vm ip in "host " . Then in browser open wsgate_ip:8000/ . login page opens but when click on connect above error occurs and wsgate exits.Also Gives this error [ERROR][com.winpr.sync.wait] - winpr_Handle_getFd did not return a fd!

akashtalole commented 8 years ago

issue solved

Oliver-Luo commented 8 years ago

@akashtalole I got the same issue: [ERROR][com.winpr.sync.wait] - winpr_Handle_getFd did not return a fd! Any idea how to fix that? Thanks.