Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm trying to compile some software (FocusWriter) on openSUSE 11.3, (linux 2.6.34.7-0.5-desktop). (I can't find an actual download link to the alleged openSUSE RPM...just lots of metadata about the RPMs). So I unpacked the source from git, and, following instructions, ran qmake. I get this:


Package ao was not found in the pkg-config search path.
Perhaps you should add the directory containing `ao.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ao' found
Package hunspell was not found in the pkg-config search path.
Perhaps you should add the directory containing `hunspell.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hunspell' found
Package libzip was not found in the pkg-config search path.
Perhaps you should add the directory containing `libzip.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libzip' found
Package ao was not found in the pkg-config search path.
Perhaps you should add the directory containing `ao.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ao' found
Package hunspell was not found in the pkg-config search path.
Perhaps you should add the directory containing `hunspell.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hunspell' found
Package libzip was not found in the pkg-config search path.
Perhaps you should add the directory containing `libzip.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libzip' found

I know that all those packages are in fact installed, according to both YaST and zypper. /usr/lib64/ contains files such as libao.20.2 and libzip.so.1 and libzip.so.1.0.0 -- but nowhere on the harddrive can I find anything called ao.pc, hunspell.pc, or libzip.pc.

Any suggestions what I'm missing here?

Thanks.

share|improve this question

1 Answer 1

up vote 2 down vote accepted

You have the user libraries installed, but you also need to install the developer libraries and header files.

Taking ao as an example:

The normal user package includes files like:

/usr/lib/libao.so.4.0.0
/usr/lib/libao.so.4

whereas the developer package include files like:

/usr/include/ao/ao.h
/usr/include/ao/os_types.h
/usr/include/ao/plugin.h
/usr/lib/pkgconfig/ao.pc

And it's the second set of files you're missing.

I'm not familiar with SUSE's YaST2, but the commands should look something like
yast2 --install libao-devel.

And the same for the other packages of course.

One way to double check the name of the RPM to install is to go to rpmfind.net and paste one of the missing file names in, e.g. /usr/lib/pkgconfig/ao.pc. It will give you a list of RPMs: look for the OpenSUSE 11.3 one and use that name when running yast2 --install.

UPDATE

According to Using zypper to determine what package contains a certain file, you can use zypper rather than needing to use rpmfind.net.

Try this:

zypper wp ao.pc

(untested)

Also, on an RPM-based system, you might find it better to try searching for an RPM .spec file, and build using that.

I found a focuswriter spec file on the OpenSUSE web site.

Then if you build using rpmbuild, it should give you an error telling you which packages you still need to install so you can build it.

This also has the advantage of giving you an RPM you can easily install, upgrade, and uninstall, which uses the SUSE recommended build options.

share|improve this answer
    
OH! Now if the thing I'm trying to install had only SAID it needed the -devel libraries... Thanks! make ran just fine after I installed those. –  Wolf Feb 27 '11 at 21:27
    
If you build it using rpmbuild using their spec file, it might help tell you all the RPMs you need. –  Mikel Feb 27 '11 at 21:31

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.