OpenWrt Forum Archive

Topic: Cross-compiling pulse-audio library for OpenWRT-Kamikaz

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

Hello everyone,

Is there anyone who can help me on building and compiling "pulse-audio" package ?

Searching on the net I find this makefile :
https://dev.openwrt.org/browser/package … ?rev=28311

but the compilation of the package end with errors :
*** No rule to make target `package//host/compile', needed by `package/pulseaudio/compile'.  Stop.

Go to the download section and look for the platform under the release you want.

I'm developping an IP that use pule-audio libraries.

So that I need the corsscompiled shared libraries of the pulse-audio not the prepared package in order to cross compile my IP.

If there's a way to install a precompiled package in my toolchaine and including it in the final image bin I will be so happy to know how to do it !
--------------------------------------------

This is the problem that I'm trying to solve :
/home/amir/Bureau/openwrt-na9xx-r25875-20121204/staging_dir/toolchain-mipsel_r2_gcc-linaro_uClibc-0.9.32/lib/gcc/mipsel-openwrt-linux-uclibc/4.5.2/../../../../mipsel-openwrt-linux-uclibc/bin/ld: cannot find -lpulse

(Last edited by louwi on 15 Apr 2014, 10:53)

You can download the OpenWRT SDK to compile an individual package.

I already download the sdk and I compiled it and I compiled tow libraries pocketsphinx and sphinxbase witch I'm using in my application.

Now I'm needing to compile the pulse-audio in order to get access to it's libraries cause I'm needing it's library.

In fact I developed an IP witch recognize the human voice based on those libraries I succeed linking my IP with compiled libraries (pocketsphinx and sphinxbase) now I need to get access to voice through pulse library.

here what I get when I cross compile my IP ;
make package/fr-recognizer/compile BUILD_LOG=1 V=s
     http://pastebin.com/9CTSp73E

(Last edited by louwi on 15 Apr 2014, 14:21)

I don't know what you meant by IP. Is it your own program? If not, where can we download to test?

yes it's my own program.

I will discribe the hole project :

I'm using tow libraries pocketsphinx and sphinxbase in order to recognize human voice. so I cross compile those tow libraries.

Sphinxbase provide an interface with audio-source by using pulse-audio libraries.

when I cross compile the hole project I got that error witch indicate that the -lpulse is missed

I don't have a problem in the linking between the *.o sources files and the header-files of the pulse-audio cause I already copied the header files of pulse-audio in the src file.

is I'm wright or it's not the problem ?

(Last edited by louwi on 16 Apr 2014, 09:08)

If you peruse the Makefile of all OpenWRT library packages, you will notice not all files in the include and/or lib directories get installed during the installation stage. I ran into the same problem, too. For this, I strongly suggest you download a complete OpenWRT source tree and build it from scratch. If you take this route, I strongly suggest that you use the SVN and/or GIT trunk. My local OpenWRT source tree is based on SVN trunk.

(Last edited by mazilo on 16 Apr 2014, 13:02)

the problem was from missing package "intltool".

adding that package resolved the problem and I succeed to compile pulse-audio after adding many other packages needed in related packages.

now when I cross compile my project I get undefined reference errors :
http://pastebin.com/JNXWvbJQ

executing this command readelf -a  libpulse.so.0.13.4
http://pastebin.com/SGpa0ACs

(Last edited by louwi on 16 Apr 2014, 17:24)

louwi wrote:

the problem was from missing package "intltool".

adding that package resolved the problem and I succeed to compile pulse-audio after adding many other packages needed in related packages.

I am glad to hear you finally managed to resolve the issue.

now when I cross compile my project I get undefined reference errors :
http://pastebin.com/JNXWvbJQ

This sounded like the pulse library is too old?

It's pulse-audio-1.0 so it should be so old I wil try a newer version.

I installed the version 5.0 of pulse audio same result.
I notice some_thing strange in the directory to the shared library  in the linking error log-file :

/home/amir/Bureau/openwrt-na9xx-r25875-20121204/staging_dir/target-mipsel_r2_uClibc-0.9.32/usr//lib/libpulse.so

// should be / ?

louwi wrote:

I installed the version 5.0 of pulse audio same result.
I notice some_thing strange in the directory to the shared library  in the linking error log-file :

/home/amir/Bureau/openwrt-na9xx-r25875-20121204/staging_dir/target-mipsel_r2_uClibc-0.9.32/usr//lib/libpulse.so

// should be / ?

That's perfectly OK to have a '//'.

The discussion might have continued from here.