libjson-c.so.3 против libjson-c.so.2 в Ubuntu - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь запустить программу на C ++, разработанную в Ubuntu 18.04.Он использует общую библиотеку JSON-C.Он компилируется и работает без проблем в моей системе Ubuntu 18.04.Однако он компилируется в системе Ubuntu 14.04, но вылетает при запуске, сообщая следующее сообщение -

*** Error in `./main.out': corrupted size vs. prev_size: 0x00007fdd54f49e30 ***Aborted (core dumped)

После некоторого копания я обнаружил, что что-то не так с библиотекой JSON-C.Я проверил связанные библиотеки JSON-C с помощью команды ldd.Это дало мне следующий вывод в Ubuntu 18.04 -

libjson-c.so.3 => /lib/x86_64-linux-gnu/libjson-c.so.3 (0x00007ff16a88c000)

И следующий в Ubuntu 14.04 -

libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007f0848838000)

Я думаю, что-то не так с версиями JSON-C.Я не смог найти полезную информацию в Google.Есть идеи, что это за проблема?

1 Ответ

0 голосов
/ 13 декабря 2018

Ubuntu 18.04 LTS включает в себя более новую версию библиотеки "libjson-c3".Предыдущие версии, в том числе Ubuntu 16.04 LTS и 14.04 LTS, имеют более старую версию "libjson-c2".

Эти версии настолько различны, что они несовместимы.

Если вы должны запустите ваш код 14.04, вам нужно тщательно изучить вызовы libjson, чтобы выяснить, где эти совместимости.

В качестве альтернативы, вы можете попробовать запустить приложение на более новой версии 18.04 и не беспокоиться о поддержке 14.04.

...