byteswap-16.h
содержит макрос, используемый во многих программах. В Ubuntu 18.04 этот файл был частью пакета libc6-dev
и установлен в / usr / include / x86_64-linux-gnu / bits
. С 20.04 этот файл больше не входит в этот пакет:
$ sudo apt install libc6-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libc6-dev is already the newest version (2.31-0ubuntu9).
0 upgraded, 0 newly installed, 0 to remove and 51 not upgraded.
$ ls /usr/include/x86_64-linux-gnu/bits/byteswap-16.h
ls: cannot access '/usr/include/x86_64-linux-gnu/bits/byteswap-16.h': No such file or directory
Таким образом, больше не возможно компилировать различные программы:
$ make
make --directory=lib/dglib/lib
make[1]: Entering directory '/home/duque004/git/DGGRID/src/lib/dglib/lib'
make[1]: *** No rule to make target '/usr/include/x86_64-linux-gnu/bits/byteswap-16.h', needed by 'DgTriGrid2DS.o'. Stop.
make[1]: Leaving directory '/home/duque004/git/DGGRID/src/lib/dglib/lib'
make: *** [Makefile:14: lib/dglib/lib] Error 2
Я бы предпочел не вмешиваться вручную в системные папки, чтобы получить этот заголовочный файл. Можно ли его как-то получить из репозиториев?
Обновление : Это кажется более общей проблемой. Я определил два других заголовочных файла, отсутствующих в этом пакете ( по сравнению с 18.04): libio.h
и _G_config.h
.
As we have read from the bug-report at https://pad.lv/1888302 - it was an upstream decision.
So you have to use previous stable Ubuntu 18.04 LTS version to compile the needed stuff.