Attached is a first draft of build instructions with MSYS2/Mingw-w64. It applies to current CVS head (5.1), but for 5.0.3 only a few more changes to the Makefile are required.
Compilation of qtconversion.cpp
might fail due to isnan()
. If that is the case simply add an #include <cmath>
and change the call to std::isnan()
. A fix for this should be in the next release.
Bugs: #1740
Discussion: Building problems - HTML help SDK 1.4 and _WIN32_WINT conflicts with WINVER
Feature Requests: #444
Feature Requests: #517
Support Requests: #256
Great! The instruction is helpful for those who would like try to build gnuplot for windows.
I wrote latest information on the bottom of this thread.
Last edit: Tatsuro MATSUOKA 2023-07-25
However, on my build system Msys2+MinGW w64 gcc-5.3.0 on Original, std::isnan() gives error
and isnan() passes. However, on gcc-4.9.2 std::isnan(*image)) passed.
I have build gnuplot for windows according to your instruction.
(development source 5.1.0 2016-03-17)
All dependecies can be get from one repository.
That is GREAT!.
One point:
I have met the following screen (attachment file) using wxt terminal.
For my binaries distributed, I attached dirty patch to suppress the
Wxwedgets Debug Alert in source level.
However, this is hopefully avoided.
Do you have any good idea to avoid this?
I'm seeing this same problem and gave up on trying to build with wxWidgets. These build instructions are great for testing out the development version on windows, but I will stick to using the officially released binaries for anything important.
Still, I would love to see a solution to this.
Quick hack
in src/wxterminal/wxt_gui.cpp to
solves the problem
I will considrer proper #if description
The reason why I compile this in only for a "release" build was that I assume that that warning is there for a reason. So maybe we really need a proper fix.
Thanks for the reply. It seems that simple change of #if description is not a sufficient. It will be better you consider the fix.
Sorry for bumping an old thread. I followed the guidelines, but this step:
pacman -S mingw64/mingw-w64-x86_64-gd
...does not work for me. It fails with an error "target not found" and also, the package is not listed here:
https://packages.msys2.org/package/
Is this lib removed/obsolete in MSys2? But without the png/gif/jpeg terminals Gnuplut makes no sense for me... How do you guys work-around?
Well, it's a bit much to expect four-and-a-half year old draft to still apply letter for letter today.
MSYS2 repackaged libgd as 'libgd' instead of 'gd' at some point.
Thanks for the hint, this worked! But I am stuck now with PDFlib lite which does not compile for me on MSys2, even after patching the build system. I kind of have given up, unfortunately.
I was hoping I could find a way to self-compile and thought that this recent entry: https://sourceforge.net/p/gnuplot/support-requests/256/#4f69/fba3/6faa/3607 was referring to here for self-compilation. Seems not. Maybe there is a more recent guideline somewhere?
BTW: I used to self-compile Gnuplot every now and then a few years back, so I am not totally unexperienced. But it seems to have gotten too difficult for me, somehow.
PDFlib is not really necessary for anything, as long as you have the Cairo PDF terminal instead, which is almost certainly superior.
Change list at July 25, 2023
External tool
Microsoft HTML Help Compiler
https://www.helpandmanual.com/downloads_mscomp.html
(Site on Microsoft has been closed.)
Tools or libraries for build
Some required tools
cairo / pango
wxWidgets
libgd
lua
libcerf (Building from source is no longer required)
pdflib
Qt
Least components for reuired for gnuplot build.
Full install (Huge)
libcaca
For version 6
libwebp
openspecfun
https://github.com/JuliaMath/openspecfun
opensepcfun does not include "cexint" which is required for expint.
See https://sourceforge.net/p/gnuplot/bugs/2475/
For development version or sources on git branch
git
Documantation
In order to get up-to-date gnuplot manual, one should use the LaTeX.
TeX (TeXLive on Msys2 is recommended) and ghostscipt are required.
Least requirements for gnuplot documentation
TeXLive full install (Huge)
LaTeX style file "picins.sty" is requred for latex compilation.
Download picins.zip from
https://ctan.org/pkg/picins
extract picins.zip and copy the "picins" directory to the /mingw64/share/texmf-dist/tex/latex
and execute
Packaging tools
Inno Setup (Installer packaging tool)
http://www.jrsoftware.org/isdl.php
p7zip / zip
Last edit: Tatsuro MATSUOKA 2023-07-26