FreeRDP-WebConnect icon indicating copy to clipboard operation
FreeRDP-WebConnect copied to clipboard

Compilation fails on Ubuntu 12.04 LTS 64 bit (and on OpenSuse 13.1 as well)

Open mpibpc-mroose opened this issue 11 years ago • 5 comments

I tried to compile with the script provided and got this error:

[snip]
Running tests...
Test project /home/nanoadmin/prereqs/casablanca/Binaries/Release64
    Start 1: httpclient_test
1/8 Test #1: httpclient_test ..................   Passed   10.70 sec
    Start 2: httplistener_test
2/8 Test #2: httplistener_test ................   Passed    1.23 sec
    Start 3: json_test
3/8 Test #3: json_test ........................   Passed    0.05 sec
    Start 4: pplx_test
4/8 Test #4: pplx_test ........................   Passed    2.25 sec
    Start 5: asyncop_test
5/8 Test #5: asyncop_test .....................   Passed    4.13 sec
    Start 6: uri_test
6/8 Test #6: uri_test .........................   Passed    0.04 sec
    Start 7: utils_test
7/8 Test #7: utils_test .......................   Passed    0.04 sec
    Start 8: websocketclient_test
8/8 Test #8: websocketclient_test .............   Passed    0.62 sec

100% tests passed, 0 tests failed out of 8

Total Test time (real) =  19.08 sec
sudo available. Please enter your password to install casablanca: 
---- Going back to webconnect ----
~/FreeRDP-WebConnect
-- Could NOT find Java (missing:  Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE Java_JAVAC_EXECUTABLE Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE) 
-- Java executable not found. Files will not be compressed.
Include dir: 
OPENSSL INCLUDE DIR: /usr/include
PNG INCLUDE PATH: /usr/include
-- Strcasecmp has been redefined to strcasecmp
-- Try_compile pretty_func.c returned TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/nanoadmin/FreeRDP-WebConnect/wsgate/build
---- Building webconnect ----
[  5%] Built target bindhelper
[ 10%] Building CXX object CMakeFiles/wsgate.dir/wsgate_main.cpp.o
In file included from /home/nanoadmin/FreeRDP-WebConnect/wsgate/wsgate_main.cpp:80:0:
/home/nanoadmin/FreeRDP-WebConnect/wsgate/btexception.hpp:176:3: warning: #warning Neither libbfd nor libdwarf are available, so no backtracing enabled [-Wcpp]
 # warning Neither libbfd nor libdwarf are available, so no backtracing enabled
   ^
In file included from /usr/include/casablanca/pplx/pplx.h:63:0,
                 from /usr/include/casablanca/pplx/pplxtasks.h:33,
                 from /usr/include/casablanca/cpprest/asyncrt_utils.h:34,
                 from /usr/include/casablanca/cpprest/base_uri.h:36,
                 from /usr/include/casablanca/cpprest/uri.h:33,
                 from /home/nanoadmin/FreeRDP-WebConnect/wsgate/wsgate_main.cpp:45:
/usr/include/casablanca/compat/linux_compat.h:66:24: error: conflicting declaration âtypedef union _ULARGE_INTEGER uint64_tâ
 #define ULARGE_INTEGER uint64_t
                        ^
In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:9:0,
                 from /usr/include/c++/4.8/cstdint:41,
                 from /usr/include/c++/4.8/bits/char_traits.h:376,
                 from /usr/include/c++/4.8/string:40,
                 from /usr/include/ehs/formvalue.h:29,
                 from /usr/include/ehs/ehs.h:38,
                 from /home/nanoadmin/FreeRDP-WebConnect/wsgate/wsgate_main.cpp:28:
/usr/include/stdint.h:56:27: error: âuint64_tâ has a previous declaration as âtypedef long unsigned int uint64_tâ
 typedef unsigned long int uint64_t;
                           ^
In file included from /usr/include/casablanca/pplx/pplx.h:63:0,
                 from /usr/include/casablanca/pplx/pplxtasks.h:33,
                 from /usr/include/casablanca/cpprest/asyncrt_utils.h:34,
                 from /usr/include/casablanca/cpprest/base_uri.h:36,
                 from /usr/include/casablanca/cpprest/uri.h:33,
                 from /home/nanoadmin/FreeRDP-WebConnect/wsgate/wsgate_main.cpp:45:
/usr/include/casablanca/compat/linux_compat.h:67:23: error: conflicting declaration âtypedef union _LARGE_INTEGER int64_tâ
 #define LARGE_INTEGER int64_t
                       ^
In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdint.h:9:0,
                 from /usr/include/c++/4.8/cstdint:41,
                 from /usr/include/c++/4.8/bits/char_traits.h:376,
                 from /usr/include/c++/4.8/string:40,
                 from /usr/include/ehs/formvalue.h:29,
                 from /usr/include/ehs/ehs.h:38,
                 from /home/nanoadmin/FreeRDP-WebConnect/wsgate/wsgate_main.cpp:28:
/usr/include/stdint.h:41:19: error: âint64_tâ has a previous declaration as âtypedef long int int64_tâ
 typedef long int  int64_t;
                   ^
/home/nanoadmin/FreeRDP-WebConnect/wsgate/wsgate_main.cpp: In function âint main(int, char**)â:
/home/nanoadmin/FreeRDP-WebConnect/wsgate/wsgate_main.cpp:1724:41: warning: ignoring return value of âint chdir(const char*)â, declared with attribute warn_unused_result [-Wunused-result]
                         (void)chdir("/");
                                         ^
make[2]: *** [CMakeFiles/wsgate.dir/wsgate_main.cpp.o] Fehler 1
make[1]: *** [CMakeFiles/wsgate.dir/all] Fehler 2
make: *** [all] Fehler 2
Unable to build FreeRDP-WebConnect. Exiting...

mpibpc-mroose avatar Jul 18 '14 08:07 mpibpc-mroose

I also faced same issue on Ubuntu 14.4.

Regards, Umesh

umeshbhatt25 avatar Jul 23 '14 06:07 umeshbhatt25

has anyone found a solution to this problem yet?

jnamaya avatar Aug 01 '14 20:08 jnamaya

Hello Folks.

I can only compile the last version of FreeRDP-WebConnect (released by Fritz Elfert in 2012) under Ubuntu12.4 in December 2013.

(1) ehs-1.5.0.tar.gz http://sourceforge.net/projects/ehs/files/

(2) FreeRDP 1.0.1: changelog: update for 1.0.1 released this on Feb 9, 2012 · https://github.com/FreeRDP/FreeRDP/releases

(3) the last version of FreeRDP-WebConnect released by Fritz Elfert in 2012. Unfortunately FreeRDP-WebConnect repository under Fritz Elfert's GitHub account disappeared this year.

It seems that FreeRDP-WebConnect released by Fritz Elfert did not support Hyper-V machine.

Alessandro (cloudbase solutions) is the current Collaborator of FreeRDP-WebConnect.

To avoid the code conflicts, we have to wait for Alessandro (cloudbase solutions) to release the latest version which can be compiled under Ubuntu 12.4 or 13.10 or 14.4.

winstonhong avatar Aug 01 '14 21:08 winstonhong

This is caused by a conflict between winpr and casablanca declaring the same typedef.

If you can modify the source, go into /usr/include/casablanca/compat/linux_compat.h and change the definition of LARGE_INTEGER and ULARGE_INTEGER to some other name like "CAS_LARGE_INTEGER" and "CAS_ULARGE_INTEGER".

Then you will need to update the function definitions in casablanca that use this type. You can find out what files need to be changed by changing the name of LARGE_INTEGER then try to build. It should spit out a errors, which references the files you need to change.

beardflex avatar Aug 06 '14 13:08 beardflex

With this "patch" I got it working.

Maybe someone could extend the CMake to do this while the build?

mpibpc-mroose avatar Aug 14 '14 08:08 mpibpc-mroose