You are not logged in.

#1 2010-04-15 20:34:55

ctarwater
Member
Registered: 2009-02-05
Posts: 300

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

My Asus laptop's webcam came mounted upside down.  Apparently that's quite a common issue right now.

Suyin ID 064e:a136

Trying to use libv4l to rotate the video in skype (bin32-skype on a x64 system) but I keep getting this:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
ERROR: ld.so: object '/usr/lib/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored.
QIconvCodec::convertFromUnicode: using ASCII for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using ASCII for conversion, iconv_open failed

I read that installing lib32-libv4l from AUR might help but I still get the same error.

Offline

#2 2010-04-20 15:31:03

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 456
Website

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Since no one has answered this post yet, I'll post my solution here.

The package in the Arch Repositories (and AUR) are the newest ones recommended in all fixes I've seen so far.  You can get the webcam working with this:

For cheese (or other 64bit webcam viewers):
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so cheese

For Skype:
LD_PRELOAD=/opt/lib32/usr/lib/libv4l/v4l1compat.so skype

Or, you can do what I did and write a script called "skype" in /usr/bin/ after moving the actual binary, /usr/bin/skype, to /usr/bin/skype.real.

The script would look like this:
http://lswest.pastebin.com/TVbK0rgm

The QT_PLUGIN_PATH fixes the problem with avatars not loading in Skype for bin32-skype.

Hope that helps you out.

P.S. If you don't want to write that entire thing out for cheese, you could alias cheese to the entire script.  That way, if you need to run cheese without the LD_PRELOAD variable, you can just run it with "\cheese" (without the quotes).  The alias line in your .bashrc would be the following:
alias cheese="LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so cheese"


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#3 2010-04-20 17:06:22

ctarwater
Member
Registered: 2009-02-05
Posts: 300

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Thanks for all of your help lswest.  I can get the module loaded now, but neither cheese nor skype show any difference - the image is still flipped...

I have a Suyin 064e:a136 and I've seen reference that people on fedora and ubuntu. have managed to get the same model working with this fix.  What model webcam came with your ul30 ?

Offline

#4 2010-04-21 17:14:08

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 456
Website

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

The webcam seems to be the VGA UVC Sonix260 (from Chicony).  I can't say for certain what it's listed as in linux - it's booted into windows atm since I'm updating my Milestone to Android 2.1.

The email you sent me with the links essentially advise you to do the same as I have.  Are you certain your environment variable is set properly?  Does Cheese spit out any other errors when you run it?

The solution I "translated" to Arch is from here: https://lists.launchpad.net/asus-ul30/msg00103.html and the poster there listed the device as being the same as yours.  Can you check the variable before starting cheese with "echo $LD_PRELOAD"?

Last edited by lswest (2010-04-21 17:17:03)


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#5 2010-04-21 19:33:00

ctarwater
Member
Registered: 2009-02-05
Posts: 300

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Strange, "echo $LD_PRELOAD" gives me a blank space as the output.

(Regarding your milestone, have you rooted your phone?  If so, check out Rommanager which allows for easy use of custom roms, themes, overclocked/undervolted kernels, and various hacks)  I use it on my Droid and have had 2.1 for about a month now, I couldn't be happier with my phone!

Offline

#6 2010-04-21 19:35:48

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 456
Website

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

If you add

LD_PRELOAD="$LD_PRELOAD:/opt/lib32/usr/lib/libv4l/v4l1compat.so

to /etc/environment, and then log out and back in (you may need to reboot, not sure), does it keep the changes saved properly?

Regarding my milestone, I haven't rooted it yet (haven't felt the need to actually).  I'll probably do it eventually though tongue

Last edited by lswest (2010-04-21 19:36:29)


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#7 2010-04-21 19:43:39

ctarwater
Member
Registered: 2009-02-05
Posts: 300

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

I'm ripping a dvd right now so I won't be able to reboot for a couple of hours but I'll test it out and see.

Thanks again!

Offline

#8 2010-04-21 19:49:48

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 456
Website

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

No problem, I hope we can get it sorted for you!


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#9 2010-04-21 22:13:43

ctarwater
Member
Registered: 2009-02-05
Posts: 300

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Ok.  I Added that to /etc/environment and now

 LD_PRELOAD="$LD_PRELOAD:/opt/lib32/usr/lib/libv4l/v4l1compat.so

gives me

$LD_PRELOAD:/opt/lib32/usr/lib/libv4l/v4l1compat.so

but now when I try to start skype I get

ERROR: ld.so: object '/opt/lib32/usr/lib/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored.
QIconvCodec::convertFromUnicode: using ASCII for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using ASCII for conversion, iconv_open failed

starting skype normally or with LD_PRELOAD=/opt/lib32/usr/lib/libv4l/v4l1compat.so skype gives me the same result.  So does cheese.

Offline

#10 2010-04-22 07:00:37

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 456
Website

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

You are on a 64 bit system, right?  Make sure you have lib32-libv4l installed (from the AUR).  If you don't use 64 bit, you need to remove the /opt/lib32/ section of the path.

Does that help?


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#11 2010-04-23 12:46:41

ctarwater
Member
Registered: 2009-02-05
Posts: 300

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Yes, I am on a 64 bit system and I already tried installing lib32-libv4l.  I just reinstalled it to be sure and have the same results.

Offline

#12 2010-04-23 12:52:30

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 456
Website

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

What are the results of the following command:

ls /opt/lib32/usr/lib/libv4l/

Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#13 2010-04-23 13:02:07

ctarwater
Member
Registered: 2009-02-05
Posts: 300

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

ls /opt/lib32/usr/lib/libv4l/
v4l1compat.so  v4l2convert.so

Offline

#14 2010-04-23 13:14:16

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 456
Website

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Well, the file is definitely there.  I'm not certain why it wouldn't preload for you, but would for me.  However, this thread on the skype forums seems to have the same issue as you, and they offer a few suggestions, why not give those a try?  Also, how exactly have you set the variable now?  If you run "export LD_PRELOAD=/opt/lib32/usr/lib/libv4l/v4l1compat.so" (without quotes) in the terminal first, and then (in the same terminal session), run cheese or skype, does it work then?

Last edited by lswest (2010-04-23 13:14:52)


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#15 2010-04-23 13:17:43

ctarwater
Member
Registered: 2009-02-05
Posts: 300

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

tried running the export command and then skype/cheese and both are still flipped.  I can almost see the images flip for a split second when they first start, but it's only for less than a second.

Anyhow, I'll check the skype forums.  Thanks again for all your help.

Offline

#16 2010-04-23 13:20:13

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 456
Website

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

So exporting it before-hand doesn't give you the error on not being able to preload it?  At least that's a start hmm

I'm sorry that I'm not more of a help!  I really can't see why it wouldn't work for you.

I wish you luck,
Lswest


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#17 2010-08-03 01:21:15

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Same problem

[max@pwntoo ~]$ LD_PRELOAD=/opt/lib32/usr/lib/libv4l/v4l1compat.so skype
ERROR: ld.so: object '/opt/lib32/usr/lib/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored.

Offline

#18 2010-08-03 14:00:45

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 456
Website

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Can you try creating a bash file with the following:

#!/bin/sh

QT_PLUGIN_PATH=/opt/lib32/usr/lib/qt/plugins
GCONV_PATH=/opt/lib32/usr/lib/gconv 
LD_PRELOAD=/opt/lib32/usr/lib/libv4l/v4lcompat.so
export GCONV_PATH QT_PLUGIN_PATH LD_PRELOAD
exec skype-bin "$@"

See if the bash file solves the problem for you, I believe that's how I fixed it for myself (and I believe the file is now contained in the newest revision of the bin32-skype package on AUR).


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#19 2011-08-21 11:18:44

DarioP
Member
From: Geneva
Registered: 2011-01-05
Posts: 165

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Same problem here. It doesn't preload the library anyway.

Offline

#20 2011-08-21 14:31:50

Jankosevic
Member
Registered: 2008-07-06
Posts: 82

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Can you check if this works for you? Maybe it is located in that folder.

LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype

Offline

#21 2012-01-26 17:16:55

xfrancescox
Member
Registered: 2011-06-22
Posts: 2

Re: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype (CANNOT BE PRELOADED)

Thanks to Jankosevic.
It solved me the problem!
I'm using an x64 system.

Offline

Board footer

Powered by FluxBB