Error relocating /usr/bin/mono: getrandom: symbol not found - mono

I'm trying to install mono inside an alpine 3.8 container and I received this message when running mono:
Error relocating /usr/bin/mono: getrandom: symbol not found
Is there a way to fix this ?

mono is only available in edge testing alpine repository. In order to install it, we need to have musl at least version 1.1.20, which is available in alpine v3.9 main or edge main repositories.
So, you have two options to proceed:
1. Install musl from alpine v3.9 repository on alpine v3.8 base image and install mono from alpine edge testing after that:
FROM alpine:3.8
RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/v3.9/main musl\>1.1.20
RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing mono
CMD mono
2. Install mono from alpine edge testing on alpine v3.9 base image:
FROM alpine:3.9
RUN apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing mono
CMD mono

Related

how to update meson version in flatpak builder

I'm trying to work on a gnome project (Aisleriot). It requires meson, so I installed it using
sudo apt install meson
That installed version 0.61.2. Unfortunately, the project requires version >= 0.62.0. Next, I ran the following command:
sudo apt-get install python3 python3-pip python3-setuptools python3-wheel ninja-build
Now meson is at version 0.64.0. Unfortunately, when I run Builder
flatpak run org.gnome.Builder
and load my project, it still uses meson version 0.61.2. Why is it using this earlier version and how do I tell Builder to use the system version instead?
There is a similar question from 4 years ago, but it talks about a build settings panel, which I couldn't find. Does the build settings panel still exist and how do I display it?

Using Github CI Pipeline with wxWidgets

I got a cross platform application using a wxWidgets gui and want to test the cross build with github ci pipeline.
The Linux test runs fine as i'm able to install the wxWidgets dependencies using apt-get.
But i got no idea how to setup the wxWidgets Windows dependencies. Google didn't help me either.
any suggestions what command i need to put into my yml-file?
thanks!
edit: what i've tried so far...
- name: install wxwidgets
shell: powershell
run: |
choco install wxwidgets
but this is the same like cloning the git version, only with an older version
and
run: |
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
bootstrap-vcpkg.bat
vcpkg integrate install
vcpkg install wxwidgets
the pipeline keeps hanging while installing vcpkg
You should be able to install wxWidgets using vcpkg, of course, but you can also just download the official binaries and use them instead, e.g. like this:
build-cpp-windows-2019:
name: C++/MSVS (windows-2019)
runs-on: windows-2019
env:
wxMSW_VER: 3.1.3
WXWIN: c:\wx
steps:
[...]
- name: Install wxWidgets
run: |
mkdir ${env:WXWIN} | Out-Null
cd ${env:WXWIN}
curl -OL https://github.com/wxWidgets/wxWidgets/releases/download/v${env:wxMSW_VER}/wxWidgets-${env:wxMSW_VER}-headers.7z
7z x wxWidgets-${env:wxMSW_VER}-headers.7z
curl -OL https://github.com/wxWidgets/wxWidgets/releases/download/v${env:wxMSW_VER}/wxMSW-${env:wxMSW_VER}_vc14x_x64_Dev.7z
7z x wxMSW-${env:wxMSW_VER}_vc14x_x64_Dev.7z

Can I use phantomJS on Azure app service for linux?

I'm getting a consistent error when trying to use the html-pdf package in my node application:
StatusError: Error: spawn /home/site/wwwroot/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs ENOENT
As far as I can tell everything is installed correctly and the npm install works as expected. My suspicion is that there is some missing dependency in the built-in linux image, but I'm not sure how to confirm that.
According to the information comes from the Download PhantomJS page, there is two note for Linux Distributions as below.
Note: For this static build, the binary is self-contained. There is no requirement to install Qt, WebKit, or any other libraries. It however still relies on Fontconfig (the package fontconfig or libfontconfig, depending on the distribution). The system must have GLIBCXX_3.4.9 and GLIBC_2.7.
So the native package fontconfig or libfontconfig must have been installed in docker image first.
For Debian/Ubuntu system, you can add RUN apt install fontconfig in the docker file, and check the package installed whether be exists via the command dpkg -l|grep fontconfig.
For Fedora/CentOS system, add RUN yum install -y fontconfig, and check the installed on via yum list installed|grep fontconfig.

How can I build an RPM package in a Debian based system?

I'd like to build packages using a build system (i.e. jenkins, travis, etc) but all I have are Ubuntu 12.04 VMs.
I've found this [1] instructions but mach does not support CentOS 7.0.
[1] http://blog.burghardt.pl/2008/12/how-to-build-rpm-packages-in-centos-chroot-on-debian/
http://mojo.codehaus.org/rpm-maven-plugin/ <- rpm plugin for the maven build system
sudo apt-get install rpm # for Ubuntu
Check out the command that it installs called rpmbuild.
Found it! There is actually a tool called rinse: "Rinse is a simple tool which is designed to carry out the installation of a new RPM-based distribution".
rinse --distribution="centos-7" --directory="/tmp/centos-7"
http://collab-maint.alioth.debian.org/rinse/

How can I get Mono 2.11+ installed on Travis-CI?

I build my C# project on Travis-CI like this:
# .travis.yml
before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq mono-devel gtk-sharp2
install:
- xbuild Source/Pash.sln
Travis uses Precise (Ubuntu 12.04 LTS) which seems like a good choice for them, but it includes Mono 12.10. My C# project hits a bug in Mono 2.10. The bug appears to be fixed in Mono 2.11+.
I read that Ubuntu is slow to pick up new builds of Mono because so much depends on it, and it can break so much. That's fine, but for Travis dependencies aren't really a problem - the machine goes away at the end of the build!
I have considered
compiling a new Mono in .travis.yml but I don't want to put that much burden on the Travis servers.
Building a MCS (Mono C# compiler) with just this fix.
Downloading and installing a newer Mono from somewhere (where?)
Checking a recent Mono in to my GIT repo.
Suggestions?
If you're going to use something higher than what standard distro packages provide, I recommend you to go all the way and not use unstable 2.11.x series, but official/beta 3.x ones.
So, grab yourself some preview Debian/Ubuntu 3.0.6 packages from this PPA:
http://www.meebey.net/posts/mono_3.0_preview_debian_ubuntu_packages/
The best way I've found to get a full up to date mono environment is to use an OS X travis profile
language: objective-c
before_install:
# Make sure mono is installed,
- wget http://download.mono-project.com/archive/3.0.10/macos-10-x86/MonoFramework-MDK-3.0.10.macos10.xamarin.x86.dmg
- hdid MonoFramework-MDK-3.0.10.macos10.xamarin.x86.dmg
- sudo installer -pkg "/Volumes/Mono Framework MDK 3.0.10/MonoFramework-MDK-3.0.10.macos10.xamarin.x86.pkg" -target /
install:
- xbuild Source/Pash.sln