These are chat archives for AvaloniaUI/Avalonia

12th
Jan 2017
Steven Kirk
@grokys
Jan 12 2017 03:43
@jkoritzinsky fantastic! Just arrived in the US, will try to check it tomorrow your time :)
Nikita Tsukanov
@kekekeks
Jan 12 2017 15:16
@ronnyek I did, but it was with our own skia bindings
And those were basically a C++ implementation of our rendering subsystem
Weston
@ronnyek
Jan 12 2017 15:17
I dont know what that was in reference to
=)
Nikita Tsukanov
@kekekeks
Jan 12 2017 15:17
>
Jan 10 20:58
I thought @kekekeks had it working both via drm and x
This
Weston
@ronnyek
Jan 12 2017 15:17
oh
Nikita Tsukanov
@kekekeks
Jan 12 2017 15:17
Sorry, I'm quite slow to answer these days
Weston
@ronnyek
Jan 12 2017 15:17
no problem, busy man I'm sure
or Lady
anyway, I remember you kinda heading up a lot of this stuff
you anticipate much progress on .net core compatible version or too many outside dependencies?
I'm gonna get started on my cross platform installer sooner than later anyway, just prefer if it wasnt just ncurses based =)
Nikita Tsukanov
@kekekeks
Jan 12 2017 15:19
Well, the main issue with .NET Core
Is the lack of bindings for GTK
Or any other usable UI toolkit
So we don't have anything to show windows
I've started working on P/Invoke-based GTK3 backend, but there weren't much progress on that front
Since we don't have the linux build for Skia#
Well, we do have one, but it's not officially supported and is sized 100MB or something
Since building a stripped version of Skia is kinda tricky
And that's actually a problem, since Xamarin doesn't seem to be interested in linux support at all
for some reason
BTW, there is a way of providing a build that "just works" everywhere, but one has to somehow build skia on really old Linux distribution
Like Debian 5 or something
Nikita Tsukanov
@kekekeks
Jan 12 2017 15:24
And make it to depend only on libc
So resulting binary won't depend on anything
$ ldd libperspesk.so 
        linux-vdso.so.1 =>  (0x00007ffd7adf3000)
        libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f1cabc08000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f1cab9ee000)
        libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f1cab7af000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1cab591000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1cab20f000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1caaf06000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1caab3c000)
        libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f1caa916000)
        libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f1caa6ec000)
        /lib64/ld-linux-x86-64.so.2 (0x000055b85c884000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1caa4d5000)
That's the list of libraries that I've managed to reduce it to last time
There would be issues at least with libpng12.so.0, since it doesn't exist in recent ubuntu version for example
So it needs to be either included or statically compiled
Basically, that's a lot of work to create a suitable environment and build scripts to build that
Oh, wait
Nevermind
mono/SkiaSharp@3b9a7f9
Nikita Tsukanov
@kekekeks
Jan 12 2017 15:29
A commit from yesterday
" Preparation for building on linux "
Jeremy Koritzinsky
@jkoritzinsky
Jan 12 2017 15:32
Well that's nice 👌 that'll be helpful for the future.
Nikita Tsukanov
@kekekeks
Jan 12 2017 15:33
Oh, completely forgot that you hang out here )
If you need any advice on stripping the library from dead weight, email me
I've spent something like a week trying to figure it out
danwalmsley
@danwalmsley
Jan 12 2017 16:16
@kekekeks this could help?
Nikita Tsukanov
@kekekeks
Jan 12 2017 16:25
It might, but I have almost no experience with RHEL-based distros
But it looks pretty good
But from description it looks pretty awesome
danwalmsley
@danwalmsley
Jan 12 2017 16:27
me neither, but we could probably get Jenkins to run up this docker image, and then build the Linux binaries we need inside that
Nikita Tsukanov
@kekekeks
Jan 12 2017 16:53
Well...
There is one tiny little issue
We need to somehow run Cake on this thing
Oh, well, I have some experience of compiling mono on weird environments, so we should be ok
Might as well get some "portable mono" out of this
Nikita Tsukanov
@kekekeks
Jan 12 2017 16:59
Sounds like fun
This might work out of the box through
danwalmsley
@danwalmsley
Jan 12 2017 17:53
We
Can probably do a docker image with both those things in
And fingers crossed that will work
Nikita Tsukanov
@kekekeks
Jan 12 2017 17:54
I'll check if that mono-opt package can run Cake in HBB
If that works, we just have to wait for general linux support in the build script
And continue from there
Nikita Tsukanov
@kekekeks
Jan 12 2017 18:14
[root@b0657e82e89a io]# cat /etc/redhat-release 
CentOS release 5.11 (Final)
[root@b0657e82e89a io]# mono --version
Mono JIT compiler version 4.6.2 (Stable 4.6.2.16/ac9e222 Sat Jan  7 07:21:44 UTC 2017)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug 
        LLVM:          yes(3.6.0svn-mono-/)
        GC:            sgen
Mkay, got mono working there
Nikita Tsukanov
@kekekeks
Jan 12 2017 18:28
Mkay, got Cake script running
It still fails to compile native libs through
So, the easy part is done