[yocto] Missing debug symbols
Gary Thomas
gary at mlbassoc.com
Tue Mar 31 09:18:08 PDT 2015
On 2015-03-31 09:58, Gary Thomas wrote:
> I'm trying to debug some problems with avconv. When I install
> the debug packages, I got some errors/warnings:
>
> # opkg install libav-dbg
> Installing libav-dbg (9.16-r0.10) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libav-dbg_9.16-r0.10_cortexa9hf-vfp-neon.ipk.
> librtmp-dbg: unsatisfied recommendation for libcrypto-dbg
> librtmp-dbg: unsatisfied recommendation for libssl-dbg
> libav-dbg: unsatisfied recommendation for libbz2-dbg
> libav-dbg: unsatisfied recommendation for libavdevice-dbg
> libx264-dbg: unsatisfied recommendation for libavutil-dbg
> libx264-dbg: unsatisfied recommendation for libswscale-dbg
> libav-dbg: unsatisfied recommendation for libavformat-dbg
> libav-dbg: unsatisfied recommendation for libavcodec-dbg
> libav-dbg: unsatisfied recommendation for libavutil-dbg
> libav-dbg: unsatisfied recommendation for libavresample-dbg
> libav-dbg: unsatisfied recommendation for libswscale-dbg
> libav-dbg: unsatisfied recommendation for libasound-dbg
> libav-dbg: unsatisfied recommendation for libavfilter-dbg
> Installing librtmp-dbg (git-r0.16) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/librtmp-dbg_git-r0.16_cortexa9hf-vfp-neon.ipk.
> Installing libc6-dbg (2.21-r0.5) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libc6-dbg_2.21-r0.5_cortexa9hf-vfp-neon.ipk.
> Installing libz-dbg (1.2.8-r0.16) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libz-dbg_1.2.8-r0.16_cortexa9hf-vfp-neon.ipk.
> Installing libtheora-dbg (1.1.1-r1.16) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libtheora-dbg_1.1.1-r1.16_cortexa9hf-vfp-neon.ipk.
> Installing libogg-dbg (1.3.2-r0.16) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libogg-dbg_1.3.2-r0.16_cortexa9hf-vfp-neon.ipk.
> Installing libxext-dbg (1:1.3.3-r0.12) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libxext-dbg_1.3.3-r0.12_cortexa9hf-vfp-neon.ipk.
> Installing libx11-dbg (1:1.6.2-r0.16) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libx11-dbg_1.6.2-r0.16_cortexa9hf-vfp-neon.ipk.
> Installing libxcb-dbg (1.11-r0.12) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libxcb-dbg_1.11-r0.12_cortexa9hf-vfp-neon.ipk.
> Installing libxdmcp-dbg (1:1.1.1-r0.16) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libxdmcp-dbg_1.1.1-r0.16_cortexa9hf-vfp-neon.ipk.
> Installing libxau-dbg (1:1.0.8-r0.16) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libxau-dbg_1.0.8-r0.16_cortexa9hf-vfp-neon.ipk.
> Installing libx264-dbg (r2230+git-r1.16) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libx264-dbg_r2230+git-r1.16_cortexa9hf-vfp-neon.ipk.
> Installing libsdl-1.2-dbg (1.2.15-r3.18) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon-mx6qdl/libsdl-1.2-dbg_1.2.15-r3.18_cortexa9hf-vfp-neon-mx6qdl.ipk.
> Installing libts-1.0-dbg (1.1-r0.16) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libts-1.0-dbg_1.1-r0.16_cortexa9hf-vfp-neon.ipk.
> Installing libxfixes-dbg (1:5.0.1-r0.16) on root.
> Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/libxfixes-dbg_5.0.1-r0.16_cortexa9hf-vfp-neon.ipk.
> Configuring libc6-dbg.
> Configuring libz-dbg.
> Configuring librtmp-dbg.
> Configuring libxdmcp-dbg.
> Configuring libogg-dbg.
> Configuring libxau-dbg.
> Configuring libxcb-dbg.
> Configuring libx11-dbg.
> Configuring libxfixes-dbg.
> Configuring libtheora-dbg.
> Configuring libxext-dbg.
> Configuring libx264-dbg.
> Configuring libts-1.0-dbg.
> Configuring libsdl-1.2-dbg.
> Configuring libav-dbg.
> Configuring libc6-thread-db.
> Configuring gdb.
>
> Now, of course the problem I need to look at is in one of
> those missing packages:
>
> # gdb avconv
> GNU gdb (GDB) 7.8.1
> Copyright (C) 2014 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "arm-amltd-linux-gnueabi".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> (gdb) r -f video4linux2 -channel 1 -pix_fmt yuyv422 -s 720x480 -i /dev/video0 -frames 10 /home/
> root/test-0001.mp4
> Starting program: /usr/bin/avconv -f video4linux2 -channel 1 -pix_fmt yuyv422 -s 720x480 -i /dev/video0 -frames 10 /home/
> root/test-0001.mp4
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/libthread_db.so.1".
> Cannot access memory at address 0x0
>
> Program received signal SIGILL, Illegal instruction.
> 0xb5c39168 in ?? () from /lib/libcrypto.so.1.0.0
> (gdb) info sharedlibrary
> From To Syms Read Shared Object Library
> 0xb6fd7800 0xb6ff2550 Yes /lib/ld-linux-armhf.so.3
> 0xb6fc0070 0xb6fc5a08 Yes /usr/lib/libavdevice.so.53
> 0xb6f901a8 0xb6fabca0 Yes /usr/lib/libavfilter.so.3
> 0xb6e96b98 0xb6f5dbb8 Yes /usr/lib/libavformat.so.54
> 0xb6e74210 0xb6e818a0 Yes /usr/lib/libavresample.so.1
> 0xb640cac0 0xb67d6a70 Yes /usr/lib/libavcodec.so.54
> 0xb63bb238 0xb63f0228 Yes /usr/lib/libswscale.so.2
> 0xb63971c0 0xb63a96e0 Yes /usr/lib/libavutil.so.52
> 0xb6323c00 0xb6354828 Yes /lib/libm.so.6
> 0xb63040c0 0xb63125c8 Yes /lib/libpthread.so.0
> 0xb61e0c40 0xb62d26f0 Yes /lib/libc.so.6
> 0xb61c0020 0xb61c2360 Yes /usr/lib/libXfixes.so.3
> 0xb61ab9ec 0xb61b5b1c Yes /usr/lib/libXext.so.6
> 0xb60a9700 0xb6127568 Yes /usr/lib/libX11.so.6
> 0xb5ff02e0 0xb607b968 Yes (*) /usr/lib/libasound.so.2
> 0xb5fb6760 0xb5fc4bd0 Yes /usr/lib/librtmp.so.0
> 0xb5f9a8e8 0xb5fa6a30 Yes /lib/libz.so.1
> 0xb5f82050 0xb5f8ebb0 Yes (*) /usr/lib/libbz2.so.0
> 0xb5e69118 0xb5ef4660 Yes /usr/lib/libx264.so.129
> 0xb5e26df0 0xb5e4bdd0 Yes /usr/lib/libtheoraenc.so.1
> 0xb5e0cfc8 0xb5e1d174 Yes /usr/lib/libtheoradec.so.1
> 0xb5df6750 0xb5e02890 Yes /usr/lib/libxcb.so.1
> 0xb5de4a00 0xb5de55d4 Yes /usr/lib/libXau.so.6
> 0xb5dd8f10 0xb5dda608 Yes /usr/lib/libXdmcp.so.6
> 0xb5dcd92c 0xb5dce750 Yes /lib/libdl.so.2
> 0xb5dbf720 0xb5dc2dd4 Yes /lib/librt.so.1
> 0xb5d71538 0xb5da9ff8 Yes (*) /usr/lib/libssl.so.1.0.0
> 0xb5c35640 0xb5d15068 Yes (*) /lib/libcrypto.so.1.0.0
> 0xb5be84b4 0xb5bea810 Yes /usr/lib/libogg.so.0
> (*): Shared library is missing debugging information.
>
> Any ideas where the debug symbols might be? Can I get them back?
>
I found that libcrypto is part of openssl, so I was able to install
the symbols using openssl-dbg. I still get those warnings:
# opkg install openssl-dbg
Installing openssl-dbg (1.0.2a-r0.0) on root.
Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/openssl-dbg_1.0.2a-r0.0_cortexa9hf-vfp-neon.ipk.
openssl-dbg: unsatisfied recommendation for libcrypto-dbg
openssl-dbg: unsatisfied recommendation for libssl-dbg
Configuring openssl-dbg.
And now to figure out the real culprit:
# opkg install openssl-dbg
Installing openssl-dbg (1.0.2a-r0.0) on root.
Downloading http://192.168.1.116/teton-p0382-feeds/cortexa9hf-vfp-neon/openssl-dbg_1.0.2a-r0.0_cortexa9hf-vfp-neon.ipk.
openssl-dbg: unsatisfied recommendation for libcrypto-dbg
openssl-dbg: unsatisfied recommendation for libssl-dbg
Configuring openssl-dbg.
root at teton-p0382:~# gdb avconv
GNU gdb (GDB) 7.8.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-amltd-linux-gnueabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from avconv...Reading symbols from /usr/bin/.debug/avconv...done.
done.
Starting program: /usr/bin/avconv -f video4linux2 -channel 1 -pix_fmt yuyv422 -s 720x480 -i /dev/video0 -frames 1 /home/r
oot/test-0001.png
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Program received signal SIGILL, Illegal instruction.
_armv7_tick () at armv4cpuid.S:94
94 mrrc p15,1,r0,r1,c14 @ CNTVCT
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
More information about the yocto
mailing list