[rrd-developers] Compiling rrdtool from SVN on OSX gives malformed version number

Martin Sperl rrdtool at martin.sperl.org
Mon Feb 20 11:06:31 CET 2012


Hi!

Compiling rrdtool from SVN gives the error: "ld: malformed version number: 7.999"

libtool: link: gcc -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/librrd.4.dylib  .libs/rrd_create.o .libs/hash_32.o .libs/rrd_version.o .libs/rrd_last.o .libs/rrd_lastupdate.o .libs/rrd_first.o .libs/rrd_restore.o .libs/rrd_dump.o .libs/rrd_flushcached.o .libs/rrd_fetch.o .libs/rrd_resize.o .libs/rrd_tune.o .libs/rrd_graph.o .libs/rrd_graph_helper.o .libs/rrd_xport.o .libs/rrd_gfx.o .libs/pngsize.o   -Wl,-force_load,./.libs/librrdupd.a  -L/opt/local/lib /opt/local/lib/libxml2.dylib -lpthread -lwrap /opt/local/lib/libpangocairo-1.0.dylib /opt/local/lib/libcairo.dylib /opt/local/lib/libpixman-1.dylib /opt/local/lib/libpng14.dylib /opt/local/lib/libxcb-shm.dylib /opt/local/lib/libX11-xcb.dylib /opt/local/lib/libxcb-render.dylib /opt/local/lib/libXrender.dylib /opt/local/lib/libX11.dylib /opt/local/lib/libxcb.dylib /opt/local/lib/libXau.dylib /opt/local/lib/libXdmcp.dylib /opt/local/lib/libpangoft2-1.0.dylib /opt/local/lib/libpango-1.0.dylib -lm /opt/local/lib/libfontconfig.dylib /opt/local/lib/libfreetype.dylib -lz -lbz2 /opt/local/lib/libexpat.dylib /opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libffi.dylib /opt/local/lib/libgmodule-2.0.dylib /opt/local/lib/libgthread-2.0.dylib /opt/local/lib/libglib-2.0.dylib -lresolv /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib -lc    -framework Carbon -install_name  /opt/rrdtool-1.4.999/lib/librrd.4.dylib -compatibility_version 7 -current_version 7.999 -Wl,-single_module -Wl,-exported_symbols_list,.libs/librrd-symbols.expsym
ld: malformed version number: 7.999
collect2: ld returned 1 exit status
make[2]: *** [librrd.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Is there any means to work arround this?
I have tried the command by "hand" and when I change "-current_version 7.999" to "-current_version 7.99" (or any other revision below 256), then it works...

Unfortunately I have not figured out where the "7.999" gets really calculated, so that I can patch it at its root...

Only thing that I found is that patching libtool like this:
--- libtool.orig        2012-02-20 11:03:04.000000000 +0100
+++ libtool     2012-02-20 11:01:40.000000000 +0100
@@ -7050,6 +7050,7 @@
          func_fatal_error "\`$vinfo' is not valid version information"
          ;;
        esac
+        test "$revision" -gt 255 && revision=255
 
        case $age in
        0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;

it now works, but this is an ugly hack...

Ciao,
	Martin


More information about the rrd-developers mailing list