A Fedora packager is basing his openCOLLADA on mine and during his review rpmlint picked up "undefined-non-weak-symbol"s in one of the
libraries. This seems like something that I should fix and possibly something that our rpmlint needs to check for.
This is what shows it up, rpmlint doesn't :
ldd -r /usr/lib64/libbuffer.so
undefined symbol: _ZN6Common4ftoaEfPc (/usr/lib64/libbuffer.so)
undefined symbol: _ZN6Common4dtoaEdPcb (/usr/lib64/libbuffer.so)
linux-vdso.so.1 => (0x00007fffe5d37000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f7017757000)
libm.so.6 => /lib64/libm.so.6 (0x00007f7017500000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f70172e9000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7016f7c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7017ca3000)
I assume this has to do with the two undefined symbols in libbuffer.so :
# c++filt _ZN6Common4ftoaEfPc _ZN6Common4dtoaEdPcb
Common::ftoa(float, char*)
Common::dtoa(double, char*, bool)
The closest match I can find in the sources are from libftoa's (also part of openCOLLADA) Commondtoa.h and Commonftoa.h :
/*
Copyright (c) 2009 NetAllied Systems GmbH
This file is part of Common libftoa.
Licensed under the MIT Open Source License,
for details please see LICENSE file or the website
http://www.opensource.org/licenses/mit-license.php
*/
#ifndef __COMMON_DTOA_H__
#define __COMMON_DTOA_H__
#include