[ 
https://issues.apache.org/jira/browse/GUACAMOLE-296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16054277#comment-16054277
 ] 

Nick Couchman edited comment on GUACAMOLE-296 at 6/19/17 4:43 PM:
------------------------------------------------------------------

Looks like the Stream_New and Stream_Free symbols are exported in FreeRDP 1.1 
from the libwinpr-utils file:
root@host:~/guacamole-server-0.9.12-incubating# nm -D 
/usr/lib/x86_64-linux-gnu/libwinpr-utils.so.0.1.0 |grep Stream_New
0000000000006fb0 T Stream_New
root@host:~/guacamole-server-0.9.12-incubating# nm -D 
/usr/lib/x86_64-linux-gnu/libwinpr-utils.so.0.1.0 |grep Stream_Free
0000000000007010 T Stream_Free

So maybe the guacai-client.so file needs to link against that file?  A quick 
change to the src/protocols/rdp/Makefile seems to resolve this issue.  Around 
line 715 should be guacai_ldflags=, and adding -lwinpr-utils to the end of the 
last line (after -lfreerdp-codec) causes that library to be linked against the 
libwinpr-utils shared library, which removes the error.
{code}
guacai_ldflags = \
    -module -avoid-version -shared \
    -lpthread                 \
     -lfreerdp-core -lfreerdp-cache -lfreerdp-client -lfreerdp-utils 
-lfreerdp-codec -lwinpr-utils
{code}

{code}
root@host:~/guacamole-server-0.9.12-incubating# ldd -r 
src/protocols/rdp/.libs/guacai-client.so
        linux-vdso.so.1 =>  (0x00007fff18b5a000)
        libwinpr-utils.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-utils.so.0.1 (0x00007ffaeb509000)
        libguac.so.12 => 
/root/guacamole-server-0.9.12-incubating/src/libguac/.libs/libguac.so.12 
(0x00007ffaeb2f6000)
        libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 
(0x00007ffaeafe1000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x00007ffaeadc4000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffaea9fb000)
        libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 
(0x00007ffaea5b6000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ffaea2ad000)
        libwinpr-synch.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-synch.so.0.1 (0x00007ffaea0a7000)
        libwinpr-sysinfo.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-sysinfo.so.0.1 (0x00007ffae9ea3000)
        libwinpr-crt.so.0.1 => /usr/lib/x86_64-linux-gnu/libwinpr-crt.so.0.1 
(0x00007ffae9c9e000)
        libwinpr-handle.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-handle.so.0.1 (0x00007ffae9a9c000)
        libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 
(0x00007ffae9842000)
        libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 
(0x00007ffae961d000)
        libossp-uuid.so.16 => /usr/lib/x86_64-linux-gnu/libossp-uuid.so.16 
(0x00007ffae9411000)
        libwebp.so.5 => /usr/lib/x86_64-linux-gnu/libwebp.so.5 
(0x00007ffae91b4000)
        libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 
(0x00007ffae8f0c000)
        libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 
(0x00007ffae8cc9000)
        libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 
(0x00007ffae8a1e000)
        libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 
(0x00007ffae881a000)
        libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 
(0x00007ffae8610000)
        libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 
(0x00007ffae83ed000)
        libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 
(0x00007ffae81e3000)
        libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 
(0x00007ffae7ea9000)
        libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 
(0x00007ffae7c96000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ffae7a7c000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ffae7874000)
        /lib64/ld-linux-x86-64.so.2 (0x000055c72197e000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffae766f000)
        libwinpr-interlocked.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-interlocked.so.0.1 (0x00007ffae746c000)
        libwinpr-thread.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-thread.so.0.1 (0x00007ffae7269000)
        libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 
(0x00007ffae703f000)
        libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 
(0x00007ffae6e3b000)
        libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 
(0x00007ffae6c34000)
undefined symbol: guac_rdp_dvc_list_add 
(src/protocols/rdp/.libs/guacai-client.so)
{code}

(Not sure what the other undefined symbol is...guac_rdp_dvc_list_add??).

[~meeheewee]: Can you try this change to the Makefile and then try the sound 
input, again, and see if this resolves the issue?


was (Author: [email protected]):
Looks like the Stream_New and Stream_Free symbols are exported in FreeRDP 1.1 
from the libwinpr-utils file:
root@host:~/guacamole-server-0.9.12-incubating# nm -D 
/usr/lib/x86_64-linux-gnu/libwinpr-utils.so.0.1.0 |grep Stream_New
0000000000006fb0 T Stream_New
root@host:~/guacamole-server-0.9.12-incubating# nm -D 
/usr/lib/x86_64-linux-gnu/libwinpr-utils.so.0.1.0 |grep Stream_Free
0000000000007010 T Stream_Free

So maybe the guacai-client.so file needs to link against that file?  A quick 
change to the src/protocols/rdp/Makefile seems to resolve this issue.  Around 
line 715 should be guacai_ldflags=, and adding -lwinpr-utils to the end of the 
last line (after -lfreerdp-codec) causes that library to be linked against the 
libwinpr-utils shared library, which removes the error.
{code}
guacai_ldflags = \
    -module -avoid-version -shared \
    -lpthread                 \
     -lfreerdp-core -lfreerdp-cache -lfreerdp-client -lfreerdp-utils 
-lfreerdp-codec -lwinpr-utils
{code}

{code}
root@ussalxapps179t:~/guacamole-server-0.9.12-incubating# ldd -r 
src/protocols/rdp/.libs/guacai-client.so
        linux-vdso.so.1 =>  (0x00007fff18b5a000)
        libwinpr-utils.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-utils.so.0.1 (0x00007ffaeb509000)
        libguac.so.12 => 
/root/guacamole-server-0.9.12-incubating/src/libguac/.libs/libguac.so.12 
(0x00007ffaeb2f6000)
        libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 
(0x00007ffaeafe1000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x00007ffaeadc4000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffaea9fb000)
        libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 
(0x00007ffaea5b6000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ffaea2ad000)
        libwinpr-synch.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-synch.so.0.1 (0x00007ffaea0a7000)
        libwinpr-sysinfo.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-sysinfo.so.0.1 (0x00007ffae9ea3000)
        libwinpr-crt.so.0.1 => /usr/lib/x86_64-linux-gnu/libwinpr-crt.so.0.1 
(0x00007ffae9c9e000)
        libwinpr-handle.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-handle.so.0.1 (0x00007ffae9a9c000)
        libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 
(0x00007ffae9842000)
        libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 
(0x00007ffae961d000)
        libossp-uuid.so.16 => /usr/lib/x86_64-linux-gnu/libossp-uuid.so.16 
(0x00007ffae9411000)
        libwebp.so.5 => /usr/lib/x86_64-linux-gnu/libwebp.so.5 
(0x00007ffae91b4000)
        libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 
(0x00007ffae8f0c000)
        libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 
(0x00007ffae8cc9000)
        libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 
(0x00007ffae8a1e000)
        libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 
(0x00007ffae881a000)
        libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 
(0x00007ffae8610000)
        libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 
(0x00007ffae83ed000)
        libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 
(0x00007ffae81e3000)
        libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 
(0x00007ffae7ea9000)
        libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 
(0x00007ffae7c96000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ffae7a7c000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ffae7874000)
        /lib64/ld-linux-x86-64.so.2 (0x000055c72197e000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffae766f000)
        libwinpr-interlocked.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-interlocked.so.0.1 (0x00007ffae746c000)
        libwinpr-thread.so.0.1 => 
/usr/lib/x86_64-linux-gnu/libwinpr-thread.so.0.1 (0x00007ffae7269000)
        libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 
(0x00007ffae703f000)
        libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 
(0x00007ffae6e3b000)
        libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 
(0x00007ffae6c34000)
undefined symbol: guac_rdp_dvc_list_add 
(src/protocols/rdp/.libs/guacai-client.so)
{code}

(Not sure what the other undefined symbol is...guac_rdp_dvc_list_add??).

[~meeheewee]: Can you try this change to the Makefile and then try the sound 
input, again, and see if this resolves the issue?

> RDP audio input cause disconnection on Windows Server 2012 / 2016
> -----------------------------------------------------------------
>
>                 Key: GUACAMOLE-296
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-296
>             Project: Guacamole
>          Issue Type: Bug
>          Components: guacamole
>    Affects Versions: 0.9.12-incubating
>            Reporter: Hisham
>              Labels: audio
>
> I know this problem was discussed in resolved thread, but it is a bit 
> different, please help me, I tried every thing I was able to find about the 
> topic.
>  On Windows Server 2012 R2: Audio playback works, but the minute I start 
> Sound settings in the "Recording" tab the connection gets disconnected 
> immediately. After that it is impossible to connect to the VM with guacamole, 
> because it keeps disconnecting immediately, the only why is using a RDP 
> client, and closing the Audio settings.
> this are the log info:
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: Loading keymap "base"
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: Loading keymap "de-de-qwertz"
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: guacsnd connected.
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: guacdr connected.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Connected to RDPDR 1.12 as 
> client 0x0002
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0001, length=44
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0002, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0003, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0004, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0005, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Sending capabilities...
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Capabilities sent.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Client ID confirmed
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: User logged on
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Sending filesystem
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Registered device 0 (Guacamole 
> Filesystem)
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: All supported devices sent.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Device 0 (Guacamole Filesystem) 
> connected successfully
> May  8 10:19:37 ip-172-31-20-3 guacd[1183]: Connection 
> "$70610038-ba7e-4e1d-9103-1b870c0cb079" removed.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to