Ask Your Question
1

How can I find a needed header file?

asked 2014-09-07 19:48:38 -0500

computer_savvy gravatar image

updated 2014-09-07 19:56:41 -0500

FranciscoD_ gravatar image

I have an up to date installation of Fedora 20 with an epson XP-410 all-in-one printer. I am trying to install iscan 2.29.3 fron epson for use with my epson printer (scanner) from the tarball. Compiling always fails with the error that an included file (ltdl.h) does not exist.
I have used yum to search for what package provides the missing header file with no success. ./config reports 2 missing header files, dl.h and dld.h

   $ grep ltdl conflog
    checking for lt_dlinit in -lltdl... no
    $ grep dl.h conflog
    checking dl.h usability... no
    checking dl.h presence... no
    checking for dl.h... no
    checking sys/dl.h usability... no
    checking sys/dl.h presence... no
    checking for sys/dl.h... no
    $ grep dld.h conflog
    checking dld.h usability... no
    checking dld.h presence... no
    checking for dld.h... no

make fails with this:

 make[3]: Entering directory `/home/xxxxx/installs/iscan-2.29.3/lib'
 /bin/sh ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..  -I../include  
 -g -O2 -MT  libimage_stream_la-basic-imgstream.lo -MD -MP -MF .deps/libimage_stream
 _la-basic-imgstream Tpo -c -o libimage_stream_la-basic-imgstream.lo `test -f 
 'basic-imgstream.cc' || echo './'`basic-imgstream.cc g++ -DHAVE_CONFIG_H -I. -I.. -I.
 ./include -g -O2 -MT libimage_stream_la-basic-imgstream.lo -MD -MP -MF
 deps/libimage_stream_la-basic-imgstream.Tpo -c basic-imgstream.cc  -fPIC -DPIC -o .
 libs/libimage_stream_la -basic-imgstream.o
 In file included from basic-imgstream.cc:34:0:
  basic-imgstream.hh:55:18: fatal error: ltdl.h: No such file or directory
  #include <ltdl.h>
                 ^
  compilation terminated.

What package do I need to get for fedora to provide the needed header file to compile the linux wireless scanner driver for this printer? And where is it located?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2014-09-07 19:55:55 -0500

FranciscoD_ gravatar image

Hi! Welcome to Ask Fedora! Please take a minute to read the guidelines.

To find what package provides a file, you can use the yum whatprovides command. Please read man yum for more details. In this case, you'll run:

sudo yum whatprovides '*/ltdl.h'
...
...
libtool-ltdl-devel-2.4.2-30.fc21.i686
libtool-ltdl-devel-2.4.2-30.fc21.x86_64
edit flag offensive delete link more

Comments

You formed that command different than I did. I left out the '*/' at the beginning. I searched for 'ltdl.h' Thanks

BTW that answer provides packages from rawhide that are not directly part of fedora 20

computer_savvy gravatar imagecomputer_savvy ( 2014-09-07 20:30:12 -0500 )edit

That's because I'm on Fedora 21. The command will provide different outputs on different Fedora releases.

If the answer is correct, please mark it as correct. :)

FranciscoD_ gravatar imageFranciscoD_ ( 2014-09-07 21:02:00 -0500 )edit

FYI, you don't need root access to search for, list or get info on packages, so using sudo or (as I prefer) su -c is redundant.

sideburns gravatar imagesideburns ( 2014-09-07 21:29:26 -0500 )edit

Actually, it isn't. If you use sudo/su -c for all your yum/dnf commands, it'll always use the single system wide cache. If you run it as a normal user, it redownloads the cache which quite frankly, is a waste of bandwidth :)

FranciscoD_ gravatar imageFranciscoD_ ( 2014-09-07 22:30:11 -0500 )edit

Question Tools

Stats

Asked: 2014-09-07 19:48:38 -0500

Seen: 4,508 times

Last updated: Sep 07 '14