Package prebuild binaries using snapcraft with Fedora (mono and gtk-sharp2) - mono

I'm trying to package my project using snapcraft. I think it is easiest to package the prebuild binaries, which are available here: https://sourceforge.net/p/audiocuesheet
This is a mono and gtk-sharp2 project, so I thought of using snapcraft to bundle my application. But I fight currently getting this to run.
My snapcraft.yml:
name: audiocuesheeteditor
version: '2.4.2'
summary: Write audio cue sheets fast and efficient
description: |
Annoyed of writing your audio cue sheets via text editor? Here comes the solution! Audio Cuesheet Editor helps you editing your audio cuesheet file. With AudioCuesheetEditor you can import text files, edit the imported data and afterwards export to a working audio cuesheet.
apps:
AudioCuesheetEditor:
command: AudioCuesheetEditor/./AudioCuesheetEditor
parts:
audiocuesheeteditor:
source: /home/sven/Downloads/AudioCuesheetEditor-linux-x64-v2.4.2.zip
plugin: dump
I have run once snapcraft, but now the second time i get the following output:
[root#localhost Downloads]# snapcraft
Native builds aren't supported on Fedora. You can however use 'snapcraft cleanbuild' with a container.
Do you have an idea, why I can not rebuild the snap?
Also, how do I make shure, that mono and gtk-sharp2 binaries are installed on the target system?
Thanks for your help guys.
Sven

Related

Install jpeg 2000 on Windows 10

I want to investigate a new application for JPEG 2000 encoding and decoding. I downloaded openjpeg-master and managed to cobble together the ability to cmake the files. After a bunch of grinding, this resulted in the following output:
"Build files have been written to: C: openjpeg-master/build
\build> "
Any "normal" Unix installations have a multi-step installation like this:
"UNIX/LINUX - MacOS (terminal) - WINDOWS (cygwin, MinGW)
To build the library, type from source tree directory:
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
Binaries are then located in the 'bin' directory.
To install the library, type with root privileges:
make install
make clean
To build the html documentation, you need doxygen to be installed on your system. It will create an "html" directory in TOP_LEVEL/build/doc)
make doc"
But the Windows 10 equivalent is unclear, to put the most charitable spin on it. You can find it here: "https://github.com/uclouvain/openjpeg/blob/master/INSTALL.md"
Some questions arise:
is there a better starting place for installing JPEG 2000 that actually shows me how to install it and run the tests?
if not, how do I get from the build files to installing the libraries and making the test programs?
Is there more information I can dig out that would help to answer these questions?
Since I'm allergic to Visual Studio, I overlooked a nice tutorial specifying how to install something as complex as openjpeg by direct clone from github. However, in desperation, I found it and it worked. It is Visual Studio Community 2019 Version 16.8.3. I needed only to use -DTHIRDPARTY to get the third party libraries installed. There is a drop-down menu to build and install OPENJPEG. All I need to do now is figure out how to compile and run the utilities that invoke the installed libraries ...
actually, the complete line to add was -DBUILD_THIRDPARTY:bool=true.
Somewhere in my frantic random search for a way forward, I remember seeing the thought that to make the tests work, I merely need to find files like *.vsproj and run them a separate VS solutions. Some random guesswwork with .vdproj files in src/bin/... hasn't produced anything good. Is there not a document somewhere showing how to run the tests?

QtVirtualkeyboard Languages issue on ARM processor

i am using Qt5.7.1 on debian jessie linux virtual machine and deploy my application on the iMx6 processor, also running Qt5.7.1 and debian jessie.
I compiled the QtVirtualkeyboard project to add all languages that Qt supports.
First i compiled it for the PC linux and after for the iMx6.
I copied the new build plugin into the iMx6 Qt install plugin path and the other files required.
So on PC side the "basic" example project shows all languages with no issue.
Running the same example project on iMx6, i get almost all languages except those:
qml: Qt.createQmlObject(): failed to create object:
qrc:/QtQuick/VirtualKeyboard/content/layouts/ja_JP/japaneseInputMethod:1:57: JapaneseInputMethod is not a type
qml: Qt.createQmlObject(): failed to create object:
qrc:/QtQuick/VirtualKeyboard/content/layouts/ko_KR/hangulInputMethod:1:57: HangulInputMethod is not a type
qml: Qt.createQmlObject(): failed to create object:
qrc:/QtQuick/VirtualKeyboard/content/layouts/zh_CN/pinyinInputMethod:1:57: PinyinInputMethod is not a type
qml: Qt.createQmlObject(): failed to create object:
qrc:/QtQuick/VirtualKeyboard/content/layouts/zh_TW/tcInputMethod:1:57: TCInputMethod is not a type
Did i miss to copy a source file for those languages or something?
If yes which files and where should they be copied to?
So i did made it to work.The problem is that QtVirtualkeyboard uses thirdparty libraries and it cannot find it.
To solve the proble you must also compile all QtVirtualkeyboard thirdparty libraries and copy it to your ARM CPU like iMx6.
Example for simple chinese:
cd /home/yourname/Qt5.9.1/5.9.1/Src/qtvirtualkeyboard/src/virtualkeyboard/3rdparty/pinyin
qmake
make
Copy the .dat library for pinyin (dict_pinyin.dat) to directory like
/usr/local/qt5.9.1/qtvirtualkeyboard/pinyin
Now QtVirtualkeyboard should find the simple chinese dictonary. This should be done for japonese and traditional chinese and hundspell as well if you use them.

How to enable eglfs plugin in Yocto setup? using yocto+meta-qt5 for Riotboard

Recently I just used fsl-community-bsp and meta-qt5 layer to generate the cross toolchain and the rootfs. I used "bitbake meta-toolchain-qt5" and "bitbake fsl-image-multimedia-full". Both fsl-community-bsp and meta-qt5 use jethro branch.
Following are some of my questions:
In the rootfs which I put in the “riotboard”, is qt5 library already in it? Do I need to compile the source of qt5 and copy it to the board
separately?---Now it's clear, the library are inside the rootfs;
I have set up the qtcreator: device, kit, qt version, compiler, debugger, also ssh connection, but when I run the application, qt says
“This application failed to start because it could not find or load the qt platform plugin xcb, available platform plugin are: eglfs, minimal, minimalegl, offscreen”.---It seems the error is fixed by me, modifying the PACKAGECONFIG[gles2]="-opengl es2 -eglfs -qpa eglfs,,virtual/libgles2 virtual/egl";
In the Jethro branch of meta-qt5, the qtbase.inc is missing, correct? I found on the internet, that I can modify the PACKAGECONFIG[gles] value, add –qpa eglfs.---It's into the qtbase_git.bb now;
I also found that in the Jethro branch, the serialport is also missing, but in our application, we need this function to handle the serial keyboard. How can we do now?---I find it now;
If I need to compile the qt5 source and copy all the folder to the riotboard, how can I set the path in the qtcreator to find the relevant library?---No need to do this;
Thank you very much!
To enable EGLFS, in local.conf add: DISTRO_FEATURES_remove = "X11 wayland"
1.You do not need to copy the qt5 library, you could follow this wandboard qt5 implementation here
In your machine, you need to enable Qt to run eglfs platform, in /etc/profile, add export QT_QPA_PLATFORM=eglfs or when you run an application; you need to add -platform eglfs. ie. helloworld -platform eglfs
There is no qtbase.inc; You could add PACKAGECONFIG_append_pn-qtbase = " eglfs xx xxx xxxx" to enable the configuration you need
There is qtserialport_git.bb in Jethro
As said, you do not copy the libraries and sources but instead tell Bitbake to do that for you. They will be moved to the corresponding places.

iOS Application crashes when using SpriteKit's TextureAtlas and building over Xcode command-line

We use the new SpriteKit framework in iOS 7 to develop small games. To build and distribute new versions of our games, we use a build and deploy server which uses Xcode5's command-line tools.
When we use a Texture Atlas in Xcode and open the SpriteKit view which uses images from the texture atlas, the application (built over command-line) crashes.
When we build the application Xcode's GUI and deploy it to the device using Xcode's GUI, everything works fine and the application does not crash.
This seems to be a bug in Xcode5's command line tools.
Any ideas for a workaround?
Using Xcode 5 Final:
It seems that the xCode command line tools simply ignores the setting "Enable texture atlas generation" inside the build settings.
All builds done on command line, debug and release builds, don't contain any compiled texture atlas folders. (Only the source .atlas ones). If i do the same build using the Xcode GUI, the source atlas (.atlas) folders are gone and there are the correct ".atlasc" folders with the compiled texture atlasses inside the IPA. The missing atlasses are the reason for the crashes mentioned by Stephan.
I've filled a bug in Apples Bug Reporter: 15250666
As a quick n dirty fix its possible to run the atlas generation manually using a shell script build phase like this:
cd "$CONFIGURATION_BUILD_DIR"/*.app
/Applications/Xcode.app/Contents/Developer/usr/bin/TextureAtlas YOURATLAS.atlas
I experienced quite a similar problem trying to run a SpriteKit app on my test device from AppCode which I assume uses xcode-build underneath.
You can see details here.
To do this I had to compile them manually as suggested by Lukas Alperowitz. Rather than compiling each script I suggest adding a generic rule.
To do this add a custom script that is run for all *.atlas files.
Custom script:
${DEVELOPER_TOOLS_DIR}/../usr/bin/TextureAtlas ${INPUT_FILE_PATH} ${DERIVED_FILE_DIR}
Output files:
${DERIVED_FILE_DIR}/${INPUT_FILE_BASE}.atlasc
UPDATE:
There is a separate TextureAtlas (note the uppercase) tool and it seems you have to invoke it manually for command line builds. This tool is in:
/Applications/Xcode.app/Contents/Developer/usr/bin
As of Xcode 5.0.1 the tool usage prints out the following:
Usage: TextureAtlas [-c][-p][-v][-f format] input_textures_folder optional_output_folder
-c: use copy textures instead of generating texture atlas.
-p: force texture atlas to have power of two dimensions.
-v: enable verbose output.
-f format: set texture output format.
format = 1 (default): output RGBA8888 format.
format = 2: output RGBA8888 compressed format.
format = 3: output RGBA4444 format.
format = 4: output RGBA5551 format.
format = 5: output RGB565 format.
Other things to check:
Verify that the crash is due to missing/corrupt texture. If it doesn't crash when loading the atlas or using one of the atlas textures, you probably have a different issue. Try running the automated build with debugger attached.
Is your automated build creating debug or release configuration builds? If release, try building the release version with the GUI. You may have a simple release-only crash issue.
Double-check that the texture atlas folder contains the same files as in the GUI builds
Delete the app from the device, clean build folder, re-run with GUI tools: does it crash now? If yes, you had a case where a texture was deleted from the project but was still in the bundle because Xcode doesn't delete files from a deployed bundle.
Xcode Preferences -> Locations: be sure that Command Line Tools is set to the correct version.
Run xcodebuild -version to verify the command line tool version
Try TexturePacker if all else fails

Play framework and IntelliJ new project creation -- errors

I am looking at Play 2.0 for the first time. I installed it using homebrew
~/code $ brew info play
play: stable 2.1.0, HEAD
http://www.playframework.org/
/usr/local/Cellar/play/2.1.0 (3998 files, 254M) *
https://github.com/mxcl/homebrew/commits/master/Library/Formula/play.rb
I create a new project and set it up for IntelliJ (12.0.4)
~/code $ play new playtime
...
play! 2.1.0 (using Java 1.7.0_15 and Scala 2.10.0), http://www.playframework.org
...
OK, application playtime is created.
...
~/code $ cd playtime/
~/code/playtime $ play idea
...
...
[info] Created /.../playtime/.idea_modules/playtime.iml
[info] Created /.../playtime/.idea_modules/playtime-build.iml
~/code/playtime $
I open IntelliJ and rebuild the project. I get
scala: Output path /.../playtime/project/target/scala_2.9.2 is shared between: Module 'playtime-build' production, Module 'playtime-build' tests
Currently external Scala compiler prohibits output path sharing.
Either disable the external build mode or configure separate output paths.
TIP: you can use Project Artifacts to combine compiled classes.
How to make a clean empty project that builds ?
Why does Play create a -build module ? What is it used for?
Why does this module reference a Scala 2.9.2 path ?
Libraries scala-2.9.2 and scala-2.10.0 also created, but not used. Why?
1) How to make a clean empty project that builds ?
Play 2.0 plugin for IDEA 12.1 (version 0.2.25 or 0.2.26) will be uploaded soon will be much better in this direction, I hope you will not have problems with compilation here.
2-3) Why does Play create a -build module ? What is it used for?
Build module is created for SBT build file. SBT depends on Scala 2.9.2 (that's why this module requires Scala 2.9.2), so to have better editor for such build file, SBT IDEA plugin creates this module (this is third-party plugin, our own SBT plugin will be implemented soon). However this is not right to create such confusing module, in Play 2.0 plugin 0.2.25 project creation will clean this module. So you will not have this confusing module.
4) scala-2.10.0 library is used in Scala facet for Scala compiler. However Scala compiler is not used in Play 2.0 project, we are using play compiler in our support (with bundled with play SBT compiler), so in general it's not used, but you still have this library, otherwise you will get some error messages from Scala compiler, what is Scala plugin usability problem, you can post new issue about it here: http://youtrack.jetbrains.com/issues/SCL