You probably know already that the official Galileo SD card Linux image doesn’t contain development tools and you need to use cross-compilation or Yocto build process to have stuff compiled for Galileo (Arduino IDE is yet another way to make Galileo do what you want). Here’s a way to install the tools directly onto the SD card Linux image.
By the way, there’s also a so called “devtools” image I created with some other folks from the Galileo community (see here), which has the tools already included.
Installation is relatively simple thanks to the package repo I maintain and Yocto framework, which helps me to build everything. Below are the steps to follow:
First, there’s a small
glitchpeculiarity you need to overcome. Looks like the package providing uClibc shared modules is called “libc0” in the official image and “uclibc” in the one you get by building the BSP with SDK yourself (as I do for compiling packages). The contents of both is the same, so I suspect that’s some sort of a bug.
UPDATE 29/06/2014: I’ve sorted this out. The reason is that by default Poky has so called “Debian-style package renaming” enabled and when development tools are added to the image, a couple of utilities (ldd, ldconfig) are added too and ldconfig specifically is contained within uclibc package – switching off the renaming.
So reinstalling the default “libc0” package with the “uclibc” one from the repo is indeed both harmless and necessary to use the package repo.
Anyway, for tools to install, you need to force the installation of the uclibc package first:
opkg install --force-overwrite uclibc
If you don’t do this, the next install command will fail with the following error:
* check_data_file_clashes: Package uclibc wants to install file /lib/libc.so.0 But that file is already provided by package * libc0 * check_data_file_clashes: Package uclibc wants to install file /lib/ld-uClibc-0.9.34-git.so But that file is already provided by package * libc0
After that, install a package group, which will bring in all the basic tools you’ll need:
opkg install packagegroup-core-buildessential
That’s it! You now should be able to use the typical
./configure && make && make install mantra to install software.