How to compile FFProbe as stand-alone application? (Mac/Linux/Win) - linux

I'm trying to compile FFMPEG (I'm actually only looking for FFProbe, which is included in the FFMPEG tools) as a standalone application for MacOS X, Linux and possibly Windows.
With standalone I mean that the libraries (x264, OpenJPEG, etc) are "embedded" into the executable so that I have to distribute only one executable for FFProbe - I apologize that I don't know the proper lingo for this (please let me know), I'm a newbie when it comes to this.
I have started by trying to do this under MacOS X, without any luck, but plan to do this for Linux and MacOS X as well.
I did see a few pre-compiled binaries that do this, and do not depend on extra libraries, but the versions I have found so far are either not the current version (1.x) or do not included the libraries in the executable (evermeet).
I followed several guides (for example: FFMpeg MacOSX Compilation Guide, reneVolution), with or without the use of Brew, but none of these show me how to embed the libraries in the executable.
I assume this is an option to be set for linking.
I'm not sure if it's appropriate to ask this question for Win, Mac and Linux at the same time - if it's not appropriate: I'd like to start with doing this for the Mac version.
My system runs MacOS X 10.9, XCode 5.0.2, with commandline tools and brew installed. I'm only looking for an Intel binary, so not a universal or PowerPC binary.
For Windows I can use either Windows 8.1 or XP, for Linux I currently use Ubuntu 12, all of which are virtual machines.

You need to install FFProbe with all the options, like in mac
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools

Related

Cross-compilation targeting Cygwin with Linux host

Is it possible to cross-compile a program targeting a Cygwin environment from a Linux/Unix host? I'm mostly trying to avoid using a Windows WM for building a collection of programs.
From the website:
Cygwin is not:
a way to run native Linux apps on Windows. You must rebuild your application from source if you want it to run on Windows.
mingw-w64 is not enough, I need a full POSIX platform. I'm also wondering if it's possible to target MSYS2.
Perhaps I'm not understanding correctly, and one doesn't need to compile in Cygwin but only mingw-w64 is necessary.
Thanks!
It is possible to compile for Cygwin from Linux.
The cygwin1.dll itself is built in such way.
Packages/libraries are available at:
https://copr.fedorainfracloud.org/coprs/yselkowitz/cygwin/
Of course only a minimal set of tools/libraries is available

Compile python 3 script to standalone exe in Linux

Can a python 3 script be compiled in a linux environment in such a way as it can be run under Windows?
If so what compile tool? ie. py2exe or pyinstaller ect.
You're looking for cross-compilation, and the answer is no.
Can I package Windows binaries while running under Linux?
No, this is not supported. Please use Wine for this, PyInstaller runs fine in Wine. You may also want to have a look at this thread in the mailinglist. In version 1.4 we had build in some support for this, but it showed to work only half. It would require some Windows system on another partition and would only work for pure Python programs. As soon as you want a decent GUI (gtk, qt, wx), you would need to install Windows libraries anyhow. So it's much easier to just use Wine.
Can I package Windows binaries while running under OS X?
No, this is not supported. Please try Wine for this.
Can I package OS X binaries while running under Linux?
This is currently not possible at all. Sorry! If you want to help out, you are very welcome.
You may use Wine or the Windows Subsystem for Linux to attempt using PyInstaller to build stand-alone binaries for different operating systems, however, neither PyInstaller, nor Py2Exe, nor cx_freeze, nor any tool to my knowledge does this.
Effectively, in-order to do something like this, you would need a cross-compiler such as MinGW or VC++ for Linux, and integrate it into PyInstaller, which is very far outside of the scope of the project. It is much easier to use WINE or having a dual-boot system or multiple development computers.

64bit version of Octave on Windows

Does anybody know how to build Octave for x64 Windows? The 2GB data limitation for x32 is too limiting for many problems that require analysis on large data sets.
http://wiki.octave.org/Octave_for_Microsoft_Windows has information on installing Octave on Windows and links to building it from source using different methods.
GNU Octave is primarily developed on GNU/Linux and other POSIX conformal systems. The ports of GNU Octave to Windows use different approaches to get most of the original Octave and adapt it to Microsoft Windows idiosyncrasies...
Windows support is experimental.
According to http://www.gnu.org/software/octave/doc/interpreter/Compiling-Octave-with-64_002dbit-Indexing.html
To use arrays larger than 2 GB, Octave has to be configured with the option --enable-64. This option is experimental...
Compiling Octave for 64 bit is experimental on Linux. It might cause a lot of headache to try an experimental feature in a port of the software. It would be better to use a true Linux installation for now. If you feel adventurous, try compiling it in http://www.cygwin.com/
I have installed Octave-4.0.0 into windows 7,8 and 10 in x64 platforms. All works perfectly well.
Just follow these steps
Download Octave-4.0.0_0-installer.exe from https://ftp.gnu.org/gnu/octave/windows/
Install the same - just follow the steps in the installer.
Find the build_packages.m file in C:\Octave\Octave 4.0.0\src
Open it in Octave and find
try install general-1.3.4.tar.gz, and try install signal-1.3.1.tar.gz, the versions are wrong.
Replace with 2.0.0 and 1.3.2 respectively.
In the build_packages.m file find
pkg ('install', pkgname, '-noauto').
Change it to
pkg ('install', pkgname).
Skip this and you will have to load the packages you require every time you use Octave. Lesser load for octave though. Sometimes it may take a while for the packages to get installed, kindly wait.
Run build_packages.m
load the packages
e.g. to load the general package - pkg load general
Note that the signal package is dependent on the control package.
I found that the plot function got octave stuck. The answer for the same is to type in at the command window
pkg rebuild -noauto oct2mat
Found this solution in Plot window not responding
Hope this works for u too. :)
I found Sreepad's ans is CORRECT. I use octave on win 10 64-bit OS.
octave 4.0.0 is ok as Sreepad said, But Octave 4.2.1 is not OK on Win 10 64-bit OS.

How do I cross compile R packages for MacOS from a Linux environment?

I'm running Linux and trying to compile an R package for use on a Mac. I could only find Linux->Windows and MacOS->Windows cross-compiling instructions. Does anybody know what I should do to compile a MacOS binary package for R?
Or, I'll settle for I build server. Again, there's a Windows build-server for R packages, but does anybody know of a MacOS build-server?
By first building a gcc crosscompiler -- see its documentation.
Available libraries may be a limiting factor, though. You'd have to rebuild everything from OS X you'd like to link against.
Just a side note:
While in R packages can be installed (from pre-compiled binary packages for all major platforms Windows, Mac, Linux) there are also tools for building packages from source as part of the installation process.
Example for installation from source (more info):
install.packages("Simpsons", type="source")
Depending on the package (pure R or with some other language like C/C++ in it) and depending on the OS you use, you need additional tools to build the packages from source (e.g. Rtools for Windows, r-base-dev for Linux systems ...)

How do I use cygwin to cross compile to linux, when I have an application that needs libX11.so, libGL.so, and libGLU.so?

Will I have to use the crosstool that cygwin provides to make the libX11.so, libGL.so, and libGLU.so libraries using their respective source code? Or do you know where I can find them compiled already for crosstool (I'm new to this cross compilation)?
Just for clarification: I'm on a windows 7 machine trying to get my application also to compile for linux systems by using cygwin's cross compilation. The application uses OpenGL. Thanks
To cross-compile for Linux you should install the needed development libs and headers on a linux box[1] and then copy /usr/lib and /usr/include your cygwin environment (e.g. /crosscompiler/linux/...). When you build the cross compiler in cygwin, tell it where those native linux headers and libs are so they'll be used when you compile your app.
[1] If you're looking to run on a wide variety of linux boxes make sure you pick an older linux distro (e.g. Red Hat 9) to ensure your app doesn't have dependencies on very new glibc, etc..
Why do you want to use Cygwin?
There is instructions on the OpenGL Wiki about how to use OpenGL on Windows using MinGW.
MinGW use the same GNU tools that are available on Linux (GCC, GDB, GMAKE, etc.) but produce Windows native executables. So, you shouldn't have trouble compiling your source code on both platforms.
I just ended up building on a native Linux machine.

Resources