I’m trying to write a derivation for gpetview, which uses autoconf
for installation.
I get the error
/nix/store/0q9hm42fapihzj1d64nxqmbml7fpb2d6-binutils-2.38/bin/ld: mk_seq.o: undefined reference to symbol 'pow@@GLIBC_2.29'
in response to this `gcc` invocation
gcc -g -O2 -o gpetview main.o support.o interface.o callbacks.o draw_colorbar.o get_imgno.o hist_proc.o pick_p.o roi_draw.o save_file.o utils.o checkarg.o draw_image.o getparams.o img_lib.o pipe.o roi_mask.o save_roi.o view.o colormaps.o exchanges.o hdr_info.o import_img.o mk_anahdr.o readplane.o roi_proc.o sc_format.o copy_roi.o find_edge_loop.o hdr_save.o init_gpetview.o mk_seq.o roi_calc.o roi_profile.o -L/nix/store/05gqnvlirfffgdgl0fcxsjs7jv3l4nq5-gtk+-2.24.33/lib -L/nix/store/rl2xjjg5i12f4538qkvcgrq1w8a0klfz-glib-2.72.3/lib -L/nix/store/d01kn7w14kvqpw9vaa80b6gzj0rc60c9-cairo-1.16.0/lib -L/nix/store/zl0m5r1c6b8jd1ys43radywanlg24s6j-fontconfig-2.13.94-lib/lib -L/nix/store/6f5ks64qyhbl26i38g1nxlck1fqji2qi-freetype-2.12.0/lib -L/nix/store/cw6rpj2nzvf63lqw9mffvqrqv0hxl8y4-pango-1.50.7/lib -L/nix/store/wyvf3hvhcc6984jacr9r5yd9xiv7czky-harfbuzz-3.3.2/lib -L/nix/store/0xj21lbnq7bv1mlnvjizc4wihbs4g0v3-gdk-pixbuf-2.42.8/lib -L/nix/store/3syp0dxqzs98zymbm3lb5asrrk9az84x-atk-2.38.0/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lfontconfig -lfreetype
Would this be caused by a missing -lm
option to gcc
?
If so, what is the recommended way of adding this in a Nix derivation?
For completeness, here’s a derivation that gets me this far:
{ stdenv ,
lib,
pkgs,
fetchurl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gpetview";
version = "3.5";
src = fetchurl {
url = "http://www.rim.cyric.tohoku.ac.jp/software/gpetview/gpetview-${finalAttrs.version}.tar.gz";
sha256 = "sha256-UlsCivIZuBesqb5QZTkYFvYXXo5cIcoFTlpbwvLP8RU=";
};
buildInputs = with pkgs; [
pkg-config
gtk2
];
})