I get problems trying to use the newest versions of MPLAB X IDE and XC8 compiler... I thought ... I'll abandon the Microchip toolchain in favor of SDCC or even cpik C compiler and, of course, JAL language, all working in Linux as I've finally became a full Linux user because of the Microsoft aggressivity with their Windows 10 (we all saw that Windows 10 proved to be a huge spying tool).
But on the second thought, I downloaded some older versions, 2.15 for MPLAB X IDE, 1.31 for XC8 and 1.11 for XC16. So, this will continue. I saw that the serial bootloader firmware written in assembler compiles with errors in this IDE version so I use the assembler from the MPLAB C18 compiler (see this article) and works fine. I know it will not offer support for the most recent Microchip additions, but this is for the PIC18F46K22 microcontroller.
Now I'm working with a Nucleo board based on STM32 microcontroller and recently finished the onewire library for DS18B20 temperature sensor and I will port the library here when there will be time for this.