[Insight-users] Problem compiling itk1.6 on MacOSX

Florence Meusburger florencem at maunakeatech.com
Thu, 26 Feb 2004 11:46:05 +0100


Thanks. I downloaded the cvs version and it works.
Before doing that, I tried to modify line 16 of
Utilities/vxl/v3p/netlib/rpoly.c of the release 1.6.
It doesn't work, I get a new error :

...
Building object file vnl_matrix_fixed+double.3.12-.o...
Building object file vnl_vector+unsigned_char-.o...
Building shared library=20
/Users/florencem/src/InsightToolkit-1.6.0/Insight-b
inary/bin/libitkvnl_inst.dylib...
ld: Undefined symbols:
vnl_math_isnan(double)
vnl_math_isfinite(double)
void vnl_c_vector_inf_norm<double, double>(double const*, unsigned,=20
double*
)
void vnl_c_vector_one_norm<double, double>(double const*, unsigned,=20
double*
)
void vnl_c_vector_rms_norm<double, double>(double const*, unsigned,=20
double*
)
/usr/bin/libtool: internal link edit command failedvoid=20
vnl_c_vector_two_no
rm<double, double>(double const*, unsigned, double*)

vnl_error_matrix_col_index(char const*, int)
vnl_error_matrix_dimension(char const*, int, int, int, int)
vnl_error_matrix_nonsquare(char const*)
vnl_error_matrix_row_index(char const*, int)
vnl_matrix<double>::vnl_matrix[in-charge](double const*, unsigned,=20
unsigned
)
vnl_matrix<double>::vnl_matrix[in-charge](unsigned, unsigned)
vnl_matrix<double>::~vnl_matrix [in-charge]()
vnl_matrix<double>::~vnl_matrix [not-in-charge]()
vnl_vector<double>::vnl_vector[in-charge](unsigned)
vnl_vector<double>::~vnl_vector [in-charge]()
vnl_c_vector<double>::allocate_Tptr(int)
vnl_c_vector<double>::sum(double const*, unsigned)
vnl_c_vector<double>::apply(double const*, unsigned, double (*)(double=20=

cons
t&), double*)
vnl_c_vector<double>::apply(double const*, unsigned, double=20
(*)(double), do
uble*)
vnl_c_vector<double>::conjugate(double const*, double*, unsigned)
vnl_c_vector<double>::max_value(double const*, unsigned)
vnl_c_vector<double>::min_value(double const*, unsigned)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)3>::add(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)3>::add(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)3>::div(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)3>::div(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)3>::mul(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)3>::mul(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)3>::sub(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)3>::sub(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)3>::sub(double, double=20=

cons
t*, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)3>::equal(double=20
const*, do
uble const*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)4>::add(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)4>::add(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)4>::div(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)4>::div(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)4>::mul(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)4>::mul(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)4>::sub(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)4>::sub(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)4>::sub(double, double=20=

cons
t*, double*)
vnl_matrix_fixed<double, (unsigned)4, (unsigned)4>::equal(double=20
const*, do
uble const*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)3>::add(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)3>::add(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)3>::div(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)3>::div(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)3>::mul(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)3>::mul(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)3>::sub(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)3>::sub(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)3>::sub(double, double=20=

cons
t*, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)3>::equal(double=20
const*, do
uble const*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)2>::add(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)2>::add(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)2>::div(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)2>::div(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)2>::mul(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)2>::mul(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)2>::sub(double const*,=20=

doub
le const*, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)2>::sub(double const*,=20=

doub
le, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)2>::sub(double, double=20=

cons
t*, double*)
vnl_matrix_fixed<double, (unsigned)2, (unsigned)2>::equal(double=20
const*, do
uble const*)
void vnl_c_vector_inf_norm<unsigned char, unsigned char>(unsigned char=20=

cons
t*, unsigned, unsigned char*)
void vnl_c_vector_one_norm<unsigned char, unsigned char>(unsigned char=20=

cons
t*, unsigned, unsigned char*)
void vnl_c_vector_rms_norm<unsigned char, unsigned char>(unsigned char=20=

cons
t*, unsigned, unsigned char*)
void vnl_c_vector_two_norm<unsigned char, unsigned char>(unsigned char=20=

cons
t*, unsigned, unsigned char*)
vnl_error_vector_dimension(char const*, int, int)
void vnl_c_vector_two_norm_squared<unsigned char, unsigned=20
char>(unsigned c
har const*, unsigned, unsigned char*)
vnl_c_vector<unsigned char>::allocate_T(int)
vnl_c_vector<unsigned char>::deallocate(unsigned char*, int)
vnl_c_vector<unsigned char>::sum(unsigned char const*, unsigned)
vnl_c_vector<unsigned char>::apply(unsigned char const*, unsigned,=20
unsigned
  char (*)(unsigned char const&), unsigned char*)
vnl_c_vector<unsigned char>::apply(unsigned char const*, unsigned,=20
unsigned
  char (*)(unsigned char), unsigned char*)
vnl_c_vector<unsigned char>::max_value(unsigned char const*, unsigned)
vnl_c_vector<unsigned char>::min_value(unsigned char const*, unsigned)
vnl_c_vector<unsigned char>::normalize(unsigned char*, unsigned)
make[6]: ***=20
[/Users/florencem/src/InsightToolkit-1.6.0/Insight-binary/bin/
libitkvnl_inst.dylib] Error 1
make[5]: ***=20
[/Users/florencem/src/InsightToolkit-1.6.0/Insight-binary/bin/
libITKCommon.dylib] Error 2
make[4]: *** [default_target] Error 2
make[3]: *** [default_target_Numerics] Error 2
make[2]: *** [default_target] Error 2
make[1]: *** [default_target_Code] Error 2
make: *** [default_target] Error 2


florence

On mercredi, f=E9v 25, 2004, at 22:01 Europe/Paris, Brad King wrote:

> Florence Meusburger wrote:
>> Hi,
>> Has anyone managed to compile itk1.6 with shared libs?
>> I tried to do it. I get the following message :
>> ld: common symbols not allowed with MH_DYLIB output format with the
>> -multi_module option
>> rpoly.o definition of common _global_ (size 4232)
>> /usr/bin/libtool: internal link edit command failed
>> I'm using gcc 3.3 and cmake1.8 on MacOSX 10.2.8.
>
> This has already been fixed in the CVS and 1.6 release branch versions=20=

> of ITK.  The fix will be included in 1.6.1.  You can fix your source=20=

> tree now by editing the file
>
>   Utilities/vxl/v3p/netlib/rpoly.c
>
> and changing line 16 from
>
> struct {
>
> to
>
> static struct {
>
> -Brad
>
>
--=20
Florence Meusburger
Mauna Kea Technologies - http://www.maunakeatech.com/
9, rue d'Enghien -  F-75010 Paris.   Tel/Fax: +33 1 48 24 03 45 / 12 18