[Insight-developers] Re: Integrating WrapITK into ITK CVS

Gaetan Lehmann gaetan.lehmann at jouy.inra.fr
Wed Nov 8 05:26:37 EST 2006


On Thu, 02 Nov 2006 19:54:52 +0100, Bill Hoffman  
<bill.hoffman at kitware.com> wrote:

> Gaetan Lehmann wrote:
>>
>> Here is a new version able to read the .idx files.
>>
>> Do you know how to build all the generated c++ files in a single shared  
>> object, as is it currently done ?
>>
> Use cmake:
>
> ADD_LIBRARY(foo MODULE ${generated_source_files})
>

I'm trying to work on that when I can, and things are going better and  
better :-)

I still have some problems however:

(1) VXLNumericsPython and BasePython are building, but I still have an  
error when linking VXLNumericsPython, about undefined symbols all related  
to vnl_matrix_fixed_ref<double, ...>, and nothing about  
vnl_matrix_fixed_ref<float, ...> which is also wrapped (see below). Do you  
know how to avoid that ?

(2) BasePython builds without problem, but can't be loaded, because the  
function init_BasePython is not defined. I see that with cableswig it is  
generated in a wrap_BasePythonPython.cxx file. Is it a file I have to  
generate by hand, or can it be generated by swig ? I can't find anything  
about that in the swig manual :-/
BTW, why have you chosen to build a module which groups several modules,  
rather than building each module individually ? It produce smaller  
binaries ?

Thanks,

Gaetan


Linking CXX shared module ../../../../bin/_VXLNumericsPython.so
cd /Users/glehmann/src/Insight/build/Wrapping/WrapITK/Modules/VXLNumerics  
&& /usr/bin/cmake -P  
CMakeFiles/VXLNumericsPython.dir/cmake_clean_target.cmake
cd /Users/glehmann/src/Insight/build/Wrapping/WrapITK/Modules/VXLNumerics  
&& /usr/bin/cmake -E cmake_link_script  
CMakeFiles/VXLNumericsPython.dir/link.txt --verbose=1
/usr/bin/c++    -ftemplate-depth-50 -no-cpp-precomp -Wno-long-double   
-ftemplate-depth-50 -no-cpp-precomp -Wno-long-double -bundle  
-headerpad_max_install_names -Wl,-flat_namespace,-U,_environ  
-Wl,-flat_namespace,-U,_environ    -o  
../../../../bin/_VXLNumericsPython.so  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_matrixPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_vectorPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vcl_complexPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_c_vectorPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_diag_matrixPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_file_matrixPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_file_vectorPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_fortran_copyPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_matrix_fixedPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_matrix_fixed_refPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_matrix_refPython.o"  
"CMakeFiles/VXLNumericsPython.dir/__/__/ClassIndex/wrap_vnl_vector_refPython.o"  
-L. -L/Users/glehmann/src/Insight/build/bin -litkvnl -litkvnl_inst  
-lpython2.3 -litkvnl_algo -litkv3p_netlib -litkvnl -litkvcl -lm
/usr/bin/ld: Undefined symbols:
vnl_matrix_fixed_ref<double, 2u, 6u>::read_ascii(std::basic_istream<char,  
std::char_traits<char> >&) const
vnl_matrix_fixed_ref<double, 2u, 6u>::set_column(unsigned int, double  
const*) const
vnl_matrix_fixed_ref<double, 2u, 6u>::set_column(unsigned int,  
vnl_vector<double> const&) const
vnl_matrix_fixed_ref<double, 2u, 6u>::set_column(unsigned int, double)  
const
vnl_matrix_fixed_ref<double, 2u, 6u>::set_columns(unsigned int,  
vnl_matrix<double> const&) const
vnl_matrix_fixed_ref<double, 2u, 6u>::scale_column(unsigned int, double)  
const
vnl_matrix_fixed_ref<double, 2u, 6u>::set_identity() const
vnl_matrix_fixed_ref<double, 2u, 6u>::fill_diagonal(double) const
vnl_matrix_fixed_ref<double, 2u, 6u>::normalize_rows() const
vnl_matrix_fixed_ref<double, 2u, 6u>::inplace_transpose() const
vnl_matrix_fixed_ref<double, 2u, 6u>::normalize_columns() const
vnl_matrix_fixed_ref<double, 2u, 6u>::fill(double) const
vnl_matrix_fixed_ref<double, 2u, 6u>::fliplr() const
vnl_matrix_fixed_ref<double, 2u, 6u>::flipud() const
vnl_matrix_fixed_ref<double, 2u, 6u>::update(vnl_matrix<double> const&,  
unsigned int, unsigned int) const
vnl_matrix_fixed_ref<double, 2u, 6u>::copy_in(double const*) const
vnl_matrix_fixed_ref<double, 2u, 6u>::set_row(unsigned int, double const*)  
const
vnl_matrix_fixed_ref<double, 2u, 6u>::set_row(unsigned int,  
vnl_vector<double> const&) const
vnl_matrix_fixed_ref<double, 2u, 6u>::set_row(unsigned int, double) const
vnl_matrix_fixed_ref<double, 2u, 6u>::scale_row(unsigned int, double) const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::get_n_rows(unsigned int,  
unsigned int) const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::is_identity(double) const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::is_identity() const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::get_n_columns(unsigned int,  
unsigned int) const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::operator_inf_norm() const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::operator_one_norm() const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::conjugate_transpose() const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::assert_size_internal(unsigned  
int, unsigned int) const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::assert_finite_internal() const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::print(std::basic_ostream<char,  
std::char_traits<char> >&) const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::extract(unsigned int, unsigned  
int, unsigned int, unsigned int) const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::is_zero(double) const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::is_zero() const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::copy_out(double*) const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::has_nans() const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::is_finite() const
vnl_matrix_fixed_ref_const<double, 2u, 6u>::transpose() const
collect2: ld returned 1 exit status
make[3]: *** [bin/_VXLNumericsPython.so] Error 1
make[2]: ***  
[Wrapping/WrapITK/Modules/VXLNumerics/CMakeFiles/VXLNumericsPython.dir/all]  
Error 2
make[1]: ***  
[Wrapping/WrapITK/Modules/VXLNumerics/CMakeFiles/VXLNumericsPython.dir/rule]  
Error 2
make: *** [VXLNumericsPython] Error 2



-- 
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
http://voxel.jouy.inra.fr


More information about the Insight-developers mailing list