[rrd-users] Compiling RRDTool 1.6.0 and RRDs.pm for Windows
colin at digitalphoenix.co.zw
Mon Jun 13 08:51:42 CEST 2016
I'm trying to compile RRDTool 1.6.0 and RRDs.pm for Windows against
currently available community editions of 32 bit ActiveState Perl such as
5.20 and 5.22. Being a novice at this I had a slow start while installing
the necessary SDK and Visual Studio. I believe I am on the correct path but
I'm finding more challenges than answers right now. I wonder if anyone who
has succeeded at this or knows perl more intimately can shed any light on
what I am doing wrong:
Following the instructions in /win32 when I get to step 5 I execute "nmake
-f win32\Makefile.msc" but receive the error "don't know how to make
'./win32/librrd-4.def'". I haven't even an inkling where to start
Assuming that the RRDs.pm is created by making the files in
bindings/perl-shared/ I've attempted this as well. Starting with changes to
the paths in makefile.pl I then execute
perl Makefile.PL MAKE=nmake
This generates some "mostly harmless" warnings such for 21 libraries such as
Warning (mostly harmless): No library found for -lmoldname
Warning (mostly harmless): No library found for -lkernel32
Warning (mostly harmless): No library found for -luser32
Warning (mostly harmless): No library found for -lgdi32
Since I can find nothing helpful to me about where I can get these libraries
I'm assuming the "mostly harmless" message is true and try to nmake.
(Incidentally, the README in the perl-shared folder has the 4th prerequisite
as "- Make the project rrdlib.vcproj in Release mode to create rrdlib.lib"
but I cannot find this vcproj file nor do I think this would affect the next
This leads to the following error:
-c -I../../src -I../../win32 "-Ierl_core_dir" -I"c_dir/include"
-I"dk_dir/Include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS
-DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO
-fwrapv -fno-strict-aliasing -mms-bitfields -O2 -MD -DVERSION=\"1.5001\"
-DXS_VERSION=\"1.5001\" "-IC:\Perl\lib\CORE" -DPERLPATCHLEVEL=20
-D_CRT_SECURE_NO_WARNINGS -DWIN32 RRDs.c
'-c' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: '-c' : return code '0x1'
There is no command preceding the switches! Checking the makefile it seems
the command is supposed to be in the CC constant which is null:
# --- MakeMaker const_config section:
# These definitions are from config.sh (via C:/Perl/lib/Config.pm).
# They may have been overridden via Makefile.PL or on the command line.
AR = lib
If I manually edit the makefile and indicate cc = perl.exe then I receive
messages about invalid switches, for example -O2 is not a valid perl command
line switch, nor -fwrapv or any of those beginning with -D.
Clearly, something is going horribly wrong or I've completely misunderstood
what I am supposed to do.
Looking forward to your input.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rrd-users