<font size=2 face="sans-serif">After digesting this advice we were able
to start making progress again. &nbsp;Key missing pieces were the SjLj-compatible
compilers, both for C++ _and_ for Fortran. &nbsp;Although there's no visible
Fortran code, there are calls in some of the libraries to bits of the Fortran
runtime. &nbsp;We were thrown for a little while because we didn't realize
that the gfortran library also had to be SjLj-compatible (even though you
would expect Fortran to be agnostic about C++ condition-handling).</font>
<br>
<br><font size=2 face="sans-serif">So far we are getting along without
pkg-config: judicious use of nm helps us find what libraries we are missing.
&nbsp;It's stone age technology, but it works.</font>
<br>
<br><font size=2 face="sans-serif">We were able to get the Osiexample example
working, and have moved on to adapting our own application. &nbsp;Thank
you all very much for your assistance and patience.</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">From:</font>
<td><font size=1 face="sans-serif">Ted Ralphs &lt;ted@Lehigh.EDU&gt;</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">To:</font>
<td><font size=1 face="sans-serif">acw@ascent.com</font>
<tr>
<td valign=top><font size=1 color=#5f5f5f face="sans-serif">Cc:</font>
<td><font size=1 face="sans-serif">CoinBinary@list.coin-or.org</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Date:</font>
<td><font size=1 face="sans-serif">06/29/2012 04:09 PM</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Subject:</font>
<td><font size=1 face="sans-serif">Re: [CoinBinary] Missing library, building
example under MinGW</font></table>
<br>
<hr noshade>
<br>
<br>
<br><font size=3>On the MinGW side, what you are running into is likely
an incompatibility with compiler versions. I built the MinGW libraries
with the only version of MinGW GCC that I was ever able to get to reliably
build the entire CoinAll suite. If I'm not mistaken, the binaries for that
version are still available here:<br>
</font><font size=3 color=blue><u><br>
</u></font><a href="http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/Previous%20Testing_%20gcc-4.2.1-sjlj%20-2/" target=_blank><font size=3 color=blue><u>http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/Previous%20Testing_%20gcc-4.2.1-sjlj%20-2/</u></font></a><font size=3><br>
<br>
I guess that a lot of these problems will go away if you use this version
of the compiler. A second tip if you want to make sure you are building
with all the right compiler options and linking all the right libraries
is to start using pkg-config. It looks as though you can get a stand-alone
Windows version here:<br>
</font><font size=3 color=blue><u><br>
</u></font><a href=http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/><font size=3 color=blue><u>http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/</u></font></a><font size=3><br>
<br>
though I have never tried it. All of the projects have .pc files in &lt;install_dir&gt;/lib/pkgconfig.
These files contain all dependency information, as well as command-line
options for the compiler. You can easily parse these files by hand, but
the dependencies are built up recursively, so it takes a little work and
pkg-config will do that all for you. There is information on how to construct
Makefiles that leverage pkg-config support here:<br>
</font><font size=3 color=blue><u><br>
</u></font><a href="https://projects.coin-or.org/BuildTools/wiki/user-examples#LinkingyourCodewithCOIN-ORLibraries"><font size=3 color=blue><u>https://projects.coin-or.org/BuildTools/wiki/user-examples#LinkingyourCodewithCOIN-ORLibraries</u></font></a><font size=3><br>
<br>
I am not certain that the Applications Template examples have Makefiles
that include support for pkg-config, but they might. Another alternative
is that there is a file <br>
<br>
&lt;install_dir&gt;/share/coin/doc/XXX/xxx_addlibs.txt<br>
<br>
that contains the output of running a pkg-config query for the command
line options to link to the library of project XXX. <br>
<br>
Having said all of that, I think you're better off in the long-run working
with source and building your own libraries if you know your way around
the command line (which you seem to). If you build from source, configure
will produce examples with custom built Makefiles that will work out of
the box and that you can easily modify to suit your needs. If you download
the CoinAll source distribution (or better yet, check it out from subversion),
you will see directories &lt;build_dir&gt;/XXX/examples with automatically
generated Makefiles that will build the corresponding examples from &lt;src_dir&gt;/XXX/examples.
I guess we should probably just install the example Makefiles and sources
along with the distribution...<br>
<br>
I have been playing around with getting CoinAll to build with the latest
and greatest version of the MinGW compilers, but if I recall, my last attempt
still failed. Most likely, it was due to problems with the Fortran compiler,
which may not concern you. If you just want Cbc, it should probably build
fine. If you run into problems with another project like Ipopt, then you
can set COIN_SKIP_PROJECTS to avoid that one or just get the Cbc distribution
separately. I am interested in being able to build with the latest MinGW
compilers myself, so if you are willing to give it a go, I will provide
as much support as I can.<br>
<br>
And yes, all of this information should be on a wiki somewhere and not
hidden on this low-traffic mailing list :). Hope this helps!<br>
<br>
Ted<br>
</font>
<br><font size=3>On Fri, Jun 29, 2012 at 2:24 PM, &lt;</font><a href=mailto:acw@ascent.com target=_blank><font size=3 color=blue><u>acw@ascent.com</u></font></a><font size=3>&gt;
wrote:</font>
<br><font size=3 face="sans-serif">The Application Templates project looks
very helpful, especially if it is more up-to-date. &nbsp;The canned applications
referred to in CoinEasy are not sufficient for our needs; for reasons that
aren't really germane here, we have to add some code and call the COIN
API, so we have to either build from source or compile against libraries.</font><font size=3>
<br>
</font><font size=3 face="sans-serif"><br>
I don't know if, given the existence of the Applications Template project,
it makes sense to continue to try to get the &quot;Osiexample&quot; build
to complete. &nbsp;I can report the next step, though. &nbsp;We changed
-lCoin to -lCoinUtils, and now at least the build does something. &nbsp;What
it does is spit out almost 4000 lines of undefined symbol errors. &nbsp;These
are of two kinds: there are the gxx_personality/SjLj errors, that indicate
a mismatch in exception-handling technology; I'm not sure what to do about
those. &nbsp;And then there are COIN-internal symbols, which probably indicate
that I have missing libraries in my LIB_FLAGS. &nbsp;I'm guessing that
new dependencies have appeared since this example was promulgated, but
I don't know how to figure out which libraries to add. &nbsp;Perhaps the
answer to these questions is &quot;Use the Application Templates instead;
they are less moth-eaten.&quot; &nbsp;Thoughts?</font><font size=3> <br>
<br>
</font>
<table width=100%>
<tr valign=top>
<td width=13%><font size=1 color=#5f5f5f face="sans-serif">From:</font><font size=3>
</font>
<td width=86%><font size=1 face="sans-serif">Ted Ralphs &lt;ted@Lehigh.EDU&gt;</font><font size=3>
</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">To:</font><font size=3>
</font>
<td><a href=mailto:acw@ascent.com target=_blank><font size=1 color=blue face="sans-serif"><u>acw@ascent.com</u></font></a><font size=3>
</font>
<tr>
<td valign=top><font size=1 color=#5f5f5f face="sans-serif">Cc:</font><font size=3>
</font>
<td><a href="mailto:CoinBinary@list.coin-or.org" target=_blank><font size=1 color=blue face="sans-serif"><u>CoinBinary@list.coin-or.org</u></font></a><font size=3>
</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Date:</font><font size=3>
</font>
<td><font size=1 face="sans-serif">06/29/2012 01:03 PM</font><font size=3>
</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Subject:</font><font size=3>
</font>
<td><font size=1 face="sans-serif">Re: [CoinBinary] Missing library, building
example under MinGW</font></table>
<br><font size=3><br>
</font>
<hr noshade>
<br><font size=3><br>
<br>
<br>
That seems to just be a mistake in the Makefile. It should be CoinUtils.
There is no libCoin. This zip file is quite old and there have been changes
that should make some of this easier, such as support for the use of pkg-config.
Alaos, we have not been very good in general at keeping all of this sort
of thing up to date and making it obvious and easy how to get started.
Too much to do and not enough manpower. <br>
<br>
A few years back, we started another project called CoinEasy, which was
supposed to be the single entry point for new users that explained how
to get started, but as with everything, it has been difficult to to keep
it up and we have not publicized it well. Nevertheless, it is probably
a better starting point than what you're working with.</font><font size=3 color=blue><u><br>
<br>
</u></font><a href="https://projects.coin-or.org/CoinEasy" target=_blank><font size=3 color=blue><u>https://projects.coin-or.org/CoinEasy</u></font></a><font size=3><br>
<br>
There is a project called &quot;application templates&quot; pointed to
on the CoinEasy page that has a more complete set of examples, Makefiles,
etc. </font><font size=3 color=blue><u><br>
<br>
</u></font><a href="https://projects.coin-or.org/CoinBazaar/wiki/Projects/ApplicationTemplates" target=_blank><font size=3 color=blue><u>https://projects.coin-or.org/CoinBazaar/wiki/Projects/ApplicationTemplates</u></font></a><font size=3><br>
<br>
Please feel free to post additional questions and we'll try to use that
as motivation to get some of this cleaned up :).<br>
<br>
Cheers,<br>
<br>
Ted<br>
<br>
On Fri, Jun 29, 2012 at 12:46 PM, &lt;</font><a href=mailto:acw@ascent.com target=_blank><font size=3 color=blue><u>acw@ascent.com</u></font></a><font size=3>&gt;
wrote: <br>
&nbsp;</font><font size=3 face="sans-serif">I downloaded and installed
the CoinAll binary distribution on my generic Windows XP desktop. &nbsp;I
installed MinGW first, and chose the MinGW distribution on the download
page.</font><font size=3> </font><font size=3 face="sans-serif"><br>
<br>
The command-line binaries seem to work fine.</font><font size=3> </font><font size=3 face="sans-serif"><br>
<br>
But when I try to work the example given on the CoinBinary wiki project
page, I run into trouble. &nbsp;In particular I am trying to build the
one called &quot;Osiexample&quot;. &nbsp;I have MinGW g++, so I'm typing
&quot;make -f Makefile.Osiexample&quot;. &nbsp;(The NMakefile wants to
use the Visual Studio compiler.)</font><font size=3> </font><font size=3 face="sans-serif"><br>
<br>
I had to adjust COIN_DIR and COIN_INC_DIR a little because the arrangement
of directories is not exactly the same as the example expects. &nbsp;This
wasn't a problem.</font><font size=3> </font><font size=3 face="sans-serif"><br>
<br>
My problem is that the build fails looking for the library libCoin.a. &nbsp;I
looked in the directory win32-mingw-gcc4.2.1/lib, and it's just not there.
&nbsp;CoinMP, yes. &nbsp;CoinUtils, yes. &nbsp;Just plain Coin, no.</font><font size=3>
</font><font size=3 face="sans-serif"><br>
<br>
Does anyone have a suggestion? &nbsp;Thank you.</font><font size=3> <br>
_______________________________________________<br>
CoinBinary mailing list</font><font size=3 color=blue><u><br>
</u></font><a href="mailto:CoinBinary@list.coin-or.org" target=_blank><font size=3 color=blue><u>CoinBinary@list.coin-or.org</u></font></a><font size=3 color=blue><u><br>
</u></font><a href="http://list.coin-or.org/mailman/listinfo/coinbinary" target=_blank><font size=3 color=blue><u>http://list.coin-or.org/mailman/listinfo/coinbinary</u></font></a><font size=3><br>
<br>
<br>
<br>
<br>
-- <br>
Dr. Ted Ralphs<br>
Associate Professor, Lehigh University</font><font size=3 color=blue><u><br>
</u></font><a href="tel:%28610%29%20628-1280" target=_blank><font size=3 color=blue><u>(610)
628-1280</u></font></a><font size=3><br>
ted 'at' lehigh 'dot' edu</font><font size=3 color=blue><u><br>
</u></font><a href=http://coral.ie.lehigh.edu/%7Eted target=_blank><font size=3 color=blue><u>coral.ie.lehigh.edu/~ted</u></font></a><font size=3><br>
</font>
<br><font size=3><br>
<br>
<br>
-- <br>
Dr. Ted Ralphs<br>
Associate Professor, Lehigh University</font><font size=3 color=blue><u><br>
</u></font><a href="tel:%28610%29%20628-1280" target=_blank><font size=3 color=blue><u>(610)
628-1280</u></font></a><font size=3><br>
ted 'at' lehigh 'dot' edu</font><font size=3 color=blue><u><br>
</u></font><a href=http://coral.ie.lehigh.edu/%7Eted target=_blank><font size=3 color=blue><u>coral.ie.lehigh.edu/~ted</u></font></a><font size=3><br>
</font>
<br>