apulse icon indicating copy to clipboard operation
apulse copied to clipboard

Can't build apulse from sources in Linux Mint 17.3 (Mate) 64bit

Open lmaudio opened this issue 8 years ago • 12 comments

Hi!

Thank you for making apulse!

I use a pure ALSA/JACK- system for professional A/V-production without Pulseaudio basing on Ubuntu 14.04/Linux Mint 17.3 with MATE-Desktop, 64bit: ( http://mayastudio.tumblr.com/64bit , http://qianastudio.tumblr.com )

Normally i feel really good with this - but to use skype i tried to get apulse with your little install-guide from page working, but i get following error-message while building:


$ CFLAGS=-m32 cmake -DAPULSEPATH=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=trusty
-- The CXX compiler identification is unknown
CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
-- checking for modules 'glib-2.0;alsa'
--   package 'glib-2.0' not found
--   package 'alsa' not found
CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:283 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:337 (_pkg_check_modules_internal)
  CMakeLists.txt:8 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/home/studio/build/CMakeFiles/CMakeOutput.log".
See also "/home/studio/build/CMakeFiles/CMakeError.log".



 ~/build $ PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig CFLAGS=-m32 cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=trusty
-- The CXX compiler identification is unknown
CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
-- checking for modules 'glib-2.0;alsa'
--   package 'glib-2.0' not found
--   package 'alsa' not found
CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:283 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:337 (_pkg_check_modules_internal)
  CMakeLists.txt:8 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/home/studio/build/CMakeFiles/CMakeOutput.log".
See also "/home/studio/build/CMakeFiles/CMakeError.log"

Fact is that i have libglib2.0 and alsa installed - so i don't know how to handle with this error! I read in another issue-report here, that is a "new" problem with glib?!?

Also i need the 32bit-install in usr/lib for skype.

So what to do? Is there an easy way to build apulse in 32bit on a 64bit Ubuntu/LinuxMint in 2017!?

cmake, build-essential, g++ and all dependencies .. i have installed!

Or will be there a 32bit-apulse.deb for Ubuntu-users in the future?!?? (LM and Ubuntu are the most choosen Linux-systems ;-) )

If i read the internet of how many people got problems to build apulse and/or to keep it working with e.g. skype i think it's the best time to offer this!

It's confusing enough to find the right config for .asoundrc for individual soundsettings in the net- because there are soooo many different options with dmix, dsnoop, duplex....

Alternative a good and actual online-manual of how to keep apulse (32bit) with skype working on Ubuntu/LM could make it better for many users.

Before i used the official building from sources, i tried this .deb-file of apulse specially for my Ubuntu- trusty-based distro from untrusted ppas: https://launchpad.net/~kirillshkrogalev/+archive/ubuntu/apulse/+packages

but i think it install itselfs in 64bit-modus!?

  • So it don't works with apulse skype: Skype has just virtual audio-channels like before!
  • with apulse32 skype i just get an error message!

Is there a way to bring this apulse-version to be in 32bit working with skype or another workaround how to fix this building-errors (see above)!???

Thanks for answer!

chalee

lmaudio avatar Jan 16 '17 03:01 lmaudio

Hi. You get those errors because to compile 32-bit version you need 32-bit versions of libglib2.0-dev and libasound2-dev too. There are complications: both 32-bit and 64-bit development packages can't be installed, apt won't allow that. At least 32-bit libglib2.0-dev conflicts with 64-bit libglib2.0-dev.

If you need to build it on your own system, it's possible to create required symlinks by hand. Also, some dances with pkg-config are required to make libglib2.0 header files compile well. (See https://github.com/i-rinat/apulse/issues/37#issuecomment-207099466 and https://github.com/i-rinat/apulse/issues/22#issuecomment-70629733 for details.)

But if you need to just compile it, it's easier to install 32-bit version of your OS into virtual machine, and build there.

i-rinat avatar Jan 17 '17 17:01 i-rinat

Thanks for your answer!

But i give up, bro! Microsoft Skype is not really important and attractive to me.

I just like to know how to fix things and keep them running with Linux.

But this skype limitation of needed Pulseaudio since version 4.3 is really strange and bullshit. It brought me also to re-install Pulseaudio after long time again - just to feel and know why i don't want to have this on my (DAW)-system. ;-)

I tried one whole night ALL the different settings and "config-usion"-tips from the net and i give up.

But here comes the good at the end: When i finished with skype yesterday, somebody showed me the new alpha1-skype-(web-)app and i test it know.

Maybe it's really different look n feel with the new design- but it was working great and the sound from my ALSA-system and mic was working WITHOUT ANY CONFIGURATION!

Maybe the sound from my mic was not really the best - but i think this new version could be a new great feauture in Linux-world.

I just like, if (big commercial) industry co-operates with Linux Dev together.

And this is the goal for this alpha: The skype-team want to push a new develepmont for the linux-version, that was just periodacly updated by a while and made a lot of problems sometimes with Linux-soundsystems.

So hey- maybe for apulse&skype it's not the best message- but for all users maybe some nights with more sleep!

It DON'T has to be, that people need really advanced linux knowing just to keep skype working together with headset!

This is not against apulse...

these are just critics to #Microschrott.

lmaudio avatar Jan 18 '17 00:01 lmaudio

I use a 32-bit chroot within my 64-bit system for apulse/skype, works nicely. Also good to hear that an alternative might be coming along though.

mtbc avatar Jan 18 '17 08:01 mtbc

If you compile it on another system, what files specifically do you need to bring over?

And does it have to be the same OS? What specifically has to be the same? For example, could I offer the files I successfully compiled files to people who are having trouble compiling?

And, while I'm here, do I need to remove the old apulse files (i.e. the ones I ask about above) before attempting to compile the latest version?

trlkly avatar Apr 02 '17 03:04 trlkly

If you compile it on another system, what files specifically do you need to bring over?

Build creates libraries libpulse.so.0, libpulsecommon-5.0.so, libpulse-simple.so.0 and a launcher script, apulse. Libraries have runtime dependency on some other libraries, such as libglib-2.0.so.0, libc.so.6, libasound.so.2 and the like. You can get a full list by using ldd tool.

When you compile something on one Linux distro and move results to another system, it usually works only if there are dependencies with the same ABI (application binary interface). That means, the same versions. Fortunately, most of core libraries have symbol versioning, and utilize that to be backwards compatible. That means, there is the easy way: build on an old distro, and the app will work on newer versions. It should, at least.

do I need to remove the old apulse files (i.e. the ones I ask about above) before attempting to compile the latest version?

If that means installed files, then no. They will be overwritten during installation. (But you better to wrap binaries into a package of your distro format.) If that means files in build directory, then maybe. I've seen many issues with stale CMake cache. So it's usually better to make a clean build after you update sources. On the other hand, that happens only after significant build script changes, which didn't happen for a years in apulse.

i-rinat avatar Apr 02 '17 11:04 i-rinat

There's a 64-bit version of Skype for linux now, just so you are aware. I just installed it three days ago and it was a 64-bit version. https://www.skype.com/en/download-skype/skype-for-linux/

wyatt8740 avatar Jun 01 '17 03:06 wyatt8740

There's a 64-bit version of Skype for linux now

By the way, it's an Electron-based application. It uses Chromium underneath, which still supports ALSA for audio. So there is no need in using apulse for the new 64-bit Skype.

i-rinat avatar Jun 01 '17 09:06 i-rinat

Yup. Only thing I'm using apulse for at the moment is SeaMonkey (built from Mozilla's mercurial repository, with a version of Gecko created after the ALSA backend was dropped).

Firefox would be the other one that I would still need apulse for.

wyatt8740 avatar Jun 02 '17 21:06 wyatt8740

after the ALSA backend was dropped

It's still there: https://hg.mozilla.org/mozilla-central/file/tip/media/libcubeb/src/moz.build#l19. As far as I know, there were no plans of ALSA support removal. It's just it's not built by default.

So, if you are building from source, you should be able to get a custom version that supports ALSA.

i-rinat avatar Jun 02 '17 22:06 i-rinat

It's not supposed to keep on working once they enable the sandbox, though. Whether turning off sandboxing in about:config will still work, I don't know.

On Fri, Jun 2, 2017 at 5:22 PM, Rinat Ibragimov [email protected] wrote:

after the ALSA backend was dropped

It's still there: https://hg.mozilla.org/mozilla-central/file/tip/ media/libcubeb/src/moz.build#l19. As far as I know, there were no plans of ALSA support removal. It's just it's not built by default.

So, if you are building from source, you should be able to get a custom version that supports ALSA.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/i-rinat/apulse/issues/42#issuecomment-305922613, or mute the thread https://github.com/notifications/unsubscribe-auth/AFNSrtIVnZ7h9SvcI5H6z8rMouWCr3YEks5sAIs0gaJpZM4LkKC5 .

trlkly avatar Jun 02 '17 22:06 trlkly

Whether turning off sandboxing in about:config will still work

Last time I tried, it was required to decrease security.sandbox.content.level to 1 to make audio playback through ALSA work in Firefox Nightly.

What's also important is to realize that apulse cannot bypass sandbox. It's implemented as a libpulse.so.0 replacement library, but unlike PulseAudio it tries to open ALSA files from the same process, rather than connecting to a dedicated daemon. So, apulse won't work unless sandbox will allow it.

i-rinat avatar Jun 02 '17 23:06 i-rinat

I am compiling seamonkey, and I believed they removed the flag itself. If not, I am relieved. Apparently the sandbox is not enabled in seamonkey built from comm-central, because it works fine here by default.

wyatt8740 avatar Jun 03 '17 05:06 wyatt8740