Re: [PATCH] dvbinfo: fix error: 'daemon' is deprecated: first deprecated in OS X 10.5 [-Werror, -Wdeprecated-declarations]
Jean-Paul Saman <[email protected]> Wed, 16 Apr 2014 09:17:27 +0200
| Newsgroups | gmane.comp.video.videolan.libdvbpsi.devel |
|---|---|
| Message-ID | <CAK9US3C4pAs3QPkt0ga4o6KgXF9Mea_TPyoP0REtAGEjVyQTWg@mail.gmail.com> |
Michael, I'll apply the patch anyway, since it should build cross-platform thus also on MacOS X Maverick. Rewriting the code to not use daemon() function is something that can be done at a later time. Thanks again for the patch. Kind regards, Jean-Paul Saman On Wed, Apr 16, 2014 at 3:48 AM, Michael Ira Krufky <[email protected]>wrote: > I'm not sure if you will want to apply this patch, but I thought I > should share it and let you decide. I need it in order to build > libdvbpsi on OSX Mavericks, but I don't actually use the dvbinfo > program. > > Fix the following build error when building under OSX: > > gcc -DHAVE_CONFIG_H -I. -I../.. -D_FILE_OFFSET_BITS=64 -DDVBPSI_DIST -g > -O2 -Wall -Werror --std=gnu99 -D_GNU_SOURCE -Wpointer-arith -Wcast-align > -Wcast-qual -Wstrict-prototypes -Wshadow -Waggregate-return > -Wmissing-prototypes -Wnested-externs -Wsign-compare -DDVBPSI_DIST -MT > dvbinfo-dvbinfo.o -MD -MP -MF .deps/dvbinfo-dvbinfo.Tpo -c -o > dvbinfo-dvbinfo.o `test -f 'dvbinfo.c' || echo './'`dvbinfo.c > dvbinfo.c:656:13: error: 'daemon' is deprecated: first deprecated in OS X > 10.5 [-Werror,-Wdeprecated-declarations] > if (daemon(1,0) < 0) > ^ > /usr/include/stdlib.h:267:6: note: 'daemon' declared here > int daemon(int, int) __DARWIN_1050(daemon) > __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_2_0, > __IPHONE_2_0); > ^ > 1 error generated. > make[3]: *** [dvbinfo-dvbinfo.o] Error 1 > make[2]: *** [all-recursive] Error 1 > make[1]: *** [all-recursive] Error 1 > make: *** [all] Error 2 > > Signed-off-by: Michael Ira Krufky <[email protected]> > --- > examples/dvbinfo/dvbinfo.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/examples/dvbinfo/dvbinfo.c b/examples/dvbinfo/dvbinfo.c > index 5ca7ea0..8a7417d 100644 > --- a/examples/dvbinfo/dvbinfo.c > +++ b/examples/dvbinfo/dvbinfo.c > @@ -22,6 +22,14 @@ > > #include "config.h" > > +#if __APPLE__ > +// In Mac OS X 10.5 and later trying to use the daemon function gives a > “‘daemon’ is deprecated” > +// error, which prevents compilation because we build with "-Werror". > +// Since this is supposed to be portable cross-platform code, we don't > care that daemon is > +// deprecated on Mac OS X 10.5, so we use this preprocessor trick to > eliminate the error message. > +#define daemon yes_we_know_that_daemon_is_deprecated_in_os_x_10_5_thankyou > +#endif > + > #include <stdlib.h> > #include <stdio.h> > #include <stdbool.h> > @@ -68,6 +76,11 @@ > # include "tcp.h" > #endif > > +#if __APPLE__ > +#undef daemon > +extern int daemon(int, int); > +#endif > + > #define FIFO_THRESHOLD_SIZE (400 * 1024 * 1024) /* threshold in bytes */ > #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) > > -- > 1.8.3.2 > _______________________________________________ libdvbpsi-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libdvbpsi-devel