Monday, November 1, 2010

Google Talk + Arch Linux (Depricated)

 In theory the updated plugin and ssl packages fix this.  Left on the interwebz mostly for reference.

Well I discovered that google talk was released for linux and that it was in aur, which translated into not having to futz with the deb/rpm files to figure out how to convert them to a proper arch PKGBUILD.

Okay.. beautiful. so.. let's install it.
packer -S google-talkplugin
(replace packer by your favorite aur package manager).

google-talk depends on libnotify and pulseaudio so.. simple enough.

Okay, load up chrome or firefox, open up the plugins about page.





Excellent... now what?  everything looks good.. I log into gmail, click on the cam icon and it tells me to go download the plugin I just installed...  *angry face*. Well, that's not what its supposed to do.

Fine.. lets run this in terminal.. to see what's going on.

[000:040] Started GoogleTalkPlugin, path=/opt/google/talkplugin/GoogleTalkPlugin
[000:040] Waiting for GoogleTalkPlugin to start...
/opt/google/talkplugin/GoogleTalkPlugin: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
*** NSPlugin Viewer *** WARNING: unhandled variable 18 () in NPN_GetValue()
*** NSPlugin Viewer *** WARNING: unhandled variable 18 () in NPN_GetValue()

Okay.. so.. lets see what this plugin is doing:

ldd /opt/google/talkplugin/GoogleTalkPlugin

    linux-gate.so.1 =>  (0xf772b000)
    libX11.so.6 => /usr/lib32/libX11.so.6 (0xf75d5000)
    libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf75d0000)
    libdl.so.2 => /usr/lib32/libdl.so.2 (0xf75cc000)
    libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf75b2000)
    librt.so.1 => /usr/lib32/librt.so.1 (0xf75a8000)
    libssl.so.0.9.8 => not found
    libcrypto.so.0.9.8 => not found
    libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf74ba000)
    libm.so.6 => /usr/lib32/libm.so.6 (0xf7495000)
    libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf747a000)
    libc.so.6 => /usr/lib32/libc.so.6 (0xf732e000)
    libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7316000)
    /lib/ld-linux.so.2 (0xf772c000)
    libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7313000)
    libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf730e000)

Hmm.. Okay.. libssl not found. I'm fairly sure I have openssl installed, though it seems I have 1.x. Arch Linux seems to be too new for its own good in this case.


Okay.. fine. Let's see what we can find.

packer -Ss openssl  
which returns among other items:  lib32-openssl-compatibility

pacman -S lib32-openssl-compatibility
Now we should have all the components that we need.  I tried running it again, but it seems it still can't find library we just installed.

pacman -Ql lib32-openssl-compatibility returns the path name where it will be installed.

Okay, it install the library in /opt/lib32/usr/lib which I'm guessing most apps aren't going to check.  It also doesn't seem like it installed a conf file telling our system to look in that directory.  Well, we can help it along a bit.


echo "/opt/lib32/usr/lib" >  /etc/ld.so.conf.d/lib32-openssl.conf
ldconfig
Reload your browser....and amazingly enough.. google chat video and all works perfectly.

Problems:  This drove me up the wall on my arch linux OS for longer then I care to admit.  open up alsamixer.. find your mic volume, and hit the spacebar to enable capture.  *insert homer moment*



2 comments:

  1. Many thanks :)
    Looks like cpcgm handled the lib32-openssl issue. Now depends on (x86_64):
    lib32-openssl-compatibility (AUR)

    Also updated to: google-talkplugin 1.7.1

    ReplyDelete
  2. Glad to be of use :) That was my hack-ish fix, I'm sure there's a more proper way of doing this now (hopefully).

    ReplyDelete