[vdr] dvbhdffdevice.c:569:33: error: 'AUDIO_GET_PTS' was not declared in this scope

Jasmin J. jasmin at anw.at
Sun Sep 30 10:47:53 UTC 2018


Hello!

> Any idea why it was necessary to break these things?
No, I just used Google to find it.

> BTW: I always thought that Linux kernel policy is not to allow userspace
> applications to break. Apparently this is no longer the case :-(.
In general Kernel APIs do not change, but sometimes this happened in the past.
In the particular case the ioctl implementation within the Kernel was
completely removed long time ago thus they decided to remove the definition.
This define was even not used in Kernel 2.6.19.7! So this symbol is 11 years
depreciated/not existent already.

When an API is depreciated for so long time, it was time enough for application
developers to remove it. In fact it should have returned "ENOIOCTLCMD" since
ages.

Now with Kernel 4.19 it is gone, because they thought it was enough time for
all applications to remove it, I guess.
This is also an example, that User Space developers don't care about
depreciated APIs. So removing an API after 11 years is a good method to force
developers to do their homework, when they are not reading the documentation.
At least this is my opinion on that.

Best practice would be to print a warning in a logfile if an API returns, that
it is no longer existing. With that it shows up early and the developer will
be informed and can react.

BR,
   Jasmin



More information about the vdr mailing list