Menu

#53 Rendering artifacts on amd64

open-accepted
nobody
None
5
2005-09-05
2005-09-04
No

Rendering a simple rib (testrender.rib) on amd64
produces the image attached.

I tried to compile pixie with and without -m64 flags.

gcc version is

Reading specs from
/usr/lib/gcc-lib/x86_64-linux/3.3.5/specs
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang
--prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info--with-gxx-include-dir=/usr/include/c++/3.3
--enable-shared --enable-__cxa_atexit
--with-system-zlib --enable-nls
--without-included-gettext --enable-clocale=gnu
--enable-debug --enable-java-gc=boehm
--enable-java-awt=xlib
--enable-objc-gc--disable-multilib x86_64-linux
Thread model: posix
gcc version 3.3.5 (Debian 1:3.3.5-12)

on Debian Sid.

Pixie was installed on /hom/mario/apps/Pixie and ldd of
rndr is:
mario@ath64:~/tmp/BlenderPixie$ ldd
/home/mario/apps/Pixie/bin/rndr
libri.so.0 =>
/home/mario/apps/Pixie/lib/libri.so.0 (0x00002aaaaabc3000)
libtiff.so.4 => /usr/lib/libtiff.so.4
(0x00002aaaaaff8000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62
(0x00002aaaab14c000)
libz.so.1 => /usr/lib/libz.so.1
(0x00002aaaab26d000)
libpthread.so.0 => /lib/libpthread.so.0
(0x00002aaaab39c000)
libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab4b1000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5
(0x00002aaaab5b4000)
libm.so.6 => /lib/libm.so.6 (0x00002aaaab792000)
libgcc_s.so.1 => /lib/libgcc_s.so.1
(0x00002aaaab917000)
libc.so.6 => /lib/libc.so.6 (0x00002aaaaba24000)
/lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
mario@ath64:~/tmp/BlenderPixie$

If you need more information my email is yuza1981@tin.it

Discussion

  • Mario Latronico

    Mario Latronico - 2005-09-04

    Zip file with testrender.rib and relative render test.tga

     
  • George Harker

    George Harker - 2005-09-05
    • status: open --> open-accepted
     
  • George Harker

    George Harker - 2005-09-05

    Logged In: YES
    user_id=995400

    I'm not sure which compiler switches to use, but if you can, please try to
    disable 64bit support. Perhaps -m64 is implied by default, and you need
    -m32? A quick google suggests this may not work if your gcc is not a
    multilib build. Currently a 64 bit compile is unlikely to work for various
    reasons. We are working on this though.

    Do the precompiled linux binaries work ok?

    George

     
  • Mario Latronico

    Mario Latronico - 2005-09-05

    Logged In: YES
    user_id=1236430

    Precompiled binaries work ok !!

    Trying -m32 flags gives:
    mario@ath64:~/tmp/Pixie$ make "CFLAGS=-m32 -O0"
    "CXXFLAGS=-m32 -O0"
    make all-recursive
    make[1]: Entering directory `/home/mario/tmp/Pixie'
    ...
    ...
    *** Warning: Linking the shared library file.la against the
    *** static library ../common/libcommon.a is not portable!
    g++ -shared -nostdlib
    /usr/lib/gcc-lib/x86_64-linux/3.3.5/../../../../lib64/crti.o
    /usr/lib/gcc-lib/x86_64-linux/3.3.5/crtbeginS.o
    .libs/file.o -Wl,--rpath -Wl,/usr/lib -Wl,--rpath
    -Wl,/usr/lib -L/usr/lib ../common/libcommon.a
    /usr/lib/libtiff.so -lpthread -ldl
    -L/usr/lib/gcc-lib/x86_64-linux/3.3.5
    -L/usr/lib/gcc-lib/x86_64-linux/3.3.5/../../../../lib64
    -L/usr/lib/gcc-lib/x86_64-linux/3.3.5/../../..
    -L/lib/../lib64 -L/usr/lib/../lib64 -lstdc++ -lm -lc -lgcc_s
    /usr/lib/gcc-lib/x86_64-linux/3.3.5/crtendS.o
    /usr/lib/gcc-lib/x86_64-linux/3.3.5/../../../../lib64/crtn.o
    -m32 -Wl,-soname -Wl,file.so.0 -o .libs/file.so.0.0.0
    /usr/lib/libtiff.so: could not read symbols: Invalid operation
    collect2: ld returned 1 exit status
    make[3]: *** [file.la] Error 1
    make[3]: Leaving directory `/home/mario/tmp/Pixie/src/file'
    ....

    probably becaus /usr/lib/libtiff.so is a 64bit lib

     
  • George Harker

    George Harker - 2005-09-05

    Logged In: YES
    user_id=995400

    the warning is nothing to worry about. It says that for quite a few
    platforms. Linking a .a into a .so isn't possible on all platforms, though
    it works on linux and works on OSX (and BSD AFAIK). The linux
    compiles I've done and the OSX releases all show that warning.

    Like you said, libtiff is probably installed as 64bit. I wonder whether
    debian supports fat binaries with 32 and 64bit in, or whether you can
    install a 32bit libtiff alongside.

    Cheers

    George

     

Log in to post a comment.