Package: assimp
Version: 3.0~dfsg-3
Severity: important

Dear Maintainer,

* What exactly did you do (or not do) that was effective (or ineffective)?

The debian version of the package shipped in sid or jessie has some symbols
dropped.

* What was the outcome of this action?

A simple program cannot be linked with the library.

* What outcome did you expect instead?

A linkeable lib.

I have attached a simple file to show the result. It could be compiled
using:

g++ assimp.cpp -o assimp-ex `pkg-config --libs assimp`

if you do it with the debian version, you obtain an error:

/tmp/ccnjCEiB.o: In function `main':
assimp.cpp:(.text+0x1c): undefined reference to `aiMaterial::aiMaterial()'
/tmp/ccnjCEiB.o: In function `aiReturn aiMaterial::AddProperty<float>(float
/const*, unsigned int, char const*, unsigned int, unsigned int)':
assimp.cpp:(.text._ZN10aiMaterial11AddPropertyIfEE8aiReturnPKT_jPKcjj[_ZN10aiMaterial11AddPropertyIfEE8aiReturnPKT_jPKcjj]+0x4d):
/undefined reference to `aiMaterial::AddBinaryProperty(void const*, unsigned
/int, char const*, unsigned int, unsigned int, aiPropertyTypeInfo)'
/tmp/ccnjCEiB.o: In function `aiReturn
/aiMaterial::AddProperty<aiColor3D>(aiColor3D const*, unsigned int, char
/const*, unsigned int, unsigned int)':
assimp.cpp:(.text._ZN10aiMaterial11AddPropertyI9aiColor3DEE8aiReturnPKT_jPKcjj[_ZN10aiMaterial11AddPropertyI9aiColor3DEE8aiReturnPKT_jPKcjj]+0x4d):
/undefined reference to `aiMaterial::AddBinaryProperty(void const*, unsigned
/int, char const*, unsigned int, unsigned int, aiPropertyTypeInfo)'
/tmp/ccnjCEiB.o: In function `aiReturn aiMaterial::AddProperty<char>(char
/const*, unsigned int, char const*, unsigned int, unsigned int)':
assimp.cpp:(.text._ZN10aiMaterial11AddPropertyIcEE8aiReturnPKT_jPKcjj[_ZN10aiMaterial11AddPropertyIcEE8aiReturnPKT_jPKcjj]+0x4d):
/undefined reference to `aiMaterial::AddBinaryProperty(void const*, unsigned
/int, char const*, unsigned int, unsigned int, aiPropertyTypeInfo)'
collect2: error: ld returned 1 exit status


However, if you download the upstream version [1], compile it (using the
same cmake options as the debian stuff) and install it in /usr/local, you
can obtain an unuseful linked program.

I guess that the file libassimp3.ver doesn't contain all the needed stuff,
for instante aiMaterial and then it's not exported. But, I'm not sure.

Please, could you look it? to me this package is unusable because I cannot
link my soft against it.


[1]
http://sourceforge.net/projects/assimp/files/assimp-3.0/assimp--3.0.1270-full.zip

-- System Information:
Debian Release: 8.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=ca_ES.UTF-8, LC_CTYPE=ca_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
#include <assimp/scene.h>

int main(void) {
    aiMaterial *aiMat = new aiMaterial;

    aiColor3D color;
    float value;

    //Add name
    aiMat->AddProperty("material",1,AI_MATKEY_NAME);

    //Add diffuse color
    color = aiColor3D(0.1,0.2,0.3);
    aiMat->AddProperty(&color,1,AI_MATKEY_COLOR_DIFFUSE);

    //Add transparency
    value = 0.1;
    aiMat->AddProperty(&value,1,AI_MATKEY_OPACITY);

    return 0;
}

Reply via email to