Hi all,
I'm attempting to build pd with jack in raspbian on rpi.
I've got most recent pd from git.
I'm following instructions from INSTALL.txt as I have a memory of IOhannes mentioning that's working again - and also it's the only way I know of adding the '--enable-jack' flag.
Or so I thought: ./autogen.sh seems fine but ./configure --enable-jack Doesn't build pd with jack support. (outputs below)
Any ideas anyone?
Regards,
Julian
P.S. Happy to do it 'Miller's way' " cd to src and hit 'make -f makefile.gnu'. " but how to add jack support to this method I don't know.
pure@pi ~/pure-data $ ./autogen.sh
autoreconf: Entering directory .' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4/generated -I m4 autoreconf: configure.ac: tracing autoreconf: configure.ac: adding subdirectory portaudio to autoreconf autoreconf: Entering directory
portaudio'
autoreconf: configure.in: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.in: tracing
autoreconf: configure.in: subdirectory bindings/cpp not present
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in .'. libtoolize: copying file
./ltmain.sh'
libtoolize: Consider adding AC_CONFIG_MACRO_DIR([m4])' to configure.in and libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. libtoolize: Consider adding
-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
autoreconf: running: /usr/bin/autoconf --force
autoreconf: configure.in: not using Autoheader
autoreconf: configure.in: not using Automake
autoreconf: Leaving directory portaudio' libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR,
m4/config'.
libtoolize: copying file m4/config/ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIR,
m4/generated'.
libtoolize: copying file m4/generated/libtool.m4' libtoolize: copying file
m4/generated/ltoptions.m4'
libtoolize: copying file m4/generated/ltsugar.m4' libtoolize: copying file
m4/generated/ltversion.m4'
libtoolize: copying file m4/generated/lt~obsolete.m4' autoreconf: configure.ac: not using Autoheader autoreconf: running: automake --add-missing --copy --force-missing autoreconf: Leaving directory
.'
pure@pi ~/pure-data $ ./configure --enable-jack checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... no checking build system type... armv6l-unknown-linux-gnueabihf checking host system type... armv6l-unknown-linux-gnueabihf configure: iPhone SDK only available for arm-apple-darwin hosts, skipping tests configure: Android SDK only available for arm-linux hosts, skipping tests checking for style of include used by make... none checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... none checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert armv6l-unknown-linux-gnueabihf file names to armv6l-unknown-linux-gnueabihf format... func_convert_file_noop checking how to convert armv6l-unknown-linux-gnueabihf file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... dlltool checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for shl_load... no checking for shl_load in -ldld... no checking for dlopen... no checking for dlopen in -ldl... yes checking whether a program can dlopen itself... yes checking whether a statically linked program can dlopen itself... no checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking dependency style of gcc... (cached) none checking for g++... no checking for c++... no checking for gpp... no checking for aCC... no checking for CC... no checking for cxx... no checking for cc++... no checking for cl.exe... no checking for FCC... no checking for KCC... no checking for RCC... no checking for xlC_r... no checking for xlC... no checking whether we are using the GNU C++ compiler... no checking whether g++ accepts -g... no checking dependency style of g++... none checking whether make sets $(MAKE)... (cached) no checking whether ln -s works... yes checking for dlopen in -ldl... (cached) yes checking for cos in -lm... yes checking for pthread_create in -lpthread... yes checking for ANSI C header files... (cached) yes checking sys/soundcard.h usability... yes checking sys/soundcard.h presence... yes checking for sys/soundcard.h... yes checking CoreAudio/CoreAudio.h usability... no checking CoreAudio/CoreAudio.h presence... no checking for CoreAudio/CoreAudio.h... no checking for snd_pcm_info in -lasound... yes checking for shm_open in -lrt... yes checking for jack_set_xrun_callback in -ljack... no checking for jack_set_error_function in -ljack... no checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking for sys/soundcard.h... (cached) yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/timeb.h usability... yes checking sys/timeb.h presence... yes checking for sys/timeb.h... yes checking for unistd.h... (cached) yes checking for int16_t... yes checking for int32_t... yes checking for off_t... yes checking for pid_t... yes checking for size_t... (cached) yes checking for error_at_line... yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking return type of signal handlers... void checking for dup2... yes checking for floor... no checking for getcwd... yes checking for gethostbyname... yes checking for gettimeofday... yes checking for memmove... yes checking for memset... yes checking for pow... no checking for regcomp... yes checking for select... yes checking for socket... yes checking for sqrt... no checking for strchr... yes checking for strerror... yes checking for strrchr... yes checking for strstr... yes checking for strtol... yes checking for msgfmt... yes configure: creating ./config.status config.status: creating Makefile config.status: creating asio/Makefile config.status: creating man/Makefile config.status: creating portmidi/Makefile config.status: creating tcl/Makefile config.status: creating po/Makefile config.status: creating src/Makefile config.status: creating extra/Makefile config.status: creating extra/bonk~/GNUmakefile config.status: creating extra/choice/GNUmakefile config.status: creating extra/expr~/GNUmakefile config.status: creating extra/fiddle~/GNUmakefile config.status: creating extra/loop~/GNUmakefile config.status: creating extra/lrshift~/GNUmakefile config.status: creating extra/pd~/GNUmakefile config.status: creating extra/pique/GNUmakefile config.status: creating extra/sigmund~/GNUmakefile config.status: creating extra/stdout/GNUmakefile config.status: creating pd.pc config.status: executing depfiles commands config.status: executing libtool commands === configuring in portaudio (/home/pure/pure-data/portaudio) configure: running /bin/bash ./configure --disable-option-checking '--prefix=/usr/local' '--enable-jack' --cache-file=/dev/null --srcdir=. checking build system type... armv6l-unknown-linux-gnueabihf checking host system type... armv6l-unknown-linux-gnueabihf checking target system type... armv6l-unknown-linux-gnueabihf checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert armv6l-unknown-linux-gnueabihf file names to armv6l-unknown-linux-gnueabihf format... func_convert_file_noop checking how to convert armv6l-unknown-linux-gnueabihf file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... dlltool checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking for gawk... no checking for mawk... mawk checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for a BSD-compatible install... /usr/bin/install -c checking whether ln -s works... yes checking for ar... /usr/bin/ar checking whether byte ordering is bigendian... no checking for snd_pcm_open in -lasound... yes checking for HPI_SubSysCreate in -lhpi... no checking sys/soundcard.h usability... yes checking sys/soundcard.h presence... yes checking for sys/soundcard.h... yes checking linux/soundcard.h usability... yes checking linux/soundcard.h presence... yes checking for linux/soundcard.h... yes checking machine/soundcard.h usability... no checking machine/soundcard.h presence... no checking for machine/soundcard.h... no checking for _oss_ioctl in -lossaudio... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for JACK... no checking size of short... 2 checking size of int... 4 checking size of long... 4 checking for clock_gettime in -lrt... yes checking for clock_gettime... yes checking for nanosleep... yes checking for pthread_create in -lpthread... yes configure: creating ./config.status config.status: creating Makefile config.status: creating portaudio-2.0.pc config.status: executing libtool commands
Configuration summary:
Target ...................... armv6l-unknown-linux-gnueabihf C++ bindings ................ no Debug output ................ no
ALSA ........................ yes ASIHPI ...................... no
OSS ......................... yes JACK ........................ no
On 2013-10-11 09:23, Julian Brooks wrote:
checking for jack_set_xrun_callback in -ljack... no checking for jack_set_error_function in -ljack... no
you have to install libjack-dev.
a good start to install all/most packages needed to build jack (at least with the same features as the "puredata" packages) is:
# aptitude build-dep puredata
fmgaer IOhannes
Great stuff, nice one IOhannes.
On 11 October 2013 10:03, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 2013-10-11 09:23, Julian Brooks wrote:
checking for jack_set_xrun_callback in -ljack... no checking for jack_set_error_function in -ljack... no
you have to install libjack-dev.
a good start to install all/most packages needed to build jack (at least with the same features as the "puredata" packages) is:
# aptitude build-dep puredata
fmgaer IOhannes
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hey again,
Possible issue:
I've installed libjack-dev and Pd builds fine - great.
I did want to have jackd2 but that doesn't have libjack-dev it has libjack-jackd2-0.
Pd doesn't configure with jack when this lib is installed.
Does it make a difference to build Pd with libjack-dev (in effect build with jackd1 but run with jackd2)? I mean I guess I'll know if it's something obvious but could there be performance issues.
Regards,
Julian
On 11 October 2013 10:15, Julian Brooks jbeezez@gmail.com wrote:
Great stuff, nice one IOhannes.
On 11 October 2013 10:03, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 2013-10-11 09:23, Julian Brooks wrote:
checking for jack_set_xrun_callback in -ljack... no checking for jack_set_error_function in -ljack... no
you have to install libjack-dev.
a good start to install all/most packages needed to build jack (at least with the same features as the "puredata" packages) is:
# aptitude build-dep puredata
fmgaer IOhannes
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd seems to have built though I'm not sure if there would be some kind of 'that's it, your done, nothing to see here, move on' type message.
Anyway, when typing 'pd' on the command line I get this: pd: error while loading shared libraries: libportaudio.so.2: cannot open shared object file: No such file or directory
Any ideas anyone?
On 14 October 2013 05:22, Julian Brooks jbeezez@gmail.com wrote:
Hey again,
Possible issue:
I've installed libjack-dev and Pd builds fine - great.
I did want to have jackd2 but that doesn't have libjack-dev it has libjack-jackd2-0.
Pd doesn't configure with jack when this lib is installed.
Does it make a difference to build Pd with libjack-dev (in effect build with jackd1 but run with jackd2)? I mean I guess I'll know if it's something obvious but could there be performance issues.
Regards,
Julian
On 11 October 2013 10:15, Julian Brooks jbeezez@gmail.com wrote:
Great stuff, nice one IOhannes.
On 11 October 2013 10:03, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 2013-10-11 09:23, Julian Brooks wrote:
checking for jack_set_xrun_callback in -ljack... no checking for jack_set_error_function in -ljack... no
you have to install libjack-dev.
a good start to install all/most packages needed to build jack (at least with the same features as the "puredata" packages) is:
# aptitude build-dep puredata
fmgaer IOhannes
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Sorry - to be clear, I did:
cd ~/pure-data (after d/l from git) ./autogen.sh ./configure --enable-jack make && sudo make install
On 14 October 2013 06:08, Julian Brooks jbeezez@gmail.com wrote:
Pd seems to have built though I'm not sure if there would be some kind of 'that's it, your done, nothing to see here, move on' type message.
Anyway, when typing 'pd' on the command line I get this: pd: error while loading shared libraries: libportaudio.so.2: cannot open shared object file: No such file or directory
Any ideas anyone?
On 14 October 2013 05:22, Julian Brooks jbeezez@gmail.com wrote:
Hey again,
Possible issue:
I've installed libjack-dev and Pd builds fine - great.
I did want to have jackd2 but that doesn't have libjack-dev it has libjack-jackd2-0.
Pd doesn't configure with jack when this lib is installed.
Does it make a difference to build Pd with libjack-dev (in effect build with jackd1 but run with jackd2)? I mean I guess I'll know if it's something obvious but could there be performance issues.
Regards,
Julian
On 11 October 2013 10:15, Julian Brooks jbeezez@gmail.com wrote:
Great stuff, nice one IOhannes.
On 11 October 2013 10:03, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 2013-10-11 09:23, Julian Brooks wrote:
checking for jack_set_xrun_callback in -ljack... no checking for jack_set_error_function in -ljack... no
you have to install libjack-dev.
a good start to install all/most packages needed to build jack (at least with the same features as the "puredata" packages) is:
# aptitude build-dep puredata
fmgaer IOhannes
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Rebooted and typing: pd works just fine (whoo!)
Apologies for the noise about the previous error message.
Would still like to know about jackd1/2 though?
On 14 October 2013 06:13, Julian Brooks jbeezez@gmail.com wrote:
Sorry - to be clear, I did:
cd ~/pure-data (after d/l from git) ./autogen.sh ./configure --enable-jack make && sudo make install
On 14 October 2013 06:08, Julian Brooks jbeezez@gmail.com wrote:
Pd seems to have built though I'm not sure if there would be some kind of 'that's it, your done, nothing to see here, move on' type message.
Anyway, when typing 'pd' on the command line I get this: pd: error while loading shared libraries: libportaudio.so.2: cannot open shared object file: No such file or directory
Any ideas anyone?
On 14 October 2013 05:22, Julian Brooks jbeezez@gmail.com wrote:
Hey again,
Possible issue:
I've installed libjack-dev and Pd builds fine - great.
I did want to have jackd2 but that doesn't have libjack-dev it has libjack-jackd2-0.
Pd doesn't configure with jack when this lib is installed.
Does it make a difference to build Pd with libjack-dev (in effect build with jackd1 but run with jackd2)? I mean I guess I'll know if it's something obvious but could there be performance issues.
Regards,
Julian
On 11 October 2013 10:15, Julian Brooks jbeezez@gmail.com wrote:
Great stuff, nice one IOhannes.
On 11 October 2013 10:03, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 2013-10-11 09:23, Julian Brooks wrote:
checking for jack_set_xrun_callback in -ljack... no checking for jack_set_error_function in -ljack... no
you have to install libjack-dev.
a good start to install all/most packages needed to build jack (at least with the same features as the "puredata" packages) is:
# aptitude build-dep puredata
fmgaer IOhannes
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 2013-10-14 07:13, Julian Brooks wrote:
Anyway, when typing 'pd' on the command line I get this: pd: error while loading shared libraries: libportaudio.so.2: cannot open shared object file: No such file or directory
a few possibilities:
#0 refresh your ldcache
# ldconfig
puredata should have installed all apropriate libraries, but the new
libraries might not yet be known to your system.
ldconfig
should do the trick (alternatively rebooting will do as well)
#1 properly install portaudio as shipped with Pd (and Pd): since it seems that you have pd in your PATH, i guess you already installed Pd with something like: # make install if this did not install portaudio, run the following: # make -C portaudio install
#2 disable portaudio: $ ./configure --without-portaudio personally, that's my preferred way, as i don't really see the point of portaudio (on linux) when Pd supports jack and alsa and oss.
#3 install portaudio from Debian # aptitude install libportaudio2 (this will install another version of portaudio as the one you compiled Pd against (you compiled against the one Pd ships with, and now you are linking against the one debian ships with; according to the .so-names this should not be a problem)
since i now read that you managed to get it running by rebooting Pd, i guess the correct solution was #0.
gfmsrd IOhannes
On 2013-10-14 06:22, Julian Brooks wrote:
Hey again,
Possible issue:
I've installed libjack-dev and Pd builds fine - great.
I did want to have jackd2 but that doesn't have libjack-dev it has libjack-jackd2-0.
Pd doesn't configure with jack when this lib is installed.
Does it make a difference to build Pd with libjack-dev (in effect build with jackd1 but run with jackd2)? I mean I guess I'll know if it's something obvious but could there be performance issues.
this is the preferred debian way: build against libjack-dev, and let the user decide to install jack1 or jack2. this is possible because the libraries are binary compatible. if they are not, it's a bug in debian.
gfmrdsa IOhannes
Yet again, many thanks for the walkthrough IOhannes, loads of good info in there, esp like the portaudio stuff.
And apologies again for the not refreshing problem (too early in the morning to have my brain refreshed).
If only there was a 'mentalconfig' command to go with ldconfig.
On 14 October 2013 11:17, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 2013-10-14 06:22, Julian Brooks wrote:
Hey again,
Possible issue:
I've installed libjack-dev and Pd builds fine - great.
I did want to have jackd2 but that doesn't have libjack-dev it has libjack-jackd2-0.
Pd doesn't configure with jack when this lib is installed.
Does it make a difference to build Pd with libjack-dev (in effect build with jackd1 but run with jackd2)? I mean I guess I'll know if it's something obvious but could there be performance issues.
this is the preferred debian way: build against libjack-dev, and let the user decide to install jack1 or jack2. this is possible because the libraries are binary compatible. if they are not, it's a bug in debian.
gfmrdsa IOhannes
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list