{"id":688,"date":"2024-07-28T21:27:55","date_gmt":"2024-07-29T03:27:55","guid":{"rendered":"https:\/\/thecweb.com\/?p=688"},"modified":"2024-07-28T21:27:55","modified_gmt":"2024-07-29T03:27:55","slug":"guacamole-day-2-5","status":"publish","type":"post","link":"https:\/\/thecweb.com\/index.php\/2024\/07\/28\/guacamole-day-2-5\/","title":{"rendered":"Guacamole &#8211; Day 2.5"},"content":{"rendered":"\n<p>Ok, back at it.  I&#8217;m starting at the dependencies section in the Guacamole manual <a href=\"https:\/\/guacamole.apache.org\/doc\/gug\/installing-guacamole.html\" data-type=\"link\" data-id=\"https:\/\/guacamole.apache.org\/doc\/gug\/installing-guacamole.html\">here<\/a>.  I think I&#8217;ll just use this page to build the command to make things easy.  I probably already have a bunch of these installed, but apt will sort that out for me.  Much quicker than stare and compare.  I&#8217;m pretty much installing all required and optional dependencies.  The optional ones I know I need are for RDP, VNC, and SSH support.  I&#8217;m not sure if I&#8217;ll ever use telenet, session recording, or audio over VNC, but it&#8217;s nice to have the option. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ sudo apt install libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin \\\nuuid-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \\\nfreerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev \\\nlibwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev<\/code><\/pre>\n\n\n\n<p>And this is what I got.  The dependencies have dependencies, which also have dependencies, and those dependencies also have dependencies&#8230;  I should have just gone with docker, but I&#8217;m only working with 100 GB of space, and I need that extra ~1 ms of speed I get from bare metal.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>cweb@thecweb:~$<\/strong> sudo apt install libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin \\\nuuid-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \\\nfreerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev \\\nlibwebsockets-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev\n&#91;sudo] password for cweb:\n\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\n\n<strong>The following packages were automatically installed and are no longer required:<\/strong>\n  libasn1-8-heimdal libcommon-sense-perl libffi7 libgssapi3-heimdal libhcrypto4-heimdal\n  libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libicu66 libjson-perl libjson-xs-perl\n  libkrb5-26-heimdal libldap-2.4-2 libllvm10 libllvm14 libroken18-heimdal libtypes-serialiser-perl\n  libwind0-heimdal sysstat\n<strong>Use 'sudo apt autoremove' to remove them.<\/strong>\n\n<strong>The following additional packages will be installed:<\/strong>\n  autoconf automake autotools-dev cpp cpp-11 gcc gcc-11 gcc-11-base gir1.2-freedesktop\n  gir1.2-harfbuzz-0.0 gir1.2-pango-1.0 i965-va-driver icu-devtools intel-media-va-driver libaacs0\n  libasan6 libasyncns0 libatomic1 libavcodec58 libavformat58 libavutil56 libbdplus0 libblkid-dev\n  libbluray2 libbrotli-dev libc-dev-bin libc-devtools libc6-dev libcairo-gobject2\n  libcairo-script-interpreter2 libcairo2 libcap-dev libcc1-0 libchromaprint1 libcodec2-1.0\n  libcrypt-dev libdatrie-dev libdatrie1 libev-dev libev4 libevent-2.1-7 libexpat1-dev libffi-dev\n  libflac8 libfontconfig-dev libfontconfig1-dev libfreerdp-client2-2 libfreerdp-server2-2\n  libfreerdp-shadow-subsystem2-2 libfreerdp-shadow2-2 libfreerdp2-2 libfreetype-dev libfreetype6-dev\n  libfribidi-dev libgcc-11-dev libgcrypt20-dev libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin\n  libgdk-pixbuf2.0-common libglib2.0-dev libglib2.0-dev-bin libgme0 libgmp-dev libgmpxx4ldbl\n  libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev libgnutlsxx28 libgpg-error-dev libgraphite2-dev\n  libgsm1 libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 libice-dev libicu-dev libidn2-dev\n  libigdgmm12 libisl23 libitm1 liblsan0 libltdl-dev liblzo2-dev libmfx1 libmount-dev libmp3lame0\n  libmpc3 libmpg123-0 libnorm1 libnsl-dev libogg-dev libogg0 libopenmpt0 libopus0 libp11-kit-dev\n  libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangoxft-1.0-0 libpcre16-3 libpcre2-16-0\n  libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpgm-5.3-0\n  libpixman-1-0 libpixman-1-dev libpng-tools libpthread-stubs0-dev libpulse-mainloop-glib0 libpulse0\n  libquadmath0 librabbitmq4 librsvg2-2 librsvg2-common libsasl2-dev libselinux1-dev libsepol-dev\n  libshine3 libsm-dev libsnappy1v5 libsndfile1 libsoxr0 libspeex1 libsrt1.4-gnutls libssh-gcrypt-4\n  libssh2-1 libswresample-dev libswresample3 libswscale5 libtasn1-6-dev libtasn1-doc libtelnet2\n  libthai-data libthai-dev libthai0 libtheora0 libtirpc-dev libtool libtsan0 libtwolame0 libubsan1\n  libudfread0 libunbound8 libuv1 libuv1-dev libva-drm2 libva-x11-2 libva2 libvdpau1 libvncclient1\n  libvncserver1 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx7 libwebsockets16 libwinpr-tools2-2\n  libwinpr2-2 libwinpr2-dev libx11-dev libx264-163 libxau-dev libxcb-render0 libxcb-render0-dev\n  libxcb-shm0-dev libxcb1-dev libxdamage1 libxdmcp-dev libxext-dev libxft-dev libxrender-dev\n  libxvidcore4 libzmq5 libzvbi-common libzvbi0 linux-libc-dev m4 manpages-dev mesa-va-drivers\n  mesa-vdpau-drivers nettle-dev ocl-icd-libopencl1 pango1.0-tools pkg-config rpcsvc-proto\n  va-driver-all vdpau-driver-all winpr-utils x11proto-dev xorg-sgml-doctools xtrans-dev zlib1g-dev\n\n<strong>Suggested packages:<\/strong>\n  autoconf-archive gnu-standards autoconf-doc gettext cpp-doc gcc-11-locales gcc-multilib make flex\n  bison gdb gcc-doc gcc-11-multilib gcc-11-doc i965-va-driver-shaders libcuda1 libnvcuvid1\n  libnvidia-encode1 libbluray-bdj glibc-doc libcairo2-doc libdatrie-doc freerdp2-x11 freetype2-doc\n  libgcrypt20-doc libgirepository1.0-dev libglib2.0-doc libxml2-utils gmp-doc libgmp10-doc libmpfr-dev\n  dns-root-data gnutls-bin gnutls-doc libgraphite2-utils libice-doc icu-doc libtool-doc opus-tools\n  p11-kit-doc libpango1.0-doc pulseaudio librsvg2-bin libsm-doc speex libssl-doc libtelnet-utils\n  libthai-doc gfortran | fortran95-compiler gcj-jdk libx11-doc libxcb-doc libxext-doc m4-doc\n  opencl-icd graphicsmagick dpkg-dev libvdpau-va-gl1\n\n<strong>The following NEW packages will be installed:<\/strong>\n  autoconf automake autotools-dev cpp cpp-11 freerdp2-dev gcc gcc-11 gcc-11-base gir1.2-freedesktop\n  gir1.2-harfbuzz-0.0 gir1.2-pango-1.0 i965-va-driver icu-devtools intel-media-va-driver libaacs0\n  libasan6 libasyncns0 libatomic1 libavcodec-dev libavcodec58 libavformat-dev libavformat58\n  libavutil-dev libavutil56 libbdplus0 libblkid-dev libbluray2 libbrotli-dev libc-dev-bin\n  libc-devtools libc6-dev libcairo-gobject2 libcairo-script-interpreter2 libcairo2 libcairo2-dev\n  libcap-dev libcc1-0 libchromaprint1 libcodec2-1.0 libcrypt-dev libdatrie-dev libdatrie1 libev-dev\n  libev4 libevent-2.1-7 libexpat1-dev libffi-dev libflac8 libfontconfig-dev libfontconfig1-dev\n  libfreerdp-client2-2 libfreerdp-server2-2 libfreerdp-shadow-subsystem2-2 libfreerdp-shadow2-2\n  libfreerdp2-2 libfreetype-dev libfreetype6-dev libfribidi-dev libgcc-11-dev libgcrypt20-dev\n  libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libglib2.0-dev libglib2.0-dev-bin\n  libgme0 libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev libgnutlsxx28\n  libgpg-error-dev libgraphite2-dev libgsm1 libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0\n  libice-dev libicu-dev libidn2-dev libigdgmm12 libisl23 libitm1 libjpeg-turbo8-dev liblsan0\n  libltdl-dev liblzo2-dev libmfx1 libmount-dev libmp3lame0 libmpc3 libmpg123-0 libnorm1 libnsl-dev\n  libogg-dev libogg0 libopenmpt0 libopus0 libp11-kit-dev libpango-1.0-0 libpango1.0-dev\n  libpangocairo-1.0-0 libpangoft2-1.0-0 libpangoxft-1.0-0 libpcre16-3 libpcre2-16-0 libpcre2-32-0\n  libpcre2-dev libpcre2-posix3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpgm-5.3-0 libpixman-1-0\n  libpixman-1-dev libpng-dev libpng-tools libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0\n  libpulse0 libquadmath0 librabbitmq4 librsvg2-2 librsvg2-common libsasl2-dev libselinux1-dev\n  libsepol-dev libshine3 libsm-dev libsnappy1v5 libsndfile1 libsoxr0 libspeex1 libsrt1.4-gnutls\n  libssh-gcrypt-4 libssh2-1 libssh2-1-dev libssl-dev libswresample-dev libswresample3 libswscale-dev\n  libswscale5 libtasn1-6-dev libtasn1-doc libtelnet-dev libtelnet2 libthai-data libthai-dev libthai0\n  libtheora0 libtirpc-dev libtool libtool-bin libtsan0 libtwolame0 libubsan1 libudfread0 libunbound8\n  libuv1 libuv1-dev libva-drm2 libva-x11-2 libva2 libvdpau1 libvncclient1 libvncserver-dev\n  libvncserver1 libvorbis-dev libvorbis0a libvorbisenc2 libvorbisfile3 libvpx7 libwebp-dev\n  libwebsockets-dev libwebsockets16 libwinpr-tools2-2 libwinpr2-2 libwinpr2-dev libx11-dev libx264-163\n  libxau-dev libxcb-render0 libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxdamage1 libxdmcp-dev\n  libxext-dev libxft-dev libxrender-dev libxvidcore4 libzmq5 libzvbi-common libzvbi0 linux-libc-dev m4\n  manpages-dev mesa-va-drivers mesa-vdpau-drivers nettle-dev ocl-icd-libopencl1 pango1.0-tools\n  pkg-config rpcsvc-proto uuid-dev va-driver-all vdpau-driver-all winpr-utils x11proto-dev\n  xorg-sgml-doctools xtrans-dev zlib1g-dev\n<strong>0 upgraded, 215 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 130 MB\/131 MB of archives.\nAfter this operation, 459 MB of additional disk space will be used.<\/strong>\nDo you want to continue? &#91;Y\/n]<\/code><\/pre>\n\n\n\n<p>Huh, guess I didn&#8217;t have any of them already installed.<\/p>\n\n\n\n<p>Better get the suggested packages also.  I can always remove them later.  <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ sudo apt install autoconf-archive gnu-standards autoconf-doc gettext \\\ncpp-doc gcc-11-locales gcc-multilib make flex bison gdb gcc-doc \\\ngcc-11-multilib gcc-11-doc i965-va-driver-shaders \\\nlibbluray-bdj glibc-doc libcairo2-doc libdatrie-doc \\\nfreerdp2-x11 freetype2-doc libgcrypt20-doc libgirepository1.0-dev \\\nlibglib2.0-doc libxml2-utils gmp-doc libgmp10-doc libmpfr-dev dns-root-data \\\ngnutls-bin gnutls-doc libgraphite2-utils libice-doc icu-doc libtool-doc \\ \nspeex libssl-doc libtelnet-utils libthai-doc gfortran \\\nlibx11-doc libxcb-doc libxext-doc m4-doc graphicsmagick \\\ndpkg-dev libvdpau-va-gl1<\/code><\/pre>\n\n\n\n<p>I had to remove like ten packages from the suggested list because apt couldn&#8217;t find them.  Crap I didn&#8217;t need anyway like nvidia and cuda libraires.  <em><strong>Wait, did I just fucking install fortran?<\/strong><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Setting up <strong>gfortran-11<\/strong> (11.4.0-1ubuntu1~22.04) ...\nSetting up <strong>gfortran<\/strong> (4:11.2.0-1ubuntu1) ...\nupdate-alternatives: using \/usr\/bin\/gfortran to provide \/usr\/bin\/f95 (f95) in auto mode\nupdate-alternatives: using \/usr\/bin\/gfortran to provide \/usr\/bin\/f77 (f77) in auto mode\nProcessing triggers for libc-bin (2.35-0ubuntu3.8) ...<\/code><\/pre>\n\n\n\n<p>Guess so&#8230;<\/p>\n\n\n\n<p>It&#8217;s quarter past ten at night and I&#8217;m tired and hungry.  And if installing packages was this much of a pain then I really don&#8217;t want to start compiling Guacamole from source right now.  Glancing over what I&#8217;ve wrote it really doesn&#8217;t look like it took that long, but there was a lot of trial and error figuring out which packages Ubuntu didn&#8217;t have.  Probably would have been quicker to just add the nvidia repository instead of playing wack-a-mole by removing the packages one by one.  But that would have messed up my pure FOSS system with that evil <em><strong>closed source<\/strong><\/em> nvidia software.<\/p>\n\n\n\n<p class=\"has-text-align-center has-large-font-size\"><strong>Peace!  I&#8217;m out!<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"498\" src=\"https:\/\/thecweb.com\/wp-content\/uploads\/2024\/07\/LoveForeverCuteGIF.gif\" alt=\"I truly do love anyone who bothers reading this crap.\" class=\"wp-image-689\" style=\"width:332px;height:auto\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Ok, back at it. I&#8217;m starting at the dependencies section in the Guacamole manual here. I think I&#8217;ll just use this page to build the command to make things easy. I probably already have a bunch of these installed, but apt will sort that out for me. Much quicker than stare and compare. I&#8217;m pretty [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":689,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[16,17,14,30,15],"class_list":["post-688","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-apache","tag-guacamole","tag-linux","tag-tinkering","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/posts\/688","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/comments?post=688"}],"version-history":[{"count":1,"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/posts\/688\/revisions"}],"predecessor-version":[{"id":690,"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/posts\/688\/revisions\/690"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/media\/689"}],"wp:attachment":[{"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/media?parent=688"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/categories?post=688"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecweb.com\/index.php\/wp-json\/wp\/v2\/tags?post=688"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}