Linux Debugging: Listing Shared Libraries at Runtime

I had a library (a python plugin) that crashed and outputted the “very useful”: illegal instruction I tried pdb (the Python Debugger) to find the issue without success. So I tried to add some printf to this library but none were outputted at runtime.  So I guessed the illegal instructions was generated by the shared libraries. Let’s see how many libraries we’ve got: ldd libbrowsernode.so | wc -l 125 Oh dear!… 125 libraries.. This is where panic sets in. Luckily, there is a simple way to list the dynamic libraries as they are loaded (and some more useful info). Simply set: export LD_DEBUG=files before running your program. This is extremely verbose, so I recommend you redirect the output to a file. This method allowed me to find undefined symbols during dynamic libraries load time with errors such as: opening file=/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so [0]; direct_opencount=1 14121: 14121:     /usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so: error: symbol lookup error: undefined […]

Linux Kernel 3.1.9 for Raspberry Pi Released & Build Instructions

Raspberry Pi has just announced the release of a fork a linux kernel 3.1.9. The source code with patches is available at https://github.com/raspberrypi/linux. If you just want to download the patch, I’ve created one: r-pi_linux_3.1.9.patch.gz The code related to Broadcom BCM2835 processor is referred as bcm2708 in the kernel and I can see committed related to the watchdog timer, the framebuffer,  the VCHIQ driver (the driver sending messages to the GPU) and general commits for bcm2708. For those interested in the messages used to communicate between userspace and the GPU, the VCHIQ driver code is located at drivers/misc/vc04_services in the tree. I haven’t studied it yet, but as the platform should support graphics standards such as OpenGL and OpenMAX IL, most people should not really care about this interface as I suppose the OpenGL library (Mesa?) uses this driver. Here are the build instructions for Raspberry Pi kernel. I cross-compiled […]

Embedded Linux Conference 2012 Schedule

The Embedded Linux Conference (ELC 2012) will take place on February 15 – 15, 2012 at Hotel Sofitel in San Francisco. ELC consists of 3 days of presentations, tutorials and sessions. There will be over 50 sessions during those 3 days. I’ll highlight a few sessions that I find particularly interesting. February 15 10:30 – 11: 30 – Profiling and Performance Measurement Techniques Using Linux Kernel Tools by Govindraj Raja, Software Engineer at Texas Instruments and Partha S Basak, Technical Manager at Texas Instruments. With ever growing features and functionality of Linux kernel, one needs methods to trace and profile parts of Linux kernel for various reasons like performance analysis, debugging etc. This presentation aims at providing an insight into few of these tools and their salient features. Supporting use case data as captured on open source OMAP4 pandaboard is also provided. 14:00 – 15:00 – The Yocto Project Overview […]

Installing Emdebian ARM Cross Toolchain in Debian

I had previously installed Sourcery G++ ARM Linux toolchain in Ubuntu to build some software running in Debian, but I encountered some issues with some libraries (libavg) that use gethostbyname in static libraries without any easy way to make it dynamic. In that case, the library in the rootfs and cross-compiler must match.  So I decided to install Debian Squeeze (6.0.3) and the corresponding cross-toolchain by Emdebian (short for Embedded Debian). First to use this toolchain, add the URL to get Emdebian packages to /etc/apt/sources.list: # # — Emdebian cross toolchains # deb http://www.emdebian.org/debian/ squeeze main Then install Emdebian public key: apt-get install emdebian-archive-keyring apt-get update If you don’t install the key, you’ll get the following error: W: GPG error: http://www.emdebian.org squeeze Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY B5B7720097BB3B58 Search and install packages for the architecture that you need, in this […]

Parrot AR.Drone 2.0: Linux based Augmented Reality Helicopter

Parrot announced a revised version of its Linux-based Parrot AR Drone “quadricopter” flying drone at CES 2012. The drone can now be operated with any Android device such as smartphones and tablets, whereas the previous version could only be controlled by an iPhone or iPad. Another new software features is the auto-pilot. The quadricopter body has been redesigned and reinforced, and fitted with a new 720p HD front-facing navigational camera which can record video and help the pilot navigating the drone. There is also a vertical camera that was present in the first generation. Here are the technical specializations of the Drone’s motherboard: 1 GHz 32-bit ARM Cortex A8 processor (Maybe OMAP3?) 800Mhz video DSP (TMS320DMC64x) 1GB DDR2 RAM USB 2.0 WiFi b/g/n . 3-axis accelerometer 3-axis gyroscope 3-axis magnetometer Pressure sensor for altitude measurement (altitude > 6m) Ultrasound sensor for ground altitude measurement (lower altitude) 60fps vertical QVGA camera […]

2012 Linux and Android Events by the Linux Foundation

The Linux Foundation has announced the list of events it organizes for 2012. Those are mainly technical, but there is also one event dealing with legal issues. Most of the venues are in the US, with 2 back-to-back events in Europe (Barcelona) and 1 in Asia (Japan). If you are one of the first 50 to register for any LinuxCon event, you can get a 35% discount, by registering with the code “12PM35”. List of Events: Android Builders Summit – February 13-14, 2012, Hotel Sofitel SF Bay, Redwood Shores, Calif. A technical summit for OEMs, their device manufacturers, integrators, custom builders, and the growing Android and Linux Kernel developer communities. Embedded Linux Conference – February 15-17, 2012, Hotel Sofitel SF Bay, Redwood Shores, Calif. The premier vendor-neutral technical conference for companies and developers using Linux in embedded products. Linux Storage, Filesystems and MM Summit  – April 1-2, 2012, Hotel Nikko, […]

Develop Android Apps, Deploy on Meego, Tizen, WebOS, Ubuntu and More

OpenMobile World Wide Inc. is demonstrating its Application Compatibility Layer (ACL) technology, capable of running Android apps on non-Android devices at CES 2012 in Las Vegas. The company claims that their solution brings more than 300,000 Android apps to device running on other platforms. The technology allows OEMs of Tablets, Set Top Boxes, smart TVs, Netbooks, In-Vehicle Infotainment devices and more to provide users access to a all Android applications. OpenWorld ACL technology currently works on tablets, STBs and netbooks based on MeeGo, WebOS and Ubuntu. The company also plans to make the technology available for Tizen, Windows, Bada, QNX, Symbian and more. The company claims 100% compatibility for Android apps including those developed using the Android Native Development Kit (NDK). The ACL layer is said not to drain the device resources at all. Device power and memory will be unchanged. Here are the Key Benefits of ACL according to […]

Freescale Announces i.MX6 Lite Series

Last year, Freescale introduced i.MX6 series processors to the market in single, dual and quad core Cortex A9 configurations, today at CES 2012, they have announced i.MX6 Lite Series in single and dual core configuration respectively the i.MX6SoloLite and i.MX6 DualLite. Both processors incorporate ARM Cortex-A9 cores and E-Ink controllers and are especially suited to e-Readers, but Freescale expect the i.MX6 DualLite to also to be used in tablets, IPTVs, IP phones, medical patient monitoring systems and home energy management solutions. The new processors are software-compatible with other i.MX 6 series devices, so that developers can create end-product at different price points using a common platform. Freescale explains that “this scalability enables the rapid creation of complete end-product portfolios that can adjust and scale to meet evolving market demands and requirements”. The two new processors come to replace Freescale i.MX508 device, which is currently used in millions of eReaders. Here […]

Exit mobile version
Youyeetoo X1 x86 SBC