Install Gtk+ on pythonanywhere - gtk

I am generating a pdf using weasyprint on pythonanywhere(in django). Weasyprint is successfully installed but it needs other graphic rendering tools to be installed separately. How can I install Gtk+ on pyhtonanywhere?
EDIT: The fonts don't seem to load unless I have Pango. Since I can't have Gtk+ on pythonanywhere, is there anyway to load fonts in weasyprint without having Gtk+ libraries?

Related

Cross platform nuget HTML to PDF in ASP.NET Core

I'm working on the task to convert HTML to PDF. Our site is hosted on a Linux Docker container.
I tried many NuGet packages, from last week, but could not find a proper solution.
I tried all these packages:
Itextsharp
Select.Htmltopdf
wkhtmltopdf
hiqpdf
Can anyone suggest or show an example for a cross platform HTML to PDF conversion library?
Thanks in advance.
I had the same problem and I used HakanL/WkHtmlToPdf-DotNet which is a wrapper for the wkhtmltopdf tool. The package includes all necessary binaries for running on Windows, Linux, MacOSX and Docker. I tested it on Windows and Linux with .NET 6 and it worked without any problems.

Acquire Gtk binaries for windows under linux

I am currently trying to compile my Gtkmm program for windows using my linux system. This requires that I ship the Gtk binaries (in this case .dll's) with my program, since Gtk does not support static linking.
But I just dont know how to get them - the official Gtk download page ( https://www.gtk.org/download/windows.php ) just redirects to the MSYS2 project ( http://www.msys2.org/ ) that offers .EXE files **rage*!
I just dont know where I can download the right dll files that I need to include :/
I would appreciate any help with this.
Regards,
NiAypa
The GTK+ project does not distribute binaries for any platform.
If you are cross-compiling from Linux to Windows, you will need to cross-compile all the dependencies yourself, and distribute them together. Various distributions, like Fedora, ship with cross-compiled dependencies that you can re-use for that purpose.
The MSYS2 project is for building applications and libraries on Windows, using a native toolchain.
I'd like to point out that cross-compiling is great if you want to do CI and testing, but if you want to distribute complex applications for Windows my suggestion would be to actually build them on Windows.

Can't get SWT Browser to work in standalone RCP app on CentOS

My RCP app running in CentOS 6.7 uses the SWT Browser. It works properly when launching the app from within eclipse, but when I run it as a standalone app, the Browser cannot be instantiated, and a SWT Exception with message "No more handles" is thrown. I prefer to use the browser with style SWT.WEBKIT, but it doesn't work with style SWT.NONE either.
I have the latest versions of packages webkitgtk, webkitgtk-devel, and gtk2 installed. I tried using style SWT.NONE and set env variable MOZILLA_FIVE_HOME to point to the firefox installation directory, the xulrunner executable, and even the google-chrome installation. I also added $MOZILLA_FIVE_HOME to LD_LIBRARY_PATH. If I have anything set for MOZILLA_FIVE_HOME the app segfaults when the Browser is instantiated. If I don't set MOZILLA_FIVE_HOME I get the SWT exception.
The SWT documentation says that if I have webkitgtk installed, eclipse will detect it automatically. But it also says that with eclipse 4.2 and later it works with gtk3 by default. I don't see any gtk3 packages.
I'm using Eclipse SDK 4.4.2 in my target, but my app is an Eclipse 3 app. So perhaps this is an error in the compatibility layer. I can try using an Eclipse 3.x SDK, but I'd rather not do that. The SWT plugin being installed is version 3.102.xxx.
As I said, the app works when launched inside eclipse, so am I perhaps missing a plugin in my built product? I see the swt.gtk plugins installed, but I don't know what else to look for. Also the standalone app works properly in Ubuntu.
The following entries in eclipse.ini enable the Browser control to work in CentOS 6.7 with style SWT.NONE
-vmargs
-Dorg.eclipse.swt.browser.DefaultType=mozilla
-Dorg.eclipse.swt.browser.XULRunnerPath=/path/to/xulrunner/
This also requires that a supported version of xulrunner be installed (1.9.2 worked for me), as precisely specified in the SWT FAQ. NB: The following caveat is stated in the FAQ regarding the possible use of firefox as a xulrunner instance:
Also note that a Firefox release whose contained Gecko version
correlates with the Mozilla versions above can also be used with
Eclipse 3.1 and newer (Linux only), provided that it has been compiled
with linkable Gecko libraries. It is important to note that Firefox
downloads from mozilla.org do not satisfy this criteria, but Firefox
installations that are included in major Linux distributions often do
in the absence of a XULRunner installation. Attempting to use a
Firefox install without linkable Gecko libraries will throw an error
with message "No more handles [NS_InitEmbedding...error -2147221164]".
The firefox installed on my CentOS 6.7 system doesn't seem to have the linked gecko libraries, but I may have manually installed a differerent version at some point.
There appears to be no way to use Eclipse 4.4 or newer with webkit on CentOS 6.7, since gtk3 is required per the FAQ, and the only reference I found to installing gtk3 on CentOS 6.x said that it would be very difficult.
The FAQ is confusing to me on a couple points. It seems to contradict itself, saying that a compliant xulrunner can be used with eclipse 4.4 and then saying that it cannot, because eclipse 4.4 "uses GTK 3 by default" and xulrunner has not been ported to gtk3. My SWT installation appears to be built for gtk3, but it did not prevent me from using xulrunner. Furthermore, saying that gtk3 is used by default seems to imply that it's possible to use some other version of gtk, but hours of searching turned up no information on that.
If anyone knows how to make eclipse 4.4 work with gtk2, I would greatly appreciate it. I'm not happy at all about being forced to use gecko for eclipse 4.4 apps running in CentOS 6.x.
EDIT: It occurs to me that a big unanswered question is why the Browser doesn't throw the exception with style SWT.WEBKIT and no XulRunnerPath property set when I launch the app from within eclipse. I'd really like to understand that.

Deploying linux CUDA app

I've compiled a cu program on my laptop, using NVIDIA CUDA 5 toolkit. A very basic interface, using only terminal output. Then I went on to test how it runs on my desktop PC (both have Ubuntu 12.04 LTS installed).
On the desktop PC I get this error message:
error while loading shared libraries: libcudart.so.5.0: cannot open shared object file: No such file or directory
Ok, I get it, some libs are not installed. But do I really need to install CUDA toolkit on every PC where I'd want my compiled code to run?
To deploy a CUDA runtime API application on linux you only need to do two things:
Make sure that the machine in question has a CUDA compatible card and a minimum driver version which matches the CUDA Toolkit you used to build the application (you can find information regarding both of these in the release notes of the toolkit)
Distribute the runtime library (so cudart.so) that you built the application against with the executable. If you used any other libraries from the toolkit (like CUBLAS, CUFFT, CUSPARSE, etc) you need to inlcude those too. The CUDA runtime library is versioned and you have to have the libraries which match the toolkit you are building with. You may need to use the LD_LIBRARY_PATH environment variable to ensure that the correct versions of the libraries are found by the link loader. Often a simple shell script which acts the canonical application, settings LD_LIBRARY_PATH variable and running the built executable is the best way to do this.
If you get those two things right, it should just work.

How to deploy application with QT5

So I have made GUI frontend for latex with QT5 using QT creator. The application works fine, but I'm unable to deploy it. The deploy option in build is grayed out. I have also tried following this guide but I can't even configure my QT to use static linking. I was able to configure the source, but when I try to run mingw32-make sub-src, it says nothing to do here.
I downloaded QT from here using the link Qt 5.0.1 for Windows 32-bit (MinGW 4.7, 823 MB). I have also downloaded microsoft visual studio express for Windows 8 to get tools required for building c++.
I also tried to install mingw32 manually. I have also installed Strawberry perl, because one guide told me to do that, but that did nothing.
I managed to fix this problem. There was one .dll. Reason why I didn't find it earlier was that my application did not need it by itself, but one of libraries I used was dependaple from it. The missing .dll was icuuc49.dll.