1 (edited by wrt2012 2013-04-12 16:28:48)

Topic: compiling lirc stops with error message "missing dependencies"

Hello everbody!

I ran in some trouble while compiling lirc with the given driver atilibusb a while ago and i still haven't found a solution for it.
I use the svn co of today.
Lirc is on version 0.9.0 and the problem also appears in 0.8.7.

"make" stops with the following message:
Package lirc is missing dependencies for the following libraries:
libusb-0.1.so.4

The same information can be found in:
/staging_dir/target-mips_r2_uClibc-0.9.33.2/pkginfo'
where a file "lirc.missing" was created in which you can find the entry
libusb-0.1.so.4

Of course, libusb has been compiled and at
libusb-compat.provides
you can also find
libusb-0.1.so.4

so i cannot understand why lirc can't find this file.

I am willing to try to solve with problem with some effort, but i hardly know where to start...

As the lirc-program files itself are compiling without any trouble, i just have to understand how the dependency-system works...

I found this:
https://forum.openwrt.org/viewtopic.php?id=9539
where there were also some trouble with dependencies, but unfortunately the server is down so that i can't reproduce their solution.

Many thanks in advance and sorry for the bad english,

Daniel

Re: compiling lirc stops with error message "missing dependencies"

Hi,
How about changing the makefile to:

define  Package/lirc
        $(call Package/lirc/Default)
        TITLE:=LIRC - Linux Infrared Remote Control
        DEPENDS:=+libusb
        MENU:=1
endef

Be careful with tabs if you copy and paste this code as I think I have spaces instead.
Also, maybe using the word 'lirc' in the subject of this thread is a good idea. What do you think?

Cheers,
Guillermo

Re: compiling lirc stops with error message "missing dependencies"

Hi Guillermo,

thank you for your reply.

Unfortunately this had not the wanted effect.
As the wiki (http://wiki.openwrt.org/doc/devel/dependencies?s[]=depend) says:
If you say +package that means if the current package is selected, it will cause package to be selected. This is the case with tcpdump above. It says that if tcpdump is selected, then select libpcap. e.g.

But libusb and libusb-compat were already chosen and successfully compiled. So my suggestion would be that there is no difference.

Anyway, i tried it and make stops with the same error, so as expected.

Re: compiling lirc stops with error message "missing dependencies"

Yes, I also read the wiki. But some time ago I compiled Lirc with the alsa driver and altough alsa-lib was already selected and was already built, I had to declare +alsa-lib in the Makefile. I still dont understand why but after that it worked. Maybe it was other thing I did, but I thought it was that really. I'll try to think what else can be done.

5 (edited by wrt2012 2013-04-14 19:54:35)

Re: compiling lirc stops with error message "missing dependencies"

Hello!

First of all: A great thank you to gsenna, you gave the needed information for solving problem 2.) :-)

I can report that i was able to compile the lirc package today! Success, yay :-)

So, what made the trick?
There were two independent problems to be solved:

1.)
At the configuration file (/lirc-0.9.0/configure) from line 4163 on, there is a script which is looking if libusb-config is available on given $PATH. Unfortunately, the $PATH variable is the one from the host-system. So the script only looks up if there is libusb installed on the host system.

I could fix this by installing libusb-dev on the Debian host.

Nota bene: It seems to me that this check is pretty useless if you use cross-compiling and let people run into errors. Using the $PATH variable gives here no information about the system on which lirc will be run later.

2.)
The second problem derives from dependencies-check, which is running after the compile-prozess. The library libusb-0.1.so.4 cannot be found, as it moved to libusb-compat. At this point the help from gsenna was important. I changed the makefile of lirc to

define  Package/lirc
    $(call Package/lirc/Default)
    TITLE:=LIRC - Linux Infrared Remote Control
    DEPENDS:=+libusb-compat
    MENU:=1
endef

with this, i could finally compile lirc.

Nota bene 2: You also may want to change this at the lirc sourcecode.

Have a nice day!

Daniel

Re: compiling lirc stops with error message "missing dependencies"

Glad you could sort it out! Thanks for coming back and posting the solution.