Skip to content

libgstlalcalibration needs GSL but doesn't link against it

The new lib/gstlalcalibration.c module needs symbols from GSL, but doesn't link against them, so 1.5.0 builds with clang are failing:

/bin/sh ../libtool  --tag=CC   --mode=link x86_64-apple-darwin13.4.0-clang -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -pthread -I$PREFIX/include -pthread -I$PREFIX/include -I$PREFIX/include/gstreamer-1.0 -I$PREFIX/include -I$PREFIX/include/gstreamer-1.0 -I$PREFIX/include -I$PREFIX/include/glib-2.0 -I$PREFIX/lib/glib-2.0/include -I$PREFIX/include -I$PREFIX/include/gstreamer-1.0 -I$PREFIX/include -I$PREFIX/include/glib-2.0 -I$PREFIX/lib/glib-2.0/include -I$PREFIX/include -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/gstlal-calibration-1.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -version-info 0:0:0 -no-undefined -L$PREFIX/lib -llal -llalsupport -L$PREFIX/lib -lgstlal -lgstlaltags -lgstlaltypes -L$PREFIX/lib -lgstbase-1.0 -lgstcontroller-1.0 -lgstreamer-1.0 -Wl,-rpath,$PREFIX/lib -lgobject-2.0 -lglib-2.0 -lintl -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o libgstlalcalibration.la -rpath $PREFIX/lib libgstlalcalibration_la-gstlal_firtools.lo libgstlalcalibration_la-gstlalcalibration.lo  -lm 
libtool: link: x86_64-apple-darwin13.4.0-clang -dynamiclib  -o .libs/libgstlalcalibration.0.dylib  .libs/libgstlalcalibration_la-gstlal_firtools.o .libs/libgstlalcalibration_la-gstlalcalibration.o   -L$PREFIX/lib -llal -llalsupport -lgstlal -lgstlaltags -lgstlaltypes -lgstbase-1.0 -lgstcontroller-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -lintl -lm  -pthread -pthread -march=core2 -mtune=haswell -mssse3 -fstack-protector-strong -O2 -Wl,-rpath -Wl,$PREFIX/lib -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath -Wl,$PREFIX/lib   -pthread -install_name  $PREFIX/lib/libgstlalcalibration.0.dylib -compatibility_version 1 -current_version 1.0 -Wl,-single_module
ld: warning: -pie being ignored. It is only used when linking a main executable
Undefined symbols for architecture x86_64:
  "_gsl_matrix_alloc", referenced from:
      _gstlal_gsl_matrix_from_gst_value_array in libgstlalcalibration_la-gstlalcalibration.o
  "_gsl_matrix_const_ptr", referenced from:
      _gstlal_gst_value_array_from_gsl_matrix in libgstlalcalibration_la-gstlalcalibration.o
  "_gsl_matrix_free", referenced from:
      _gstlal_gsl_matrix_from_gst_value_array in libgstlalcalibration_la-gstlalcalibration.o
  "_gsl_matrix_ptr", referenced from:
      _gstlal_gsl_matrix_from_gst_value_array in libgstlalcalibration_la-gstlalcalibration.o
ld: symbol(s) not found for architecture x86_64

Some reference to GSL needs to be added to lib/Makefile.am.