#174 Unable to build 7.12.4 on debian sid

closed-fixed
Sean Morrison
1
2008-08-11
2008-08-10
No

Hello,

I'm trying to make a brlcad debian package, but I have this error on build:

gcc -shared .libs/camera.o .libs/component.o .libs/cut.o .libs/depth.o .libs/flat.o .libs/flos.o .libs/grid.o .libs/hit.o .libs/normal.o .libs/path.o .libs/phong.o .libs/render_util.o .libs/spall.o .libs/surfel.o -Wl,--rpath -Wl,/tmp/buildd/brlcad-7.12.4/src/libbu/.libs -L/usr/local/lib -lm ../../../src/libbu/.libs/libbu.so -Wl,-z -Wl,defs -Wl,-lstdc++ -Wl,-lm -Wl,-lXi -Wl,-ldl -Wl,-litcl3.2 -Wl,-lBLT -Wl,-lpthread -Wl,-soname -Wl,librender.so.0 -o .libs/librender.so.0.0.0
.libs/component.o: In function `render_component_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/component.c:59: undefined reference to `tie_work0'
.libs/cut.o: In function `render_cut_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/cut.c:151: undefined reference to `tie_work0'
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/cut.c:191: undefined reference to `tie_work0'
.libs/cut.o: In function `render_cut_free':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/cut.c:121: undefined reference to `tie_free0'
.libs/cut.o: In function `render_cut_init':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/cut.c:68: undefined reference to `tie_init0'
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/cut.c:112: undefined reference to `tie_push0'
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/cut.c:113: undefined reference to `tie_prep0'
.libs/depth.o: In function `render_depth_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/depth.c:45: undefined reference to `tie_work0'
.libs/flat.o: In function `render_flat_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/flat.c:44: undefined reference to `tie_work0'
.libs/flos.o: In function `render_flos_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/flos.c:68: undefined reference to `tie_work0'
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/flos.c:83: undefined reference to `tie_work0'
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/flos.c:84: undefined reference to `TIE_PREC0'
.libs/grid.o: In function `render_grid_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/grid.c:47: undefined reference to `tie_work0'
.libs/normal.o: In function `render_normal_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/normal.c:49: undefined reference to `tie_work0'
.libs/path.o: In function `render_path_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/path.c:82: undefined reference to `tie_work0'
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/path.c:110: undefined reference to `TIE_PREC0'
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/path.c:130: undefined reference to `math_rand'
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/path.c:134: undefined reference to `math_rand'
.libs/phong.o: In function `render_phong_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/phong.c:46: undefined reference to `tie_work0'
.libs/render_util.o: In function `render_util_shotline_list':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/render_util.c:137: undefined reference to `tie_work0'
.libs/spall.o: In function `render_spall_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/spall.c:149: undefined reference to `tie_work0'
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/spall.c:189: undefined reference to `tie_work0'
.libs/spall.o: In function `render_spall_init':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/spall.c:70: undefined reference to `tie_init0'
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/spall.c:112: undefined reference to `tie_prep0'
.libs/surfel.o: In function `render_surfel_work':
/tmp/buildd/brlcad-7.12.4/src/adrt/librender/surfel.c:94: undefined reference to `tie_work0'
collect2: ld returned 1 exit status

This is my configure:

./configure --build i486-linux-gnu --prefix=/usr --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info CFLAGS="-g -O2" CXXFLAGS="-g -O2" LDFLAGS="-Wl,-z,defs,-lstdc++,-lm,-lXi,-ldl,-litcl3.2,-lBLT,-lpthread" --disable-itcl-build --disable-tcl-build --disable-tk-build --disable-blt-build --disable-regex-build --disable-png-build --disable-zlib-build --disable-termlib-build --disable-aquatk-build --disable-iwidgets-install --disable--blt-build --disable-tkimg-build --disable-tnt-install --disable-jove-build --disable--ef-build --disable-unigraphics-build --enable-optimized --enable-verbose --enable-warnings --enable-progress --with-tcl=/usr/share/tcltk/tcl8.4/ --with-jdk=/usr/lib/jvm/java-6-openjdk/include --with-tk=/usr/share/tcltk/tk8.4/ --with-cflags="-I/usr/include/tcl8.4 -I/usr/include/jama -I/usr/lib/jvm/java-6-openjdk/include" --with-cppflags="-I/usr/include/tcl8.4 -I/usr/include/jama -I/usr/lib/jvm/java-6-openjdk/include"

Full log can be found here:
http://sd6.iuculano.it/brlcad.log

Discussion

1 2 > >> (Page 1 of 2)
    • labels: --> Compilation
     
  • Sean Morrison
    Sean Morrison
    2008-08-11

    Logged In: YES
    user_id=785737
    Originator: NO

    Giuseppe,

    Thanks for the report! .. a few comments in following, but summary is that I did make a change to src/adrt/librender that should fix the compilation problem you ran into. That said...

    if you're working on an updated .deb for Debian, I have several suggestions/comments relavent to your build. Namely:
    1) for a package-management system, you want --disable-all instead of all the --disable-*-build options you're using;
    2) there is no reason for you to use --enable-warnings or --enable-progress (those are dev-team options);
    3) you don't need or want java as a dependency, let it autodetect or force it off using --without-java (unnecessary but explicit);
    4) there is a BIG ALERT warning about installing with --prefix=/usr .. there are lots of implications that might leave a system in a really bad state (don't know about debian);
    5) if you --disable-all, you might need to --enable-opennurbs then (highly doubt its in apt), same for URT
    6) you should use --without-opengl for now as well (buggy nvidia drivers will crash X hard on some configurations);
    7) the change was to explicitly list the dependencies for librender in src/adrt/librender (which Debian annoyingly tries to force (via libtool setting) even though it should not) .. or you can manually remove the 'adrt \' line from src/Makefile.am

    Cheers!
    Sean

    p.s. Please feel free to follow up with comments/questions if you have them.

     
  • Sean Morrison
    Sean Morrison
    2008-08-11

    • assigned_to: nobody --> brlcad
    • priority: 5 --> 1
    • milestone: --> other bug / workaround
    • status: open --> closed-fixed
     
    • status: closed-fixed --> open-accepted
     
  • Logged In: YES
    user_id=1397687
    Originator: YES

    Hi Sean,

    Unfortunately this fix doesn't work for me, I have another build error:

    gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I/usr/include/tcl8.4 -I/usr/include/jama -I/usr/lib/jvm/java-6-openjdk/include -I/usr/local/include -DBRLCADBUILD=1 -I../../../include -I../../../src/other/openNURBS -I../../../src/adrt -I../../../src/adrt/libtie -I../../../src/adrt/libtienet -I../../../src/adrt/libcommon -I../../../src/adrt/libtexture -I../../../src/adrt/libutil -g -O2 -I/usr/include/tcl8.4 -I/usr/include/jama -I/usr/lib/jvm/java-6-openjdk/include -pipe -fno-strict-aliasing -fno-common -fexceptions -g -O3 -W -Wall -Wundef -Wfloat-equal -Wshadow -Wunreachable-code -Winline -Wconversion -c surfel.c -fPIC -DPIC -o .libs/surfel.o
    surfel.c: In function 'render_surfel_work':
    surfel.c:106: warning: conversion to 'float' alters 'double' constant value
    surfel.c:106: warning: conversion to 'float' alters 'double' constant value
    surfel.c:106: warning: conversion to 'float' alters 'double' constant value
    gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I/usr/include/tcl8.4 -I/usr/include/jama -I/usr/lib/jvm/java-6-openjdk/include -I/usr/local/include -DBRLCADBUILD=1 -I../../../include -I../../../src/other/openNURBS -I../../../src/adrt -I../../../src/adrt/libtie -I../../../src/adrt/libtienet -I../../../src/adrt/libcommon -I../../../src/adrt/libtexture -I../../../src/adrt/libutil -g -O2 -I/usr/include/tcl8.4 -I/usr/include/jama -I/usr/lib/jvm/java-6-openjdk/include -pipe -fno-strict-aliasing -fno-common -fexceptions -g -O3 -W -Wall -Wundef -Wfloat-equal -Wshadow -Wunreachable-code -Winline -Wconversion -c surfel.c -o surfel.o >/dev/null 2>&1
    /bin/sh ../../../libtool --tag=CC --mode=link gcc -I../../../src/adrt -I../../../src/adrt/libtie -I../../../src/adrt/libtienet -I../../../src/adrt/libcommon -I../../../src/adrt/libtexture -I../../../src/adrt/libutil -g -O2 -I/usr/include/tcl8.4 -I/usr/include/jama -I/usr/lib/jvm/java-6-openjdk/include -pipe -fno-strict-aliasing -fno-common -fexceptions -g -O3 -W -Wall -Wundef -Wfloat-equal -Wshadow -Wunreachable-code -Winline -Wconversion -Wl,-z,defs,-lstdc++,-lm,-lXi,-ldl,-litcl3.2,-lBLT,-lpthread -L/usr/local/lib -pipe -fno-strict-aliasing -fno-common -fexceptions -g -O3 -W -Wall -Wundef -Wfloat-equal -Wshadow -Wunreachable-code -Winline -Wconversion -o librender.la -rpath /usr/lib camera.lo component.lo cut.lo depth.lo flat.lo flos.lo grid.lo hit.lo normal.lo path.lo phong.lo render_util.lo spall.lo surfel.lo ../../../src/adrt/libtienet/libtienet.la ../../../src/adrt/libtie/libtie.la ../../../src/adrt/libutil/libtieutil.la ../../../src/libbn/libbn.la ../../../src/libbu/libbu.la -lm
    libtool: link: cannot find the library `../../../src/adrt/libtienet/libtienet.la' or unhandled argument `../../../src/adrt/libtienet/libtienet.la'
    make[4]: *** [librender.la] Error 1
    make[4]: Leaving directory `/tmp/buildd/brlcad-7.12.4/src/adrt/librender'
    make[3]: *** [all-recursive] Error 1
    make[3]: Leaving directory `/tmp/buildd/brlcad-7.12.4/src/adrt'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/tmp/buildd/brlcad-7.12.4/src'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/tmp/buildd/brlcad-7.12.4'
    make: *** [build-stamp] Error 2

    Giuseppe.

     
  • Logged In: YES
    user_id=1397687
    Originator: YES

    It seems that shifting librender from SUBDIRS fix this issue:

    --- brlcad-7.12.4~/src/adrt/Makefile.am 2008-04-23 09:15:45.000000000 +0200
    +++ brlcad-7.12.4/src/adrt/Makefile.am 2008-08-11 19:02:05.000000000 +0200
    @@ -5,11 +5,11 @@
    doc \ isst \ libcommon \ - librender \ libtexture \ libtie \ libtienet \ libutil \ + librender \ master \ misc \ rise \

     
  • Sean Morrison
    Sean Morrison
    2008-08-11

    Logged In: YES
    user_id=785737
    Originator: NO

    Ah yes, overlooked that implicit ordering dependency. I had a build in place so it didn't catch that. Are you having any other issues with the build now? Are there any other questions?

     
  • Sean Morrison
    Sean Morrison
    2008-08-11

    • status: open-accepted --> closed-fixed
     
    • status: closed-fixed --> open-accepted
     
  • Logged In: YES
    user_id=1397687
    Originator: YES

    No, thanks for your support :)

     
1 2 > >> (Page 1 of 2)