Google Earth 5.0, Ubuntu 9.04 (Jaunty Jackalope) – symbol lookup error: libssl.so.0.9.8, undefined symbol: EVP_idea_cbc, libcrypto.so.0.9.8 bug

May 8, 2009 by V-Teq · 10 Comments
Filed under: Ubuntu/Kubuntu/Xubuntu 

I have tried to install Google Earth on Ubuntu 9.04 (Jaunty Jackalope) today and I came across a simple bug.

After installation, Google Earth was not able to communicate using SSL. It gave me this error message:

/usr/lib/googleearth/googleearth-bin: symbol lookup error: /usr/lib/googleearth/libssl.so.0.9.8: undefined symbol: EVP_idea_cbc

The simple bug-fix is to rename/copy libcrypto.so.0.9.8 shared library into libcrypto.0.9.8, as I have found only on some French websites.
Use sudo if you’re not logged in as root. You can also probably use mv instead of cp. You can run for example these commands:

root@v-teq-laptop:~$ cd /usr/lib/googleearth/
root@v-teq-laptop:/usr/lib/googleearth$ cp libcrypto.so.0.9.8 libcrypto.0.9.8

Everything should run now, just enjoy Google Earth :)

DDD (gdb): No source: ../sysdeps/x86_64/elf/start.S: No such file bug; Missing XKeysymDB file bug

May 7, 2009 by V-Teq · Leave a Comment
Filed under: Debian 

I came across a strange bug, or better said, strange behavior of ddd today. I have tried to debug my program and I have got this error dialogue:

DDD: No source
/home/v-teq/…/sysdeps/x86_64/elf/start.S: No such file or directory

Missing XKeysymDB file

I have tried to find out where was the problem:

v-teq@v-teq-laptop:~$ ddd --check-configuration
Checking for XKeysymDB... (none)
Warning: The `XKeysymDB' file is not in the default X file search path.
    If ddd was not compiled on this machine, ddd
    may not run properly (lots of warnings for unknown keysym names).
    and install it into your X project root (typically `/usr/lib/X11')
    or have the XKEYSYMDB environment variable point at it.

But as you can see, I found another error message that was ddd printing out – it couldn’t find XKeysymDB file. The solution was quite easy – only to find the XKeysymDB file in my /usr directory, because default /usr/lib/X11 path doesn’t exist anymore on my Debian based machine.

v-teq@v-teq-laptop:~$ find /usr -name XKeysymDB
/usr/share/X11/XKeysymDB

So the answer was /usr/share/X11/XKeysymDB in my case.

Now it’s easy to set environment variable and get ddd working again:

v-teq@v-teq-laptop:~$ XKEYSYMDB=/usr/share/X11/XKeysymDB ddd --check-configuration
Checking for XKeysymDB... /usr/share/X11/XKeysymDB

You can set variable pernamently of course (or you can echo this line into your ~/.bashrc or such file).
For sh, ksh or bash:

export XKEYSYMDB="/usr/share/X11/XKeysymDB"

For csh:

setenv XKEYSYMDB "/usr/share/X11/XKeysymDB"

DDD: No source: ../sysdeps/x86_64/elf/start.S

Now back to the first problem – error dialogue that said I didn’t compiled debugging information to my executables, so debuggers (ddd, gdb) weren’t able to use symbols from source files.

Take care if you have compiled your binary files (executables or libraries) really with debugging information (eg. -g option in gcc). My problem was, that my Makefile created executables from libraries with -g option, but libraries themselves were compiled without this option automatically (there was no rule to make *.o files in Makefile).

So my advice is to double check your Makefile, or command line if you’re compiling project manually, if you have really set the -g option. For example:

gcc -g -o main main.c

Or if you want to create *.o file before linking to final executable, don’t forget to check -g option in both cases:

gcc -g -c -o main.o main.c
gcc -g -o main main.o

You can also add something like that to your Makefile to compile *.o files with -g debugging option automatically:

CC=gcc
CFLAGS=-g
 
%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

Gentoo Linux – my personally customized make.conf

May 5, 2009 by V-Teq · 1 Comment
Filed under: Gentoo 

/etc/make.conf

See official documentation of USE flags or other features of Gentoo Portage.



# /etc/make.conf (Gentoo Linux)
 
# Portage USE Flags
USE="symlink x86 cxx X qt4 art kde kdeprefix gnome gtk opengl sdl mono java java6 \
     perl pcre ruby php tokenizer python webkit examples subversion latex xml xsl \
     cdr dvd dvdr dvdread alsa -oss hal dbus firefox mozilla javascript ssl ipv6 \
     icq jabber msn yahoo gimp gif jpeg jpeg2k png pdf musicbrainz mad mp3 ogg vorbis\
     aac asf a52 avi ffmpeg xvid quicktime live mjpeg mpeg xine xinerama wmp real \
     realmedia theora win32codecs -apache apache2 mysql mysqli embedded vhosts \
     readline recode bash-completion vim-syntax samba netboot rdesktop encode \
     bluetooth ieee1394 wifi usb pcmcia ipv6 -cups gzip zlib truetype unicode \
     mmx sse sse2 sse3 xcb -3dfx -voodoo3 -emacs nptl lcms battery mng -dso"
 
# Allow non-stable packages
ACCEPT_KEYWORDS="~x86"
AUTOCLEAN="yes"
 
# Processor optimizations (Intel Core 2 Duo)
CFLAGS="-mtune=core2 -march=core2 -msse3 -O3 -pipe -fomit-frame-pointer" 
CXXFLAGS="${CFLAGS}"
 
# Allow parallel compilation on both cores (Intel Core 2 Duo)
MAKEOPTS="-j3"
 
# Show colored output even when piped
NOCOLOR="no"
 
# This prevents some merge colission (see http://bugs.gentoo.org/)
FEATURES="ccache buildpkg distlocks metadata-tranfer parallel-fetch sandbox sfperms \
          strict unmerge-orphans userfetch -distcc"
CHOST="i686-pc-linux-gnu"
 
# Directory of overlay ebuilds
PORTDIR_OVERLAY="/usr/local/overlay"
PORTAGE_ECLASS_WARNING_ENABLE="0"
 
# List of mirror servers (to download packages from)
GENTOO_MIRRORS="http://ftp.fi.muni.cz/pub/linux/gentoo/ \
                ftp://ftp.fi.muni.cz/pub/linux/gentoo/ \
                http://distfiles.gentoo.org \
                http://www.ibiblio.org/pub/Linux/distributions/gentoo"
 
# List of sync servers (emerge --sync)
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
 
# Input devices (to prevent some evdev/hal/Xorg problems)
INPUT_DEVICES="evdev keyboard mouse synaptics"
VIDEO_CARDS="intel i810 vesa"
 
# Languages support (English, Czech)
LINGUAS="en cs"