Steve Langasek wrote: >Package: libhoard >Version: 2.1.0-3 >Severity: serious >Justification: Policy 8.4 > >The libhoard package contains a libhoard.so file which is *not* a symlink to >libhoard.so.*. This violates all the rules governing shared library >packaging; it makes it impossible to properly support installation of >multiple concurrent versions of the shared library, and it means that >installing future versions of -dev packages will force removal of any >packages dynamically linked with this libhoard.so. These >forward-compatibility issues make libhoard 2.1.0-3 unsuitable for inclusion >in a stable release. > >Either libhoard must have a properly versioned soname and be split into -dev >and runtime packages, or the shared library must be dropped completely from >the package. > >
Err, this is on purpose. libhoard is suppose to be a malloc/free drop-in replacement. If you try to get the soname, objdump -x libhoard.so | grep SONAME there is none. The reason is that there are only two functions that libhoard really exports - free and malloc. Those will not change. I don't think ABI for C linking will change either :) Also, you are not suppose to link with libhoard.so. You are suppose to preload it for the applications you want to use the Hoard memory allocator. From the readme, In UNIX, you can use the LD_PRELOAD variable to use Hoard instead of the system allocator for any program not linked with the -static option (that's most programs). *** Solaris (with the Sun Workshop compilers) *** setenv LD_PRELOAD "/path/to/libhoard.so /usr/lib/libthread.so /usr/lib/librt.so /usr/lib/libCrun.so.1" So, in a nutshell, this is not a typical shared library. It is a library that allows you to test performance of your multi-thread program (usually running on >2 processors) with the standard malloc or from Hoard just by setting LD_PRELOAD. You generally will not do, gcc my_program -lhoard - Adam -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]