Cross compiling WxWidget application for Debian64 and Debian armhf - raspberry-pi

I'm building a WxWidget application targetting both Debian 64-bits and Debian armhf (Raspberry). I'm using eclipse as IDE running in a Debian 9.4 Virtualbox. The VB Host is Windows10.
The eclipse workspace is organized as tree projects :
one project set up for Debian 64-bits architecture
one project set up for Debian armhf architecture (using multiarch)
one project with common source files.
In both the 64-bits as the armhf projects, the source code is linked in from the common project.
I installed WxWidgets for 64-bits with the following command:
sudo apt install libwxgtk3.0-dev
Now, the 64-bits project compiles without errors and the executable works fine under Debian64.
Next, I like to cross-compile for armhf, so
sudo apt install libwxgtk3.0-dev:armhf
Now, the armhf project compiles without errors and the executable works fine on the Raspberry Pi.
However, the compilation of the 64-bit project is broken...
Apparently, the platform specific setting for WxWidgets are defined/declared in a file called
setup.h
this file is located at
/usr/lib/PLATFORM/wx/include/gtk2-unicode-3.0/wx/
where PLATFORM is either x86_64-linux-gnu for Debian64 or arm-linux-gnueabihf for Debian armhf.
My observation is that installing one version of the development package installs the correct setup.h, but also removes the other...
So, how do I setup WxWidgets for multi-arch compilation for both platforms?
Thanks in advance,
Paul

You either need to install wxWidgets from the armhf repository or build it yourself with the cross-compiler for that architecture.
I hope that when you try to install from the different repository the installation will happen in a different directory as well. If not you should give the apt-get the directory where you want the script to install the package.

In principle, this is supposed to work using --host option of wx-config, i.e. the idea is to use wx-config --host=x86_64 --cxxflags --libs for one platform and wx-config --host=armhf for the other one. However I don't know if this works with Debian packages.
If you can't make it work with them, you could build your own libraries in different build directories, say ~/build/wx/x86_64-gtk2 and ~/build/wx/armhf-gtk2. Then you could just use ~/build/wx/$arch-gtk2/wx-config without installing the libraries at all.

Related

Failing at NetBeans Java Native Packaging for Linux

Doing Linux Native Package builds I'm running into problems with both RPM and DEB. In the case of RPMs, it's saying that rpmbuild cannot be found. Then for DEBs it reports the dpkg cannot be found.
Both dpkg and rpmbuild are installed and are in /usr/bin. Both are in my path and execute fine from CLI. Failure is the same whether I start NetBeans from GUI or CLI. I've even symlinked rpmbuild and dpkg into my NetBeans bin directory. No luck.
How does one go about getting NetBeans to find dpkg and rpmbuild so that it can complete native builds from the GUI? Currently working with SuSE LEAP 15.
For whatever reason, the "Package All Artifacts" option is currently generating .deb and .rpms, but I can't generate them individually. I'm OK with this. I think the most likely change to make that option work was symlinking the binaries from user bin into my netbeans bin.

Building PostgreSQL from source on Windows

I'm trying to build PosgreSQL in Eclipse CDT Mars on Windows using the MinGW-64 gcc 5.3.0
I installed MSYS2 and used pacman to update all the software that came with it and install gcc etc.
I downloaded the PostgreSQL source code and tried to follow the docs but can't figure out where to download the dependencies? 1. libreadline5-dev, 2. zlib1g-dev, 3. bison (YACC), 4. flex and where to save them to on disk?
I ran ./configure --prefix=$HOME/project --enable-depend --enable-cassert --enable-debug and it seems to have completed with no errors, but I do not see anything at $HOME/project?
I installed Eclipse CDT and added the include paths to the Environment:
I imported the project as Existing Code as Makefile Project.
When I try to build the project Eclipse says Info: Nothing to build for postgres
When I try to run it a dialog box says Unable to Launch. The selection can not be launched and there are no recent launches
How can I run/debug PostgreSQL in Eclipse on Windows?
Thanks!
I recommend just using the prebuilt postgresql package provided by MSYS2. To install the 64-bit version, run:
pacman -S mingw-w64-x86_64-postgresql
You can see the scripts that were used to build it here:
https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-postgresql
I was able to build PostgreSQL with MSYS2 and MinGW-w64, and I documented it in a video tutorial: How to build PostgreSQL from source on Windows

ArUco in Eclipse Ubuntu

I want to compile the augmented reality ArUco library, but this library documentation on the internet is too scarce and I am facing some problems. Could someone give me a little tutorial about how to compile it in the Eclipse? (could be another IDE)
I'm using the Ubuntu 12.10, Eclipse Juno. Thanks!
Look at the README file of the library, you will probably have to use cmake. Open a terminal and install cmake and OpenCv (the requirements for the library) with apt-get. I don't know their exact package names in Ubuntu, but try the obvious cmake and opencv. Once that is done, cd to the directory where you unpackaged the aruco library, and do the following:
mkdir build && cd build
cmake ..
make all
make install
You can change the installation prefix by using cmake -i .. or ccmake if it got installed too. As for setting up the library in your IDE, just make a note of which directories the library files (binaries and headers) got installed to, and make sure those are in the compiler's search path.

How do I build and install a plugin for KDevelop?

In particular, I am trying to install kdev-control-flow-graph
I have managed to clone the source from git, cmake the source to build a kdevcontrolflowgraphview.so installed to /usr/local/lib, but when I restart kdevelop, I can find no sign of the plugin!
Under the Loaded Plugins window, it doesn't show up, and I can't seem to find a way to tell it about the existence of the new plug-in.
I am running KDevelop Version 4.2.3 using KDE Development Platform 4.7.2 on Ubuntu 11.10 64-bit.
Any help or suggestions would be greatly appreciated.
Make sure that "/usr/local/lib" is in your KDEDIRS var, and run "kbuildsyscocoa4 --noincremental"
If that doesn't work, perhaps the plugin's .desktop file needs to have its version modified.
Also note that you aren't running KDE Development Platform 4.7.2 because that doesn't exist (you probably mean KDE 4.7.2), you should be running KDevplatform 1.2.3.

Eclipse C++ On Ubuntu installation Process

I am now working on a data transfer project under Linux.
The Project Team choose putty to login in linux server via vim to development, But I think the efficiency is too low.
Now I choose Eclipse for C++, and distributor the version "eclipse-cpp-helios-linux-gtk.tar.gz" on Ubuntu.
However, I encountered a problem: My Linux system should install jre1_5_0_09linuxi586, but I can not find it on web.
Can anybody help me on how to install Elipse for C++ on a cleanup linux OS?
What I need is Eclipse for C++ running gdb and compiling on IDE, thanks!
Your question is difficult to understand, but if I'm reading it correctly, you're trying to install the Java Runtime Environment and Eclipse Helios for C++ on Ubuntu.
The easiest way to install the JRE is to use the packages in the "partner" repository:
Edit /etc/apt/sources.list:
sudo -e /etc/apt/sources.list
You should see a few lines that end with the word "partner." Remove the hash marks from the front of each of these lines.
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner
Now update your package list and install the Sun Java Runtime:
sudo apt-get update
sudo apt-get install sun-java6-jre
Then you can unzip the Eclipse tarball and run the eclipse binary from inside the tarball:
tar -zxf eclipse-cpp-helios-linux-gtk.tar.gz
./eclipse
You can:
download a JRE or JDK version on the Oracle site or use the process "How to Install Java Runtime Environment (JRE) in Ubuntu"
Follow for instance those installation instruction
use the right eclipse.ini to launch your eclpise
Download page of Eclipse Helios (http://www.eclipse.org/downloads/packages) gives 2 good alternatives for C++ developers on Linux:
A) Eclipse IDE for C/C++ Developers, 87 MB without LinuxTools
B) Eclipse IDE for C/C++ Linux Developers, 120 MB with inbuilt LinuxTools like valgrind, gprof, systemtap etc.
C) Installing/Updating LinuxTools using UpdateManager (Note: You may need to do a Java6 JRE update as described below first.)
D) Updating Eclipse Helios CDT with UpdateManager
E) Helios Installation how-to
F) Java6 JRE update:
apt-get install sun-java6-jre
G) Unzip the Eclipse tarball and run the eclipse binary from inside the tarball:
tar -zxf eclipse-cpp-helios-linux-gtk.tar.gz && ./eclipse
For related info click here