Tiny Core Linux

Tiny Core Extensions => TCE Talk => Topic started by: Risthel on March 23, 2016, 01:42:25 PM

Title: Converting freerdp-nightly deb to tce
Post by: Risthel on March 23, 2016, 01:42:25 PM
Sup guys.

I have used this quick hack (http://forum.tinycorelinux.net/index.php?topic=2325.0) to convert Debian freerdp-nightly packages, that the freerdp guys pre-compile, and are available here: https://ci.freerdp.com/job/freerdp-nightly-binaries/architecture=i386,distribution=jessie,label=pkg-deb/

However, a lot of the dinamically linked libraries differ on minor versions and TinyCore uses/provides newer versions of them. One example is libavcodec, that Tiny packages libavcodec.so.54, and the binary needs libavcodec.so.53. About 6 other libraries are on the same "outdated" status on Debian.

What could be the best solution to me? Compile FreeRDP? Is there a way to edit this library link "on-the-fly"? Maybe I need to use an older release of TinyCore?

Its important to me to have this bleeding-edge version of freerdp, since it´s the only one that supports RemoteApps + RDP Gateways + .rdp files.

Cheers.

The list of the libraries required by the converted .deb xfreerdp binary:


Code: [Select]
        linux-gate.so.1 (0xb7758000)
        libxfreerdp-client.so.2 => /opt/freerdp-nightly/bin/../lib/libxfreerdp-client.so.2 (0xb76f0000)
        libfreerdp-client.so.2 => /opt/freerdp-nightly/bin/../lib/libfreerdp-client.so.2 (0xb761c000)
        libwinpr.so.1 => /opt/freerdp-nightly/bin/../lib/libwinpr.so.1 (0xb7542000)
        libc.so.6 => /lib/libc.so.6 (0xb7425000)
        libX11.so.6 => /usr/local/lib/libX11.so.6 (0xb7329000)
        libXinerama.so.1 => /usr/local/lib/libXinerama.so.1 (0xb7326000)
        libXext.so.6 => /usr/local/lib/libXext.so.6 (0xb7319000)
        libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 (0xb7311000)
        libXv.so.1 => /usr/local/lib/libXv.so.1 (0xb730d000)
        libXi.so.6 => /usr/local/lib/libXi.so.6 (0xb7300000)
        libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0xb72f9000)
        libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0xb72f5000)
        libfreerdp.so.2 => /opt/freerdp-nightly/bin/../lib/../lib/libfreerdp.so.2 (0xb71c1000)
        librt.so.1 => /lib/librt.so.1 (0xb71b9000)
        libm.so.6 => /lib/libm.so.6 (0xb717d000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7166000)
        libudev.so.0 => /usr/local/lib/libudev.so.0 (0xb715a000)
        libcups.so.2 => /usr/local/lib/libcups.so.2 (0xb7112000)
        libusb-1.0.so.0 => /usr/local/lib/libusb-1.0.so.0 (0xb70fd000)
        libpulse.so.0 => /usr/local/lib/libpulse.so.0 (0xb70c5000)
        libgsm.so.1 => /usr/local/lib/libgsm.so.1 (0xb70ba000)
        libavcodec.so.53 => not found
        libavutil.so.51 => not found
        libgstreamer-0.10.so.0 => not found
        libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 (0xb6f95000)
        libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0 (0xb6f4b000)
        libgstbase-0.10.so.0 => not found
        libgstapp-0.10.so.0 => not found
        libgstinterfaces-0.10.so.0 => not found
        libasound.so.2 => not found
        libssl.so.1.0.0 => /usr/local/lib/libssl.so.1.0.0 (0xb6ee7000)
        libcrypto.so.1.0.0 => /usr/local/lib/libcrypto.so.1.0.0 (0xb6d29000)
        libdl.so.2 => /lib/libdl.so.2 (0xb6d25000)
        /lib/ld-linux.so.2 (0x800ae000)
        libxcb.so.1 => /usr/local/lib/libxcb.so.1 (0xb6d0e000)
        libXau.so.6 => /usr/local/lib/libXau.so.6 (0xb6d0a000)
        libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0xb6d05000)
        libxkbfile.so.1 => /usr/local/lib/libxkbfile.so.1 (0xb6ceb000)
        libjpeg.so.8 => not found
        libavahi-common.so.3 => /usr/local/lib/libavahi-common.so.3 (0xb6ce0000)
        libavahi-client.so.3 => /usr/local/lib/libavahi-client.so.3 (0xb6cd3000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb6ca3000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb6c91000)
        libjson.so.0 => /usr/local/lib/libjson.so.0 (0xb6c8b000)
        libpulsecommon-4.0.so => /usr/local/lib/pulseaudio/libpulsecommon-4.0.so (0xb6c3b000)
        libX11-xcb.so.1 => /usr/local/lib/libX11-xcb.so.1 (0xb6c39000)
        libSM.so.6 => /usr/local/lib/libSM.so.6 (0xb6c33000)
        libICE.so.6 => /usr/local/lib/libICE.so.6 (0xb6c1f000)
        libuuid.so.1 => /lib/libuuid.so.1 (0xb6c1b000)
        libXtst.so.6 => /usr/local/lib/libXtst.so.6 (0xb6c15000)
        libsndfile.so.1 => /usr/local/lib/libsndfile.so.1 (0xb6ba1000)
        libFLAC.so.8 => /usr/local/lib/libFLAC.so.8 (0xb6b65000)
        libvorbisenc.so.2 => /usr/local/lib/libvorbisenc.so.2 (0xb6adb000)
        libvorbis.so.0 => /usr/local/lib/libvorbis.so.0 (0xb6ab2000)
        libogg.so.0 => /usr/local/lib/libogg.so.0 (0xb6aab000)
        libdbus-1.so.3 => /usr/local/lib/libdbus-1.so.3 (0xb6a79000)
        libffi.so.6 => /usr/local/lib/libffi.so.6 (0xb6a73000)
        libssp.so.0 => /usr/local/lib/libssp.so.0 (0xb6a70000)
Title: Re: Converting freerdp-nightly deb to tce
Post by: Juanito on March 23, 2016, 10:49:37 PM
The best would be to compile it and submit as an extension  :)
Title: Re: Converting freerdp-nightly deb to tce
Post by: Risthel on March 24, 2016, 05:59:17 AM
Well, I'm having a bad time trying to compile freerdp-nightly wigh gcc-5.2(compiletc.tcz). This is the error i get while trying to compile with cmake.
Don't know if its a bug on the compiler, or if freerdp does not support gcc 5 yet. Anyone had a simmilar issue while trying to compile software with cmake + gcc5.2?

Code: [Select]
tc@box:~/freerdp_sources/FreeRDP-master$ cmake -DWITH_PCSC=ON  .
-- The CXX compiler identification is unknown
-- Check for working CXX compiler: /usr/local/bin/c++
-- Check for working CXX compiler: /usr/local/bin/c++ -- broken
CMake Error at /tmp/tcloop/cmake/usr/local/share/cmake-3.2/Modules/CMakeTestCXXCompiler.cmake:54 (message):
  The C++ compiler "/usr/local/bin/c++" is not able to compile a simple test
  program.

  It fails with the following output:

   Change Dir: /home/tc/freerdp_sources/FreeRDP-master/CMakeFiles/CMakeTmp

  Run Build Command:"/usr/local/bin/make" "cmTryCompileExec2409740937/fast"

  /usr/local/bin/make -f CMakeFiles/cmTryCompileExec2409740937.dir/build.make
  CMakeFiles/cmTryCompileExec2409740937.dir/build

  make[1]: Entering directory
  '/home/tc/freerdp_sources/FreeRDP-master/CMakeFiles/CMakeTmp'

  /tmp/tcloop/cmake/usr/local/bin/cmake -E cmake_progress_report
  /home/tc/freerdp_sources/FreeRDP-master/CMakeFiles/CMakeTmp/CMakeFiles 1

  Building CXX object
  CMakeFiles/cmTryCompileExec2409740937.dir/testCXXCompiler.cxx.o

  /usr/local/bin/c++ -o
  CMakeFiles/cmTryCompileExec2409740937.dir/testCXXCompiler.cxx.o -c
  /home/tc/freerdp_sources/FreeRDP-master/CMakeFiles/CMakeTmp/testCXXCompiler.cxx

  cc1plus: internal compiler error: Illegal instruction

  Please submit a full bug report,

  with preprocessed source if appropriate.

  See <http://gcc.gnu.org/bugs.html> for instructions.

  CMakeFiles/cmTryCompileExec2409740937.dir/build.make:57: recipe for target
  'CMakeFiles/cmTryCompileExec2409740937.dir/testCXXCompiler.cxx.o' failed

  make[1]: Leaving directory
  '/home/tc/freerdp_sources/FreeRDP-master/CMakeFiles/CMakeTmp'

  make[1]: ***
  [CMakeFiles/cmTryCompileExec2409740937.dir/testCXXCompiler.cxx.o] Error 1

  Makefile:117: recipe for target 'cmTryCompileExec2409740937/fast' failed

  make: *** [cmTryCompileExec2409740937/fast] Error 2


  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:23 (project)

-- Configuring incomplete, errors occurred!
See also "/home/tc/freerdp_sources/FreeRDP-master/CMakeFiles/CMakeOutput.log".
See also "/home/tc/freerdp_sources/FreeRDP-master/CMakeFiles/CMakeError.log".
(logfiles attached)


Meanwhile, ill try to build this software with llvm or tinycc(don´t know a c++ alternative, since tiny is C only).

Cheers.
Title: Re: Converting freerdp-nightly deb to tce
Post by: Juanito on March 24, 2016, 06:07:48 AM
I just made a quick count and it looks like I compiled seven extensions from source with cmake and gcc-5.2 - all without problems.

See, for example:

http://tinycorelinux.net/7.x/x86_64/tcz/src/darktable/compile_darktable

I tried to compile with clang/llvm - the source compiled without error, but then failed when used...

Title: Re: Converting freerdp-nightly deb to tce
Post by: Juanito on March 24, 2016, 06:17:25 AM
I just tried freerdp from git, albeit with corepure64:
Code: [Select]
$ mkdir build
$ cd build
$ cmake -DCMAKE_C_FLAGS="-mtune=generic -Os -pipe" -DCMAKE_CXX_FLAGS="-mtune=generic -Os -pipe" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ../
-- The C compiler identification is GNU 5.2.0
-- The CXX compiler identification is GNU 5.2.0
-- Check for working C compiler: /usr/local/bin/cc
-- Check for working C compiler: /usr/local/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/c++
-- Check for working CXX compiler: /usr/local/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.28")
-- FreeRDP GIT
-- Git Revision 75ae3f5
-- Looking for __x86_64__
-- Looking for __x86_64__ - found
...

perhaps you need "-DWITH_SSE2=ON" for i486?
Title: Re: Converting freerdp-nightly deb to tce
Post by: Risthel on March 24, 2016, 06:27:07 AM
perhaps you need "-DWITH_SSE2=ON" for i486?

Still the same issue using WITH_SSE2, and creating manually the build dir.
It seems that the version of gcc is not being correctly probed by cmake:

Code: [Select]
tc@box:~/freerdp_sources/FreeRDP-master$ mkdir build
tc@box:~/freerdp_sources/FreeRDP-master$ cd build/
tc@box:~/freerdp_sources/FreeRDP-master/build$ cmake -DWITH_SSE2=ON -DWITH_PCSC=ON  ../
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Check for working C compiler: /usr/local/bin/cc
-- Check for working C compiler: /usr/local/bin/cc -- broken

Title: Re: Converting freerdp-nightly deb to tce
Post by: Juanito on March 24, 2016, 06:37:06 AM
You could try this:
Code: [Select]
$ tce-load -i compiletc git cmake Xorg-7.7-3d-dev pulseaudio-dev cups-dev ffmpeg-dev gst-plugins-base-dev

$ git clone git://github.com/FreeRDP/FreeRDP.git

$ cd FreeRDP

$ mkdir build
$ cd build

$ cmake -DCMAKE_C_FLAGS="-march=i486 -mtune=i686 -Os -pipe" -DCMAKE_CXX_FLAGS="-march=i486 -mtune=i686 -Os -pipe" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DWITH_LIBSYSTEMD=OFF -DWITH_WAYLAND=OFF -DWITH_PULSE=ON -DWITH_CUPS=ON -DWITH_JPEG=ON -DWITH_X264=ON -DWITH_GSTREAMER_1_0=ON -DWITH_FFMPEG=ON -DWITH_SSE2=ON../
Title: Re: Converting freerdp-nightly deb to tce
Post by: Risthel on March 24, 2016, 07:02:45 AM
OK. Downloaded and installed all the extensions and it's deps:
Code: [Select]
tc@box:~$ tce-load -wi compiletc git cmake Xorg-7.7-3d-dev pulseaudio-dev cups-dev ffmpeg-dev gst-plugins-base-dev
The zipfile sourcecode i was using on previous posts, I downloaded directly from FreeRDP github repo to avoid installing tons of software. This machine i'm using to build freerdp is a "Connec EZ 810" thinclient(Brazilian Thinclient manufacturer), and it have only 500MB of storage  ;)

Now, i'm using exactly the same building options as you, except that i added the "WITH_PCSC"  to enable smartcard loggin(another "must have" on our infrastructure), but the error still reproduces(also, withouth WITH_PCSC):

Code: [Select]
tc@box:~$ git clone git://github.com/FreeRDP/FreeRDP.git
Cloning into 'FreeRDP'...
remote: Counting objects: 87619, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 87619 (delta 0), reused 0 (delta 0), pack-reused 87616
Receiving objects: 100% (87619/87619), 27.18 MiB | 340 KiB/s, done.
Resolving deltas: 100% (66314/66314), done.
Checking out files: 100% (2168/2168), done.
tc@box:~$ cd FreeRDP/
tc@box:~/FreeRDP$ mkdir build
tc@box:~/FreeRDP$ cd build
tc@box:~/FreeRDP/build$ cmake -DCMAKE_C_FLAGS="-march=i486 -mtune=i686 -Os -pipe" -DCMAKE_CXX_FLAGS="-march=i486 -mtune=i686 -Os -pipe" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release -DWITH_LIBSYSTEMD=OFF -DWITH_WAYLAND=OFF -DWITH_PULSE=ON -DWITH_CUPS=ON -DWITH_JPEG=ON -DWITH_X264=ON -DWITH_GSTREAMER_1_0=ON -DWITH_FFMPEG=ON -DWI
TH_SSE2=ON -DWITH_PCSC=ON ../
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Check for working C compiler: /usr/local/bin/cc
-- Check for working C compiler: /usr/local/bin/cc -- broken
CMake Error at /tmp/tcloop/cmake/usr/local/share/cmake-3.2/Modules/CMakeTestCCompiler.cmake:61 (message):
  The C compiler "/usr/local/bin/cc" is not able to compile a simple test
  program.


IF i change the /usr/local/bin/cc from gcc to tcc(Tiny C Compiler), the cc verification passes, but the c++ crashes with the same problem that it is not able to compile a simple test program.
Title: Re: Converting freerdp-nightly deb to tce
Post by: Rich on March 24, 2016, 07:47:11 AM
Hi Risthel
Code: [Select]
  cc1plus: internal compiler error: Illegal instruction

  Please submit a full bug report,

  with preprocessed source if appropriate.

  See <http://gcc.gnu.org/bugs.html> for instructions.
I think the compiler is trying execute some instruction that your CPU does not support. Do you have a machine with
an i686 CPU or higher that you could try compiling on?
Title: Re: Converting freerdp-nightly deb to tce
Post by: Juanito on March 24, 2016, 09:43:34 AM
except that i added the "WITH_PCSC"  to enable smartcard loggin(another "must have" on our infrastructure), but the error still reproduces(also, withouth WITH_PCSC):

What library is required to support pcsc/smart cards (I don't think it's in the repo)?
Title: Re: Converting freerdp-nightly deb to tce
Post by: Risthel on March 24, 2016, 09:44:50 AM
Do you have a machine with an i686 CPU or higher that you could try compiling on?

Deploying a virtual machine right now. I'll install all development tools and let you all know if something happens.

Thanks for all the help :)
Title: Re: Converting freerdp-nightly deb to tce
Post by: Juanito on March 24, 2016, 09:57:00 AM
I just tested on an i7 using uname_hack to set it to i486 and it builds OK for me (without pcsc).
Title: Re: Converting freerdp-nightly deb to tce
Post by: Risthel on March 24, 2016, 10:56:36 AM
Juanito, Rich

Thanks for all the help. Creating an i386 machine on vmware did the trick. Compilation worked like a charm.

What library is required to support pcsc/smart cards (I don't think it's in the repo)?

pcsc-lite was used.

Pre-compilation output:
Code: [Select]
tc@box:~/freerdp_source/FreeRDP/build$ cmake -DCMAKE_C_FLAGS="-march=i486 -mtune=i686 -Os -pipe" -DCMAKE_CXX_FLAGS="-march=i486 -mtune=i686 -Os -pipe" -DCMAKE_INSTALL_PREFI
X=/usr/local -DCMAKE_BUILD_TYPE=Release -DWITH_LIBSYSTEMD=OFF -DWITH_WAYLAND=OFF -DWITH_PULSE=ON -DWITH_CUPS=ON -DWITH_JPEG=ON -DWITH_X264=ON -DWITH_GSTREAMER_1_0=ON -DWITH
_FFMPEG=ON -DWITH_SSE2=ON -DWITH_PCSC=ON ../
-- FreeRDP GIT
-- Git Revision 75ae3f5
-- GCC default symbol visibility: hidden
-- Skipping recommended feature libsystemd for systemd journal appender (allows to export wLog to systemd journal)
-- Finding recommended feature X11 for X11 (X11 client and server)
--     Disable feature X11 using "-DWITH_X11=OFF"
-- Skipping recommended feature Wayland for Wayland (Wayland client)
-- Skipping optional feature DirectFB for DirectFB (DirectFB client)
--     Enable feature DirectFB using "-DWITH_DIRECTFB=ON"
-- Finding required feature ZLIB for compression (data compression)
-- Finding required feature OpenSSL for cryptography (encryption, certificate validation, hashing functions)
-- Skipping optional feature MbedTLS for cryptography (encryption, certificate validation, hashing functions)
--     Enable feature MbedTLS using "-DWITH_MBEDTLS=ON"
-- Skipping optional feature OpenSLES for multimedia (OpenSLES audio / video)
--     Enable feature OpenSLES using "-DWITH_OPENSLES=ON"
-- Finding recommended feature OSS for sound (audio input, audio output and multimedia redirection)
--     Disable feature OSS using "-DWITH_OSS=OFF"
-- Found OSS Audio
-- Finding recommended feature ALSA for sound (audio input, audio output and multimedia redirection)
--     Disable feature ALSA using "-DWITH_ALSA=OFF"
-- Finding optional feature Pulse for sound (audio input, audio output and multimedia redirection)
-- Finding optional feature Cups for printing (printer device redirection)
-- Finding optional feature PCSC for smart card (smart card device redirection)
-- Finding recommended feature FFmpeg for multimedia (multimedia redirection, audio and video playback)
--     Disable feature FFmpeg using "-DWITH_FFMPEG=OFF"
-- Skipping optional feature GStreamer_0_10 for multimedia (multimedia redirection, audio and video playback, gstreamer 0.10 version)
--     Enable feature GStreamer_0_10 using "-DWITH_GSTREAMER_0_10=ON"
-- Finding recommended feature GStreamer_1_0 for multimedia (multimedia redirection, audio and video playback)
--     Disable feature GStreamer_1_0 using "-DWITH_GSTREAMER_1_0=OFF"
-- Found Glib
-- Finding optional feature JPEG for codec (use JPEG library)
-- Found JPEG: /usr/local/lib/libjpeg.so
-- Finding optional feature x264 for codec (use x264 library)
-- Found x264: /usr/local/lib/libx264.so
-- Found x264: /usr/local/lib/libx264.so
-- Skipping optional feature OpenH264 for codec (use OpenH264 library)
--     Enable feature OpenH264 using "-DWITH_OPENH264=ON"
-- Skipping optional feature GSM for codec (GSM audio codec library)
--     Enable feature GSM using "-DWITH_GSM=ON"                 
-- Skipping optional feature IPP for performance (Intel Integrated Performance Primitives library)
--     Enable feature IPP using "-DWITH_IPP=ON"
-- FreeRDP GIT
-- Looking for include file stdbool.h
-- Looking for include file stdbool.h - found
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Finding recommended feature XKBFile for X11 keyboard (X11 keyboard file extension)
--     Disable feature XKBFile using "-DWITH_XKBFILE=OFF"
-- Found XKBFile: /usr/local/lib/libxkbfile.so
-- FreeRDP GIT
-- Adding dynamic channel client "tsmf": Video Redirection Virtual Channel Extension
-- Finding required feature XRandR for X11 randr (X11 randr extension)
-- Found XRANDR: /usr/local/lib/libXrandr.so
-- Finding recommended feature Xext for X11 extension (X11 core extensions)
--     Disable feature Xext using "-DWITH_XEXT=OFF"
-- Found Xext: /usr/local/lib/libXext.so
-- Adding device channel client "smartcard": Smart Card Virtual Channel Extension
-- Adding device channel client "serial": Serial Port Virtual Channel Extension
-- Adding static channel client server "remdesk": Remote Assistance Virtual Channel Extension
-- Adding static channel client server "rdpsnd": Audio Output Virtual Channel Extension
-- Adding dynamic channel client "rdpgfx": Graphics Pipeline Extension
-- Adding dynamic channel client "rdpei": Input Virtual Channel Extension
-- Adding static channel client server "rdpdr": Device Redirection Virtual Channel Extension
-- Adding static channel client "rail": Remote Programs Virtual Channel Extension
-- Adding device channel client "printer": Print Virtual Channel Extension
-- Adding device channel client "parallel": Parallel Port Virtual Channel Extension
-- Adding static channel client server "encomsp": Multiparty Virtual Channel Extension
-- Adding dynamic channel client server "echo": Echo Virtual Channel Extension
-- Adding device channel client "drive": Drive Redirection Virtual Channel Extension
-- Adding static channel client server "drdynvc": Dynamic Virtual Channel Extension
-- Adding dynamic channel client "disp": Display Update Virtual Channel Extension
-- Adding static channel client server "cliprdr": Clipboard Virtual Channel Extension
-- Adding dynamic channel client server "audin": Audio Input Redirection Virtual Channel Extension
-- Could NOT find DocBook XSL stylesheets (missing:  DOCBOOKXSL_DIR)
CMake Warning at client/X11/CMakeLists.txt:117 (message):
  WITH_MANPAGES was set, but xsltproc was not found.  man-pages will not be
  installed

-- Finding required feature XShm for X11 shared memory (X11 shared memory extension)
-- Found XShm: /usr/local/lib/libXext.so
-- Finding recommended feature Xinerama for multi-monitor (X11 multi-monitor extension)
--     Disable feature Xinerama using "-DWITH_XINERAMA=OFF"
-- Found Xinerama: /usr/local/lib/libXinerama.so
-- Finding recommended feature Xext for X11 extension (X11 core extensions)
--     Disable feature Xext using "-DWITH_XEXT=OFF"
-- Finding recommended feature Xcursor for cursor (X11 cursor extension)
--     Disable feature Xcursor using "-DWITH_XCURSOR=OFF"
-- Found Xcursor: /usr/local/lib/libXcursor.so
-- Finding recommended feature Xv for video (X11 video extension)
--     Disable feature Xv using "-DWITH_XV=OFF"
-- Found Xv: /usr/local/lib/libXv.so
-- Finding recommended feature Xi for input (X11 input extension)
--     Disable feature Xi using "-DWITH_XI=OFF"
-- Found Xi: /usr/local/lib/libXi.so
-- Looking for XITouchClass
-- Looking for XITouchClass - found
-- Finding recommended feature Xrender for rendering (X11 render extension)
--     Disable feature Xrender using "-DWITH_XRENDER=OFF"
-- Found Xrender: /usr/local/lib/libXrender.so
-- Finding recommended feature Xfixes for X11 xfixes extension (Useful additions to the X11 core protocol)
--     Disable feature Xfixes using "-DWITH_XFIXES=OFF"
-- Found Xfixes: /usr/local/lib/libXfixes.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tc/freerdp_source/FreeRDP/build

Package creation was like riding a bike:

Code: [Select]
tc@box:~/freerdp_source/FreeRDP/build$ sudo make DESTDIR=/tmp/destfreerdp install
tc@box:~/freerdp_source/FreeRDP/build$ cd /tmp
tc@box:/tmp$ tce-load -wi squashfs-tools

# Removing some headers inside the package...
tc@box:/tmp$ sudo rm -fr destfreerdp/usr/local/include/
tc@box:/tmp$ mksquashfs destfreerdp/ freerdp-nightly.tcz
Parallel mksquashfs: Using 1 processor
Creating 4.0 filesystem on freerdp-nightly.tcz, block size 4096.
[===========================================================================================================================================================/] 741/741 100%

Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 4096
        compressed data, compressed metadata, compressed fragments, no xattrs
        duplicates are removed
Filesystem size 1191.74 Kbytes (1.16 Mbytes)
        41.00% of uncompressed filesystem size (2906.37 Kbytes)
Inode table size 2116 bytes (2.07 Kbytes)
        46.04% of uncompressed inode table size (4596 bytes)
Directory table size 569 bytes (0.56 Kbytes)
        42.62% of uncompressed directory table size (1335 bytes)
Number of duplicate files found 3
Number of inodes 50
Number of files 29
Number of fragments 9
Number of symbolic links  10
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 11
Number of ids (unique uids + gids) 1
Number of uids 1
        root (0)
Number of gids 1
        root (0)

tc@box:/tmp$ cp freerdp-nightly.tcz ~
tc@box:/tmp$ cd
tc@box:~$ du -sh freerdp-nightly.tcz
1.2M    freerdp-nightly.tcz

The package is pretty slim, but as this is my first experience with TinyCore i may have missed something that could be deleted from the extension(no manuals found, but deleted some headers).

The final test was to load a .rdp fie with gateway configuration, and it worked! YAYYYY!!!!!

Code: [Select]
tc@box:~$ xfreerdp RDS.rdp /d:DOMAIN /u:risthel /cert-ignore
Ill copy the package to the thinclient and post the results as soon as i can test.  :D

I did not created the deps file yet, but, if someone needs this extension just provide me a place to upload that i'll be happy to help.
Title: Re: Converting freerdp-nightly deb to tce
Post by: Risthel on March 24, 2016, 12:53:15 PM
Quick follow-up

Worked on that limmited hardware ThinClient and it's blazing fast. The only issue is that i had to compile with the option "WITH_SSE2=NO" because this processor does not support it, and xfreerdp was crashing with "Illegal Instruction".

Code: [Select]
tc@box:~$ cat /proc/cpuinfo
processor       : 0
vendor_id       : CentaurHauls
cpu family      : 6
model           : 9
model name      : VIA Nehemiah
stepping        : 8
cpu MHz         : 800.329
cache size      : 64 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr cx8 mtrr pge cmov pat mmx fxsr sse rng rng_en ace ace_en
bugs            :
bogomips        : 1601.35
clflush size    : 32
cache_alignment : 32
address sizes   : 32 bits physical, 32 bits virtual
power management:

Now, ill make further tests with pcsc-daemon, and smartcard mapping.  ;D ;D ;D
Title: Re: Converting freerdp-nightly deb to tce
Post by: curaga on March 24, 2016, 01:50:23 PM
Hm, that is 686-class, with SSE too. Curious that our g++ would require something newer.
Title: Re: Converting freerdp-nightly deb to tce
Post by: Juanito on March 25, 2016, 01:14:57 AM
Hmm - seems as my smartcard reader is pci, ccid/pcsc-lite doesn't find it and it's not obvious that the kernel driver works:
Code: [Select]
03:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01)

mmc0: Unknown controller version (3). You may experience problems.
sdhci-pci 0000:03:00.0: No vmmc regulator found
sdhci-pci 0000:03:00.0: No vqmmc regulator found
mmc0: SDHCI controller on PCI [0000:03:00.0] using ADMA

 :(
Title: Re: Converting freerdp-nightly deb to tce
Post by: curaga on March 25, 2016, 03:18:08 AM
I don't think they do SD-compatible smart cards, at least google images has credit card sized ones.
Title: Re: Converting freerdp-nightly deb to tce
Post by: Juanito on March 25, 2016, 06:11:48 AM
This is actually a credit card sized slot - which works under windows with a "chip and pin" type smart card..

...not that I need to use it anymore, I was just interested to see if it worked under linux.
Title: Re: Converting freerdp-nightly deb to tce
Post by: Juanito on March 25, 2016, 06:36:13 AM
(since I'd compiled it) freerdp uploaded to corepure64 repo.
Title: Re: Converting freerdp-nightly deb to tce
Post by: Risthel on March 28, 2016, 10:04:12 AM
If anybody needs the x86 version, i have compiled with and without the SSE2 instruction:

https://drive.google.com/open?id=0B4jP0z4Wk2WZQ2lORjVPdHhQelk

List of dependencies(install them by hand before installing freerdp).

Code: [Select]
libXv
libxkbfile
x264
libcups
libavcodec
gstreamer
gst_plugins_base
libasound
libpulseaudio

Thanks for all the help guys :) Awesome community.