Ticket #43 (reopened enhancement)
JACK input device doesn't link on OS X
| Reported by: | nieder | Owned by: | |
|---|---|---|---|
| Priority: | wish | Component: | avformat |
| Version: | git-master | Keywords: | jack osx roundup |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
This is copied from the old roundup #976
https://roundup.libav.org/issue976
On OS X, using --enable-indev=jack, the build fails with
CC libavdevice/jack_audio.o
/src/ffmpeg/libavdevice/jack_audio.c: In function 'audio_read_packet':
/src/ffmpeg/libavdevice/jack_audio.c:277: warning: implicit declaration of function 'sem_timedwait'
AR libavdevice/libavdevice.a
LD libavdevice/libavdevice.52.dylib
Undefined symbols:
"_sem_timedwait", referenced from:
_audio_read_packet in jack_audio.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [libavdevice/libavdevice.52.dylib] Error 1
sem_* is semaphore_* on OS X.
Attachments
Change History
Changed 2 years ago by nieder
-
attachment
ffmpeg-jack-osx.patch
added
comment:2 Changed 2 years ago by michael
- Status changed from new to closed
- Resolution set to fixed
Fixed by disabling jack when sem_timedwait() is unavailable.
About the patch, i think thread synchronization functions should be used that are available on a wider range of platforms, not tons of #ifdefs to make it work on osx & linux and then still fail on openbsd which the patch would sadly.
comment:3 Changed 2 years ago by michael
- Status changed from closed to reopened
- Type changed from defect to enhancement
- Component changed from undetermined to avformat
- Priority changed from normal to wish
- Version changed from git to git-master
- Resolution fixed deleted
Rethinking this should be a enhancement request of course, as our jack code should use wider available therad sync functions.
Note: See
TracTickets for help on using
tickets.



provides semaphore_* when HAVE_MACH_SEMAPHORE_H is set