PortAudio / portaudio

PortAudio is a cross-platform, open-source C language library for real-time audio input and output.
Other
1.43k stars 296 forks source link

autotools setup only allows building with one job at a time when building cpp bindings #540

Open dvzrv opened 3 years ago

dvzrv commented 3 years ago

Describe the bug When building 19.7.0 as a package for Arch Linux I used the autotools setup and noticed, that the build fails with multiple jobs (our build system automatically sets the jobs for make according to a global MAKEFLAGS (in my case it's -j24).

The build only fails if the C++ bindings are built (i.e. using ./configure --enable-cxx). This issue is also present with 19.6.0.

To be able to build I have to pin the number of jobs to one (i.e. -j1).

To Reproduce Steps to reproduce the behavior. Include code if applicable.

  cd "${pkgname}-${pkgver}"
  (
  cd bindings/cpp
  autoreconf -fiv
  )
  autoreconf -fiv

  ./configure --prefix=/usr \
              --enable-cxx
  make

Expected behavior The build works with multiple jobs (e.g. facilitating as many CPU cores as there are available).

Actual behavior The build fails and does not give a specific error message as to why: Build log: portaudio-19.7.0-build.log

Desktop (please complete the following information):

Additional context Being able to build in parallel (with multiple jobs) enables for faster builds. Concurrency issues in the build usually point at e.g. the same files being used by multiple (sub)targets.

RossBencina commented 3 years ago

We're going to move C++ bindings to their own repo #548

dvzrv commented 3 years ago

@RossBencina cool! Please feel free to move the issues relevant for them to that repository then (unless the move fixes the build system related issues). Thanks! :)