Bug 190454 - audio/fluidsynth error: unknown type name PaStreamCall
Summary: audio/fluidsynth error: unknown type name PaStreamCall
Status: Closed Not A Bug
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: i386 Any
: --- Affects Many People
Assignee: freebsd-multimedia mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-01 23:17 UTC by mikhail.rokhin
Modified: 2014-09-14 12:45 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description mikhail.rokhin 2014-06-01 23:17:31 UTC
audio/fluidsynth 

glib/fluid_portaudio.c:61:28 error: unknown type name PaStreamCall...

Environment:
11.0-curr r266410 i386

How-To-Repeat:
compile audio/fluidsynth
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2014-06-02 02:34:46 UTC
ports PR.
Comment 2 Carlo Strub freebsd_committer 2014-06-10 11:21:42 UTC

*** This bug has been marked as a duplicate of bug 190470 ***
Comment 3 mikhail.rokhin 2014-06-11 10:52:57 UTC
(In reply to Carlo Strub from comment #2)
> 
> *** This bug has been marked as a duplicate of bug 190470 ***

there was mistake in title, not duplicate.
Comment 4 John Marino freebsd_committer 2014-06-16 07:18:47 UTC
I'm not sure who "multimedia" actually is, but they are listed as the maintainer.
Comment 5 Thomas Zander freebsd_committer 2014-07-27 10:05:09 UTC
Well, the build log is far from beautiful, but at least it does build in my environment.

Do you have more information?
Comment 6 mikhail.rokhin 2014-07-27 17:59:27 UTC
Now it claims:

===>>> Port directory: /usr/ports/audio/fluidsynth

	===>>> This port is marked BROKEN
	===>>> portaudio2 support does not build in presence of old portaudio


	===>>> If you are sure you can build it, remove the
	       BROKEN line in the Makefile and try again.

after BROKEN removal:

portmaster -gdvy audio/fluidsynth

===>>> Port directory: /usr/ports/audio/fluidsynth

===>>> Gathering distinfo list for installed ports

===>>> Launching 'make checksum' for audio/fluidsynth in background
===>>> Gathering dependency list for audio/fluidsynth from ports
===>>> Starting dependency check
===>>> Checking dependency: audio/alsa-lib
===>>> Checking dependency: audio/jack
===>>> Checking dependency: audio/ladspa
===>>> Checking dependency: audio/lash
===>>> Checking dependency: audio/libsndfile
===>>> Checking dependency: audio/portaudio2
===>>> Checking dependency: audio/pulseaudio
===>>> Checking dependency: devel/cmake
===>>> Checking dependency: devel/dbus
===>>> Checking dependency: devel/glib20
===>>> Checking dependency: devel/ninja
===>>> Checking dependency: devel/pcre
===>>> Checking dependency: devel/pkgconf
===>>> Checking dependency: ports-mgmt/pkg
===>>> Initial dependency check complete for audio/fluidsynth


===>>> Starting build for audio/fluidsynth <<<===

===>>> All dependencies are up to date

===>  Cleaning for fluidsynth-1.1.6_1
===>  License LGPL20 accepted by the user
===>  Found saved configuration for fluidsynth-1.1.6
===>   fluidsynth-1.1.6_1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by fluidsynth-1.1.6_1 for building
===>  Extracting for fluidsynth-1.1.6_1
=> SHA256 Checksum OK for fluidsynth-1.1.6.tar.bz2.
===>  Patching for fluidsynth-1.1.6_1
===>  Applying FreeBSD patches for fluidsynth-1.1.6_1
===>   fluidsynth-1.1.6_1 depends on file: /usr/local/include/ladspa.h - found
===>   fluidsynth-1.1.6_1 depends on file: /usr/local/include/portaudio2/portaudio.h - found
===>   fluidsynth-1.1.6_1 depends on file: /usr/local/bin/cmake - found
===>   fluidsynth-1.1.6_1 depends on executable: pkgconf - found
===>   fluidsynth-1.1.6_1 depends on executable: ninja - found
===>   fluidsynth-1.1.6_1 depends on shared library: libasound.so - found (/usr/local/lib/libasound.so.2.0.0) - found (/usr/local/lib/libasound.so.2.0.0)
===>   fluidsynth-1.1.6_1 depends on shared library: libdbus-1.so - found (/usr/local/lib/libdbus-1.so.3.8.6) - found (/usr/local/lib/libdbus-1.so.3.8.6)
===>   fluidsynth-1.1.6_1 depends on shared library: libjack.so - found (/usr/local/lib/libjack.so.0.0.28) - found (/usr/local/lib/libjack.so.0.0.28)
===>   fluidsynth-1.1.6_1 depends on shared library: liblash.so - found (/usr/local/lib/liblash.so.1.1.1) - found (/usr/local/lib/liblash.so.1.1.1)
===>   fluidsynth-1.1.6_1 depends on shared library: libpulse.so - found (/usr/local/lib/libpulse.so.0) - found (/usr/local/lib/libpulse.so.0)
===>   fluidsynth-1.1.6_1 depends on shared library: libsndfile.so - found (/usr/local/lib/libsndfile.so.1.0.25) - found (/usr/local/lib/libsndfile.so.1.0.25)
===>   fluidsynth-1.1.6_1 depends on shared library: libglib-2.0.so - found (/usr/local/lib/libglib-2.0.so.0) - found (/usr/local/lib/libglib-2.0.so.0)
===>   fluidsynth-1.1.6_1 depends on shared library: libpcre.so - found (/usr/local/lib/libpcre.so.3) - found (/usr/local/lib/libpcre.so.3)
===>  Configuring for fluidsynth-1.1.6_1
===>   FreeBSD 10 autotools fix applied to /usr/ports/audio/fluidsynth/work/fluidsynth-1.1.6/configure
===>   FreeBSD 10 autotools fix applied to /usr/ports/audio/fluidsynth/work/fluidsynth-1.1.6/acinclude.m4
===>   FreeBSD 10 autotools fix applied to /usr/ports/audio/fluidsynth/work/fluidsynth-1.1.6/aclocal.m4
===>  Performing in-source build
/bin/mkdir -p /usr/ports/audio/fluidsynth/work/fluidsynth-1.1.6
-- The C compiler identification is Clang 3.4.1
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Checking whether system has ANSI C header files
-- Looking for 8 include files dlfcn.h, ..., float.h
-- Looking for 8 include files dlfcn.h, ..., float.h - found
-- Performing Test memchrExists
-- Performing Test memchrExists - Success
-- Performing Test freeExists
-- Performing Test freeExists - Success
-- ANSI C header files - found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for DIR in sys/stat.h;sys/types.h;dirent.h
-- Looking for DIR in sys/stat.h;sys/types.h;dirent.h - found
-- Looking for stdio.h
-- Looking for stdio.h - found
-- Looking for math.h
-- Looking for math.h - found
-- Looking for errno.h
-- Looking for errno.h - found
-- Looking for stdarg.h
-- Looking for stdarg.h - found
-- Looking for memory.h
-- Looking for memory.h - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for netinet/tcp.h
-- Looking for netinet/tcp.h - found
-- Looking for arpa/inet.h
-- Looking for arpa/inet.h - found
-- Looking for limits.h
-- Looking for limits.h - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for signal.h
-- Looking for signal.h - found
-- Looking for getopt.h
-- Looking for getopt.h - found
-- Performing Test _have_inline
-- Performing Test _have_inline - Success
-- Performing Test _have_vla
-- Performing Test _have_vla - Success
-- Check if the system is big endian
-- Searching 16 bit integer
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Found Pthreads: /usr/lib/libpthread.so  
-- Looking for ladspa.h
-- Looking for ladspa.h - found
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.28") 
-- checking for modules 'glib-2.0>=2.6.5;gthread-2.0>=2.6.5'
--   found glib-2.0, version 2.36.3
--   found gthread-2.0, version 2.36.3
-- checking for module 'sndfile>=1.0.0'
--   found sndfile, version 1.0.25
-- checking for module 'sndfile>=1.0.18'
--   found sndfile, version 1.0.25
-- checking for module 'libpulse-simple>=0.9.8'
--   found libpulse-simple, version 0.9.23
-- checking for module 'alsa>=0.9.1'
--   found alsa, version 1.0.27.2
-- checking for module 'portaudio-2.0>=19'
--   found portaudio-2.0, version 19
-- checking for module 'jack'
--   found jack, version 0.121.3
-- Found READLINE: /usr/local/include  
-- checking for module 'lash-1.0>=0.3'
--   found lash-1.0, version 0.5.4
-- checking for module 'dbus-1>=1.0.0'
--   found dbus-1, version 1.8.6
-- Found Doxygen: /usr/local/bin/doxygen (found version "1.8.3.1") 

**************************************************************
Summary:
Build type:            Release
libsndfile:            yes (with ogg vorbis support)
D-Bus:                 yes
PulseAudio:            yes
JACK:                  yes
ALSA:                  yes
PortAudio:             yes
OSS:                   yes
MidiShare:             no
CoreAudio:             no
CoreMIDI:              no
Windows:               no
LADSPA support:        yes
LASH support:          yes (NOTE: GPL library)
LADCCA support:        no
OS/2 DART support:     no
Audio to file driver:  yes
Readline:              yes (NOTE: GPL library)
Samples type=float:    no (using double)
Profiling:             no
Debug:                 no
Trap on FPE (debug):   no
Check FPE (debug):     no
**************************************************************


-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_CXX_COMPILER
    CMAKE_CXX_FLAGS
    CMAKE_CXX_FLAGS_DEBUG
    CMAKE_CXX_FLAGS_RELEASE
    CMAKE_C_FLAGS_DEBUG
    CMAKE_MODULE_LINKER_FLAGS
    THREADS_HAVE_PTHREAD_ARG


-- Build files have been written to: /usr/ports/audio/fluidsynth/work/fluidsynth-1.1.6
===>  Building for fluidsynth-1.1.6_1
...

[27/45] Building C object src/CMakeFil...dsynth.dir/drivers/fluid_portaudio.c.o
FAILED: /usr/bin/cc  -DHAVE_CONFIG_H -DHAVE_LASH -Dlibfluidsynth_EXPORTS -O2 -pipe -march=native  -I/usr/local/include  -I/usr/local/include/portaudio2 -fno-strict-aliasing -O2 -pipe -march=native  -I/usr/local/include  -I/usr/local/include/portaudio2 -fno-strict-aliasing -fPIC -I. -Isrc -Isrc/drivers -Isrc/synth -Isrc/rvoice -Isrc/midi -Isrc/utils -Isrc/sfloader -Isrc/bindings -Iinclude -I/usr/local/include/glib-2.0 -I/usr/local/include -I/usr/local/include/alsa -I/usr/local/include/dbus-1.0 -I/usr/local/include/dbus-1.0/include -I/usr/local/include/portaudio2 -I/usr/local/include/lash-1.0 -MMD -MT src/CMakeFiles/libfluidsynth.dir/drivers/fluid_portaudio.c.o -MF "src/CMakeFiles/libfluidsynth.dir/drivers/fluid_portaudio.c.o.d" -o src/CMakeFiles/libfluidsynth.dir/drivers/fluid_portaudio.c.o   -c src/drivers/fluid_portaudio.c
In file included from src/drivers/fluid_portaudio.c:33:
In file included from src/synth/fluid_synth.h:35:
In file included from src/synth/fluid_event_queue.h:24:
src/utils/fluid_sys.h:161:31: warning: 'g_thread_init' is deprecated [-Wdeprecated-declarations]
  if (!g_thread_supported ()) g_thread_init (NULL);
                              ^
/usr/local/include/glib-2.0/glib/deprecated/gthread.h:261:10: note: 'g_thread_init' declared here
void     g_thread_init                   (gpointer vtable);
         ^
In file included from src/drivers/fluid_portaudio.c:33:
In file included from src/synth/fluid_synth.h:35:
In file included from src/synth/fluid_event_queue.h:24:
src/utils/fluid_sys.h:162:10: warning: 'g_mutex_new' is deprecated [-Wdeprecated-declarations]
  return g_mutex_new ();
         ^
/usr/local/include/glib-2.0/glib/deprecated/gthread.h:273:17: note: 'g_mutex_new' declared here
GMutex *        g_mutex_new             (void);
                ^
src/drivers/fluid_portaudio.c:61:28: error: unknown type name 'PaStreamCallbackTimeInfo'
                     const PaStreamCallbackTimeInfo* timeInfo,
                           ^
src/drivers/fluid_portaudio.c:62:22: error: unknown type name 'PaStreamCallbackFlags'
                     PaStreamCallbackFlags statusFlags, void *userData);
                     ^
src/drivers/fluid_portaudio.c:87:16: warning: implicit declaration of function 'Pa_GetDeviceCount' is invalid in C99 [-Wimplicit-function-declaration]
  numDevices = Pa_GetDeviceCount();
               ^
src/drivers/fluid_portaudio.c:114:3: error: use of undeclared identifier 'PaStreamParameters'
  PaStreamParameters outputParams;
  ^
src/drivers/fluid_portaudio.c:146:11: error: use of undeclared identifier 'outputParams'
  bzero (&outputParams, sizeof (outputParams));
          ^
src/drivers/fluid_portaudio.c:147:3: error: use of undeclared identifier 'outputParams'
  outputParams.channelCount = 2;
  ^
src/drivers/fluid_portaudio.c:148:3: error: use of undeclared identifier 'outputParams'
  outputParams.suggestedLatency = (PaTime)period_size / sample_rate;
  ^
src/drivers/fluid_portaudio.c:148:36: error: use of undeclared identifier 'PaTime'; did you mean 'GTime'?
  outputParams.suggestedLatency = (PaTime)period_size / sample_rate;
                                   ^
/usr/local/include/glib-2.0/glib/gdate.h:50:17: note: 'GTime' declared here
typedef gint32  GTime;
                ^
src/drivers/fluid_portaudio.c:171:9: error: use of undeclared identifier 'outputParams'
        outputParams.device = i;
        ^
src/drivers/fluid_portaudio.c:182:8: error: use of undeclared identifier 'outputParams'
  else outputParams.device = Pa_GetDefaultOutputDevice();
       ^
src/drivers/fluid_portaudio.c:182:30: warning: implicit declaration of function 'Pa_GetDefaultOutputDevice' is invalid in C99 [-Wimplicit-function-declaration]
  else outputParams.device = Pa_GetDefaultOutputDevice();
                             ^
src/drivers/fluid_portaudio.c:186:5: error: use of undeclared identifier 'outputParams'
    outputParams.sampleFormat = paInt16;
    ^
src/drivers/fluid_portaudio.c:191:5: error: use of undeclared identifier 'outputParams'
    outputParams.sampleFormat = paFloat32;
    ^
src/drivers/fluid_portaudio.c:205:25: error: use of undeclared identifier 'outputParams'
                       &outputParams,
                        ^
src/drivers/fluid_portaudio.c:243:28: error: unknown type name 'PaStreamCallbackTimeInfo'
                     const PaStreamCallbackTimeInfo* timeInfo,
                           ^
src/drivers/fluid_portaudio.c:244:22: error: unknown type name 'PaStreamCallbackFlags'
                     PaStreamCallbackFlags statusFlags, void *userData)
                     ^
4 warnings and 14 errors generated.
[27/45] Building C object src/CMakeFil...fluidsynth.dir/drivers/fluid_pulse.c.o
In file included from src/drivers/fluid_pulse.c:27:
In file included from src/synth/fluid_synth.h:35:
In file included from src/synth/fluid_event_queue.h:24:
src/utils/fluid_sys.h:161:31: warning: 'g_thread_init' is deprecated [-Wdeprecated-declarations]
  if (!g_thread_supported ()) g_thread_init (NULL);
                              ^
/usr/local/include/glib-2.0/glib/deprecated/gthread.h:261:10: note: 'g_thread_init' declared here
void     g_thread_init                   (gpointer vtable);
         ^
In file included from src/drivers/fluid_pulse.c:27:
In file included from src/synth/fluid_synth.h:35:
In file included from src/synth/fluid_event_queue.h:24:
src/utils/fluid_sys.h:162:10: warning: 'g_mutex_new' is deprecated [-Wdeprecated-declarations]
  return g_mutex_new ();
         ^
/usr/local/include/glib-2.0/glib/deprecated/gthread.h:273:17: note: 'g_mutex_new' declared here
GMutex *        g_mutex_new             (void);
                ^
2 warnings generated.
[27/45] Building C object src/CMakeFil...libfluidsynth.dir/utils/fluid_hash.c.o
In file included from src/utils/fluid_hash.c:35:
In file included from src/utils/fluid_hash.h:40:
src/utils/fluid_sys.h:161:31: warning: 'g_thread_init' is deprecated [-Wdeprecated-declarations]
  if (!g_thread_supported ()) g_thread_init (NULL);
                              ^
/usr/local/include/glib-2.0/glib/deprecated/gthread.h:261:10: note: 'g_thread_init' declared here
void     g_thread_init                   (gpointer vtable);
         ^
In file included from src/utils/fluid_hash.c:35:
In file included from src/utils/fluid_hash.h:40:
src/utils/fluid_sys.h:162:10: warning: 'g_mutex_new' is deprecated [-Wdeprecated-declarations]
  return g_mutex_new ();
         ^
/usr/local/include/glib-2.0/glib/deprecated/gthread.h:273:17: note: 'g_mutex_new' declared here
GMutex *        g_mutex_new             (void);
                ^
src/utils/fluid_hash.c:642:7: warning: 'g_atomic_int_exchange_and_add' is deprecated [-Wdeprecated-declarations]
  if (fluid_atomic_int_exchange_and_add (&hashtable->ref_count, -1) - 1 == 0)
      ^
src/utils/fluid_sys.h:186:3: note: expanded from macro 'fluid_atomic_int_exchange_and_add'
  g_atomic_int_exchange_and_add(_pi, _add)
  ^
/usr/local/include/glib-2.0/glib/gatomic.h:82:25: note: 'g_atomic_int_exchange_and_add' declared here
gint                    g_atomic_int_exchange_and_add         (volatile gint  *atomic,
                        ^
3 warnings generated.
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/audio/fluidsynth
*** Error code 1

Stop.
make: stopped in /usr/ports/audio/fluidsynth

===>>> make build failed for audio/fluidsynth
===>>> Aborting update


===>>> You can restart from the point of failure with this command line:
       portmaster <flags> audio/fluidsynth 


(In reply to Thomas Zander from comment #5)
> Well, the build log is far from beautiful, but at least it does build in my
> environment.
> 
> Do you have more information?

(In reply to Thomas Zander from comment #5)
> Well, the build log is far from beautiful, but at least it does build in my
> environment.
> 
> Do you have more information?
Comment 7 Thomas Zander freebsd_committer 2014-07-27 19:56:35 UTC
(In reply to mikhail.rokhin from comment #6)
> Now it claims:
> 
> ===>>> Port directory: /usr/ports/audio/fluidsynth
> 
> 	===>>> This port is marked BROKEN
> 	===>>> portaudio2 support does not build in presence of old portaudio
> 
> 
> 	===>>> If you are sure you can build it, remove the
> 	       BROKEN line in the Makefile and try again.
> 
> after BROKEN removal:

Yes, this is currently, unfortunately, expected. You need a build environment where no portaudio is installed. Then portaudio2 is pulled in as a dependency and the build succeeds.
If you have ports installed which depend on the old portaudio, you can't have them next to each other as of now, sorry.