Неопределенный символ - это символ, который библиотека использует, но не определена ни в одном из объектных файлов, которые входили в создание библиотеки.
Обычно символ определен в другой библиотеке, которая также должна быть связана с вашим приложением. В качестве альтернативы символ не определен, потому что вы забыли создать код, который определяет символ, или вы забыли включить объектный файл с этим символом в свою библиотеку.
В вашем случае это похоже на символ из библиотеки C вашей реализации, поэтому вы ожидаете, что это будет неопределено в вашей собственной библиотеке. Он будет определен в вашем libc.so везде, где это возможно, возможно/usr/lib.
как в сторону, нм --demangle очень полезно для C++ это делает символы более дружественным –