<div dir="ltr"><div>Hi Roberto,</div><div><br></div><div>Thank you for the detailed instructions. I have been able to slowly reach the following step:</div><div><br></div><div>/home/roberto/ppl/configure --host=x86_64-w64-mingw32 --prefix=/home/roberto/pplinstall --with-cxxflags=-std=c++11 --with-gmp=/home/roberto/gmpinstall
 --enable-optimization --disable-debugging --disable-documentation 
--enable-interfaces="c cxx" --enable-ppl_lcdd --disable-ppl_lpsol 
--disable-ppl_pips --enable-instantiations=Polyhedron --disable-shared --enable-static --disable-assertions</div><div><br></div><div>but am stuck here. The reason for this is that the git repo that I cloned does not have a file called configure.</div><div><br></div><div>That is, I went to my home directory and as suggested, I issued:</div><div><br></div><div>git clone git://<a href="http://git.bugseng.com/ppl/ppl.git">git.bugseng.com/ppl/ppl.git</a></div><div><br></div><div>This creates a /ppl/ subfolder. However, this subfolder does not have a file called configure. It has "BUGS", "ChangeLog",...,config.sub, <a href="http://configure.ac">configure.ac</a>, COPYING,...</div><div><br></div><div>skipping over the configure file</div><div><br></div><div>Hence, when I issue the equivalent of the command above on my machine, I get:</div><div><br></div><div>bash: /home/Tryer/ppl/configure: No such file or directory</div><div><br></div><div>Could you please check whether the git branch above does indeed have the configure file?</div><div><br></div><div>Thanks.</div><div>Tryer<br></div><div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 9, 2022 at 2:35 AM Roberto Bagnara <<a href="mailto:bagnara@cs.unipr.it">bagnara@cs.unipr.it</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello Tryer.<br>
<br>
What I meant is that you could cross-compile the PPL under Linux for Windows.<br>
We do this routinely.<br>
I redid it just now, so as to be sure:<br>
<br>
$ mkdir gmpbuild gmpinstall pplbuild pplinstall<br>
$ cd /home/roberto/gmpbuild<br>
$ /home/roberto/gmp-6.2.1/configure --host=x86_64-w64-mingw32 --prefix=/home/roberto/gmpinstall --enable-fat --enable-cxx --disable-shared --enable-static<br>
$ make<br>
$ make install<br>
$ cd /home/roberto/pplbuild<br>
$ /home/roberto/ppl/configure --host=x86_64-w64-mingw32 --prefix=/home/roberto/pplinstall --with-cxxflags=-std=c++11 --with-gmp=/home/roberto/gmpinstall --enable-optimization --disable-debugging --disable-documentation --enable-interfaces="c cxx" --enable-ppl_lcdd --disable-ppl_lpsol --disable-ppl_pips --enable-instantiations=Polyhedron --disable-shared --enable-static --disable-assertions<br>
$ make<br>
$ make install<br>
$ ls -R /home/roberto/pplinstall/<br>
/home/roberto/pplinstall/:<br>
bin  include  lib  share<br>
<br>
/home/roberto/pplinstall/bin:<br>
ppl-config.exe  ppl_lcdd.exe<br>
<br>
/home/roberto/pplinstall/include:<br>
ppl_c.h  ppl.hh<br>
<br>
/home/roberto/pplinstall/lib:<br>
libppl.a  libppl_c.a  <a href="http://libppl_c.la" rel="noreferrer" target="_blank">libppl_c.la</a>  <a href="http://libppl.la" rel="noreferrer" target="_blank">libppl.la</a><br>
<br>
/home/roberto/pplinstall/share:<br>
aclocal  doc  man<br>
<br>
/home/roberto/pplinstall/share/aclocal:<br>
ppl_c.m4  ppl.m4<br>
<br>
/home/roberto/pplinstall/share/doc:<br>
ppl<br>
<br>
/home/roberto/pplinstall/share/doc/ppl:<br>
BUGS       COPYING  fdl.txt  NEWS    README.configure  TODO<br>
ChangeLog  CREDITS  gpl.txt  README  README.doc<br>
<br>
/home/roberto/pplinstall/share/man:<br>
man1  man3<br>
<br>
/home/roberto/pplinstall/share/man/man1:<br>
ppl-config.1  ppl_lcdd.1<br>
<br>
/home/roberto/pplinstall/share/man/man3:<br>
libppl.3  libppl_c.3<br>
<br>
Note:<br>
<br>
0) If you are on a Debian-like Linux distro, you need to install<br>
    the g++-mingw-w64 package and possibly others.<br>
1) I am enabling static libraries and disabling shared libraries<br>
    because of the subject of this thread (I usually do the opposite);<br>
2) Your reference to Visual Studio 2019 confuses me: I do not think<br>
    there is binary compatibility between MSVC and MinGW.<br>
    I think you should compiler and link everything with MinGW.<br>
<br>
Again: do not use any bzip2 old distribution of PPL: use<br>
the Git version, devel branch.<br>
Kind regards,<br>
<br>
    Roberto<br>
<br>
On 08/03/22 20:28, anoninus wrote:<br>
> Hi Roberto,<br>
> <br>
> Thanks. Based on looking at the c++ code of ppl_lcdd, I have indeed been able to figure out the way to do the V to H convex hull computation.<br>
> <br>
> However, I have some difficulty understanding the following:<br>
> <br>
> On Tue, Mar 8, 2022 at 2:05 AM Roberto Bagnara <<a href="mailto:bagnara@cs.unipr.it" target="_blank">bagnara@cs.unipr.it</a> <mailto:<a href="mailto:bagnara@cs.unipr.it" target="_blank">bagnara@cs.unipr.it</a>>> wrote:<br>
> <br>
>     Regarding your other question, the PPL can be compiled for Windows using<br>
>     MinGW.<br>
> <br>
> <br>
> I have looked at the installation instructions at:<br>
> <br>
> <a href="https://www.bugseng.com/parma-polyhedra-library/ppl-portability" rel="noreferrer" target="_blank">https://www.bugseng.com/parma-polyhedra-library/ppl-portability</a> <<a href="https://www.bugseng.com/parma-polyhedra-library/ppl-portability" rel="noreferrer" target="_blank">https://www.bugseng.com/parma-polyhedra-library/ppl-portability</a>><br>
> <a href="https://www.bugseng.com/ppl-requirements" rel="noreferrer" target="_blank">https://www.bugseng.com/ppl-requirements</a> <<a href="https://www.bugseng.com/ppl-requirements" rel="noreferrer" target="_blank">https://www.bugseng.com/ppl-requirements</a>><br>
> <a href="https://www.bugseng.com/ppl-download" rel="noreferrer" target="_blank">https://www.bugseng.com/ppl-download</a> <<a href="https://www.bugseng.com/ppl-download" rel="noreferrer" target="_blank">https://www.bugseng.com/ppl-download</a>><br>
> <br>
> I have installed MinGW on my Windows computer. Are you saying that I should *install* PPL using MinGW? On a linux machine, after downloading the bzip2 tar archive, I was indeed able to run ./configure, make and make install just fine. On a windows machine, I do not know how to *install* the library so that the system is able to "see" the ppl.hh file, for instance. In other words, what are the equivalent steps to take on the windows machine to ./configure, make and make install?<br>
> <br>
> Install and README.configure links on the ppl-download page do not seem to point at any specific page. They currently point to the same page.<br>
> <br>
> Or, is it that I should just store the contents of the folder obtained after extracting the zip file on<br>
> <a href="https://www.bugseng.com/ppl-download" rel="noreferrer" target="_blank">https://www.bugseng.com/ppl-download</a> <<a href="https://www.bugseng.com/ppl-download" rel="noreferrer" target="_blank">https://www.bugseng.com/ppl-download</a>> on any location of my choice on the windows machine.<br>
> Then, should I just inform my IDE on Windows (Visual Studio 2019) to find the header files in this folder? For e.g., the header file, ppl.hh is located in the src/ subfolder. Of course, then, as you suggest, I will change the settings in my IDE to use the MinGW toolchain instead of the MSVC toolchain.<br>
> <br>
> Thank you.<br>
> Tryer.<br>
> <br>
> <br>
</blockquote></div></div>