It often happens that a file is missing during compilation and you get this kind of error: In file included from media/audio/linux/audio_manager_linux.cc:15:0: ./media/audio/linux/alsa_input.h:8:28: fatal error: alsa/asoundlib.h: No such file or directory compilation terminated. In file included from media/audio/linux/alsa_input.cc:5:0: ./media/audio/linux/alsa_input.h:8:28: fatal error: alsa/asoundlib.h: No such file or directory compilation terminated. That usually means a development package is missing. Sometime you can just guess the name of the package or you can use aptitude to find the file. There is also another (better) method in Ubuntu: apt-file utility allows you to find the package corresponding to a particular file. First install apt-file sudo apt-get install apt-file Them the first time, you need to download the files with the data for your system apt-file update Finally, you can use apt-file to find the package. For example with alsa/asoundlib.h apt-file search alsa/asoundlib.h libasound2-dev: /usr/include/alsa/asoundlib.h Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as […]
Get CFLAGS for a Package with pkg-config
As I tried to cross-compile an application that required glibconfig.h, I found a way to retrieve the CFLAGS for a given package. Here’s the output for glib-2.0 and gtk-2.0 in qemu for overo: pkg-config –cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabi/glib-2.0/include pkg-config –cflags gdk-2.0 -pthread -I/usr/include/gio-unix-2.0/ -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabi/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pixman-1 Finally, I found out that glibconfig,h was in /usr/lib/arm-linux-gnueabi/glib-2.0/include as this file is generated by configure and is platform dependent. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com
Finding a Missing Package in Ubuntu with Aptitude
When you configure a program before building, it will usually check for dependencies and if one is missing it will return an error such as: checking for OPENSSL… configure: error: Package requirements (openssl) were not met: No package ‘openssl’ found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. It could be a PATH issue, but usually that simply means the development version of the library is not installed. Sometimes the name is easy to guess and can be installed with apt-get: sudo apt-get install packagename-devel But sometimes it’s more difficult to guess and Google is not always very helpful. In that case you can use aptitude to search for the package. For example for nss3: sudo aptitude search nss3 i libnss3 – Network Security Service libraries i libnss3-1d – Network Security Service libraries p libnss3-dbg – Development files for the Network Security p libnss3-dev […]
Installing an ARM Toolchain in Fedora
You can easily install an arm cross-compiler on Fedora as follows: cd /etc/yum.repos.d/ sudo wget http://ftp.linux.org.uk/pub/linux/arm/fedora/cross/cross.repo sudo yum install armv5tel-redhat-linux-gnueabi-gcc You can check the installation worked by checking the cross-compiler version [jaufranc@localhost ~]$ armv5tel-redhat-linux-gnueabi-gcc -v Using built-in specs. Target: armv5tel-redhat-linux-gnueabi Configured with: ../configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –enable-shared –enable-threads=posix –enable-checking=release –with-system-zlib –enable-__cxa_atexit –disable-libunwind-exceptions –enable-languages=c,c++ –disable-libgcj –with-sysroot=yes –enable-version-specific-runtime-libs –target=armv5tel-redhat-linux-gnueabi Thread model: posix gcc version 4.1.2 20070925 (Red Hat 4.1.2-33.fa1) This will only install the C compiler (gcc), to install the C++ compiler, run the following command: sudo yum install armv5tel-redhat-linux-gnueabi-gcc-c++ Tested in Fedora 12. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com
Learn How to Optimize Android Apps for Tablet
After India and the US last month, Google will organize Android Developer labs sessions in Europe to train developers to optimize their applications for Tablets. Registration is now open for the following European cities: Berlin — September 28 and 29. London — October 3 and 5. Paris — October 27 and 28. Sometimes late October…, but you can register now. This ADL series isn’t another set of introduction-to-Android sessions, nor any other kind of general overview like you may have at Google Devfest. It’s specifically aimed at optimizing Android applications for tablets, in particular creating high-quality tablet applications to provide a polished user interface and an enjoyable user-experience. Registration is open to anyone, but as Google can only accommodate a relatively small number of attendees, they will select attendees who already have an high quality Android app with the potential to be a top-tier tablet app. This series of labs will teach you: The best practices […]
OpenCL (Open Computing Language) Overview and SDKs
OpenCL (Open Computing Language) is a multi-vendor open standard for general-purpose parallel programming of heterogeneous systems that include CPUs, GPUs and other processors. OpenCL provides a uniform programming environment for software developers to write efficient, portable code for highperformance compute servers, desktop computer systems and handheld devices. OpenCL standard is managed and defined by the Khronos Group. The latest version (OpenCL 1.1) was ratified by the Khronos Group on the 14th of June 2010 and adds significant functionality for enhanced parallel programming flexibility, functionality and performance including: Host-thread safety, enabling OpenCL commands to be enqueued from multiple host threads. Sub-buffer objects to distribute regions of a buffer across multiple OpenCL devices. User events to enable enqueued OpenCL commands to wait on external events. Event callbacks that can be used to enqueue new OpenCL commands based on event state changes in a non-blocking manner. 3-component vector data types. Global work-offset which […]
What Programming Language Should I Learn ?
“What programming language should I learn ?” is a question often asked by people new to software development. The answer is always “it depends”. But for embedded systems, it seems C language is a must as you can see in the chart below (Source: “The 2011 Embedded Market Study” by Embedded.com). For the 2011 survey, 1886 respondents from across the embedded industry answered that their embedded project was mostly programmed in C language (62%), followed by C++ (22%), assembler (5%) and Java (2%). The other languages were all under 1%. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com
Embedded Systems Conference Boston 2011 Sessions Schedule
ESC Boston 2011 will take place on the 26-29 September 2011, four days of hands-on training, educational sessions and an interactive exhibit hall. There are 5 programs during the event: ESC Boston – Embedded software development tutorials for Android, Linux, microprocessors, QA, C programming, etc… DesignCon East – Hardware tutorials, e.g. SDRAM debugging, hardware encryption… DesignMED – Embedded systems development for embedded medical devices. Designing with LEDs! – LED hardware and drivers. DesignDays – Embedded systems sessions mainly presented by semiconductor companies and hands-on tutorials on specific platforms such as Beagleboard or TI MSP430 Chronos Wireless Watch. There are simply too many sessions (over 170) to list them all here. So I’ll selected a few among ESC Boston and DesignDays that look particularly interesting: Android Jump Start (Monday 26 – 8:00 – 17:00) by William Gatliff (Consultant, Freelance) and Karim Yaghmour (CEO, Opersys Inc.) . The features that make Android a great cell […]