Har-Kuun / OneClickDesktop

A one-click script that installs a remote desktop environment on a Linux server with browser/RDP/VNC access.
701 stars 233 forks source link

请求加入对非Systemd系统如WSL的支持 #4

Closed ihidchaos closed 4 years ago

ihidchaos commented 4 years ago

在WSL Ubuntu18.04上运行报错如下:

Type "make" to compile guacamole-server.

编译条件已满足!
开始编译源码...

make  all-recursive
make[1]: Entering directory '/home/ihid/guacamole-server-1.2.0'
Making all in src/libguac
make[2]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/libguac'
Making all in .
make[3]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/libguac'
  CC       libguac_la-audio.lo
  CC       libguac_la-client.lo
  CC       libguac_la-encode-jpeg.lo
  CC       libguac_la-encode-png.lo
  CC       libguac_la-error.lo
  CC       libguac_la-hash.lo
  CC       libguac_la-id.lo
  CC       libguac_la-palette.lo
  CC       libguac_la-parser.lo
  CC       libguac_la-pool.lo
  CC       libguac_la-protocol.lo
  CC       libguac_la-raw_encoder.lo
  CC       libguac_la-socket.lo
  CC       libguac_la-socket-broadcast.lo
  CC       libguac_la-socket-fd.lo
  CC       libguac_la-socket-nest.lo
  CC       libguac_la-socket-tee.lo
  CC       libguac_la-string.lo
  CC       libguac_la-timestamp.lo
  CC       libguac_la-unicode.lo
  CC       libguac_la-user.lo
  CC       libguac_la-user-handlers.lo
  CC       libguac_la-user-handshake.lo
  CC       libguac_la-wait-fd.lo
  CC       libguac_la-wol.lo
  CC       libguac_la-encode-webp.lo
  CC       libguac_la-socket-ssl.lo
  CCLD     libguac.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[3]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/libguac'
Making all in tests
make[3]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/libguac/tests'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/libguac/tests'
make[2]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/libguac'
Making all in src/common
make[2]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common'
Making all in .
make[3]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common'
  CC       libguac_common_la-io.lo
  CC       libguac_common_la-blank_cursor.lo
  CC       libguac_common_la-clipboard.lo
  CC       libguac_common_la-cursor.lo
  CC       libguac_common_la-display.lo
  CC       libguac_common_la-dot_cursor.lo
  CC       libguac_common_la-ibar_cursor.lo
  CC       libguac_common_la-iconv.lo
  CC       libguac_common_la-json.lo
  CC       libguac_common_la-list.lo
  CC       libguac_common_la-pointer_cursor.lo
  CC       libguac_common_la-recording.lo
  CC       libguac_common_la-rect.lo
  CC       libguac_common_la-string.lo
  CC       libguac_common_la-surface.lo
  CCLD     libguac_common.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[3]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common'
Making all in tests
make[3]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common/tests'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common/tests'
make[2]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common'
Making all in src/common-ssh
make[2]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common-ssh'
Making all in .
make[3]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common-ssh'
  CC       libguac_common_ssh_la-buffer.lo
  CC       libguac_common_ssh_la-dsa-compat.lo
  CC       libguac_common_ssh_la-rsa-compat.lo
  CC       libguac_common_ssh_la-sftp.lo
  CC       libguac_common_ssh_la-ssh.lo
  CC       libguac_common_ssh_la-key.lo
key.c: In function ‘guac_common_ssh_key_sign’:
key.c:202:13: error: ‘RSA_sign’ is deprecated [-Werror=deprecated-declarations]
             if (RSA_sign(NID_sha1, digest, dlen, sig, &len, key->rsa) == 1)
             ^~
In file included from /usr/local/include/openssl/opensslv.h:109:0,
                 from /usr/local/include/openssl/macros.h:11,
                 from /usr/local/include/openssl/opensslconf.h:14,
                 from /usr/local/include/openssl/macros.h:10,
                 from /usr/local/include/openssl/bn.h:15,
                 from common-ssh/buffer.h:25,
                 from key.c:22:
/usr/local/include/openssl/rsa.h:332:1: note: declared here
 DEPRECATEDIN_3_0(int RSA_sign(int type, const unsigned char *m,
 ^
key.c:208:13: error: ‘DSA_do_sign’ is deprecated [-Werror=deprecated-declarations]
             DSA_SIG* dsa_sig = DSA_do_sign(digest, dlen, key->dsa);
             ^~~~~~~
In file included from /usr/local/include/openssl/opensslv.h:109:0,
                 from /usr/local/include/openssl/macros.h:11,
                 from /usr/local/include/openssl/opensslconf.h:14,
                 from /usr/local/include/openssl/macros.h:10,
                 from /usr/local/include/openssl/bn.h:15,
                 from common-ssh/buffer.h:25,
                 from key.c:22:
/usr/local/include/openssl/dsa.h:99:1: note: declared here
 DEPRECATEDIN_3_0(DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen,
 ^
cc1: all warnings being treated as errors
Makefile:574: recipe for target 'libguac_common_ssh_la-key.lo' failed
make[3]: *** [libguac_common_ssh_la-key.lo] Error 1
make[3]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common-ssh'
Makefile:600: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common-ssh'
Makefile:533: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/ihid/guacamole-server-1.2.0'
Makefile:455: recipe for target 'all' failed
make: *** [all] Error 2
Making install in src/libguac
make[1]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/libguac'
Making install in .
make[2]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/libguac'
make[3]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/libguac'
 /bin/mkdir -p '/usr/local/lib'
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libguac.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libguac.so.17.1.0 /usr/local/lib/libguac.so.17.1.0
libtool: install: (cd /usr/local/lib && { ln -s -f libguac.so.17.1.0 libguac.so.17 || { rm -f libguac.so.17 && ln -s libguac.so.17.1.0 libguac.so.17; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libguac.so.17.1.0 libguac.so || { rm -f libguac.so && ln -s libguac.so.17.1.0 libguac.so; }; })
libtool: install: /usr/bin/install -c .libs/libguac.lai /usr/local/lib/libguac.la
libtool: install: /usr/bin/install -c .libs/libguac.a /usr/local/lib/libguac.a
libtool: install: chmod 644 /usr/local/lib/libguac.a
libtool: install: ranlib /usr/local/lib/libguac.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /bin/mkdir -p '/usr/local/include/guacamole'
 /usr/bin/install -c -m 644 guacamole/audio.h guacamole/audio-fntypes.h guacamole/audio-types.h guacamole/client-constants.h guacamole/client.h guacamole/client-fntypes.h guacamole/client-types.h guacamole/error.h guacamole/error-types.h guacamole/hash.h guacamole/layer.h guacamole/layer-types.h guacamole/object.h guacamole/object-types.h guacamole/parser-constants.h guacamole/parser.h guacamole/parser-types.h guacamole/plugin-constants.h guacamole/plugin.h guacamole/pool.h guacamole/pool-types.h guacamole/protocol.h guacamole/protocol-constants.h guacamole/protocol-types.h guacamole/socket-constants.h guacamole/socket.h guacamole/socket-fntypes.h guacamole/socket-types.h guacamole/stream.h guacamole/stream-types.h guacamole/string.h guacamole/timestamp.h guacamole/timestamp-types.h guacamole/unicode.h guacamole/user.h guacamole/user-constants.h guacamole/user-fntypes.h guacamole/user-types.h guacamole/wol.h guacamole/wol-constants.h '/usr/local/include/guacamole'
 /usr/bin/install -c -m 644 guacamole/socket-ssl.h '/usr/local/include/guacamole'
make[3]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/libguac'
make[2]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/libguac'
Making install in tests
make[2]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/libguac/tests'
make[3]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/libguac/tests'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/libguac/tests'
make[2]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/libguac/tests'
make[1]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/libguac'
Making install in src/common
make[1]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common'
Making install in .
make[2]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common'
make[3]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common'
make[2]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common'
Making install in tests
make[2]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common/tests'
make[3]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common/tests'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common/tests'
make[2]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common/tests'
make[1]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common'
Making install in src/common-ssh
make[1]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common-ssh'
Making install in .
make[2]: Entering directory '/home/ihid/guacamole-server-1.2.0/src/common-ssh'
  CC       libguac_common_ssh_la-key.lo
key.c: In function ‘guac_common_ssh_key_sign’:
key.c:202:13: error: ‘RSA_sign’ is deprecated [-Werror=deprecated-declarations]
             if (RSA_sign(NID_sha1, digest, dlen, sig, &len, key->rsa) == 1)
             ^~
In file included from /usr/local/include/openssl/opensslv.h:109:0,
                 from /usr/local/include/openssl/macros.h:11,
                 from /usr/local/include/openssl/opensslconf.h:14,
                 from /usr/local/include/openssl/macros.h:10,
                 from /usr/local/include/openssl/bn.h:15,
                 from common-ssh/buffer.h:25,
                 from key.c:22:
/usr/local/include/openssl/rsa.h:332:1: note: declared here
 DEPRECATEDIN_3_0(int RSA_sign(int type, const unsigned char *m,
 ^
key.c:208:13: error: ‘DSA_do_sign’ is deprecated [-Werror=deprecated-declarations]
             DSA_SIG* dsa_sig = DSA_do_sign(digest, dlen, key->dsa);
             ^~~~~~~
In file included from /usr/local/include/openssl/opensslv.h:109:0,
                 from /usr/local/include/openssl/macros.h:11,
                 from /usr/local/include/openssl/opensslconf.h:14,
                 from /usr/local/include/openssl/macros.h:10,
                 from /usr/local/include/openssl/bn.h:15,
                 from common-ssh/buffer.h:25,
                 from key.c:22:
/usr/local/include/openssl/dsa.h:99:1: note: declared here
 DEPRECATEDIN_3_0(DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen,
 ^
cc1: all warnings being treated as errors
Makefile:574: recipe for target 'libguac_common_ssh_la-key.lo' failed
make[2]: *** [libguac_common_ssh_la-key.lo] Error 1
make[2]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common-ssh'
Makefile:600: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/home/ihid/guacamole-server-1.2.0/src/common-ssh'
Makefile:533: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
第一次启动Guacamole服务器可能需要较长时间...
请耐心等待...

System has not been booted with systemd as init system (PID 1). Can't operate.
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to enable unit, unit guacd.service does not exist.
Guacamole服务器安装失败。

说明尚未支持非Systemd系统

Har-Kuun commented 4 years ago

好的,我还没用过WSL, 我来研究研究怎么适配😂

ihidchaos commented 4 years ago

好的,我还没用过WSL, 我来研究研究怎么适配😂

主要区别在于服务管理方式不同。把启动程序的命令从systemctl start XXX改成/etc/init.d/XXX start希望有所帮助。