OpenWrt Forum Archive

Topic: Cross-compile: No rule to make target -lltdl

The content of this topic has been archived on 16 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I am trying to cross-compile libgphoto....  I succeeded for WR RC5, but now I am running into a real roadblock with kamikaze...

Building ibgphoto2_port.la fails with:

make[9]: Entering directory `/home/yan/trunk/openwrt/build_mipsel/libgphoto2-2.1.99/libgphoto2_port/libgphoto2_port'
make[9]: *** No rule to make target `-lltdl', needed by `libgphoto2_port.la'.  Stop.

The system has libltdl; the toplevel configure sees it:

checking ltdl.h usability... yes
checking ltdl.h presence... yes
checking for ltdl.h... yes
checking for lt_dlcaller_register in -lltdl... yes
checking whether to use included libltdl... no

I've tried all sorts of things; setting LIBLTDL manually, but nothing I do seems to make any difference at all.  The build *always* fails at that point.

I really need to get this working; if anyone has any ideas on this please let me know.  I've posted the output of make on my website: http://seiner.com/make.out (warning, it's uncompressed 250KB.)

My current Makefile is  at http://seiner.com/Makefile .

Thanks,

--Yan

Don't confuse the existance of the header files...

checking ltdl.h usability... yes
checking ltdl.h presence... yes
checking for ltdl.h... yes

.. with the (non)existance of the actual library:

mipsel-linux-uclibc-gcc: /home/yan/trunk/openwrt/build_mipsel/libgphoto2-2.1.99/libltdl/.libs/libltdl.so: No such file or directory

OK, thanks!  Another pair of eyes....  :-)

What I still don't get is that it's not supposed to build the included libltdl....  That's the last line in the configure snippet...  It should use the system libltdl...

And if you look three lines up from there, it *deletes* libltdl.so, and then dies on the next line because it can't find it....

I think the make is broken...  I'll try to sort that out; I've posted the same query on the gphoto list...

--Yan

For posterity:

In the */.built section of the Makefile, you must specify -ltld in the LDFLAGS && set the location of LIBLTDL

        LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib -lltdl" \
        LIBLTDL="$(STAGING_DIR)/usr/lib/libltdl.so" \

I hope this helps somebody....

The discussion might have continued from here.