<div dir="ltr">Hi Roger,<div><br></div><div><div>&gt; I&#39;m not too convinced of the merits of hand-building GCC; if what we</div><div>&gt; are doing can&#39;t be done with Apple&#39;s stock toolchain, it makes it very</div>

<div>&gt; difficult for an end-user to replicate the process, and for us to</div><div>&gt; maintain the stuff, and I think in general we should be wary of</div><div>&gt; customising our CI nodes unless there&#39;s really no alternative.</div>

</div><div><br></div><div>I very much agree. OMERO (especially the OMERO C++ bindings) is already hard to build. An easier build process is essential to encourage community contributions.</div><div><br></div><div><div>&gt; most 10.6 and 10.7 systems will be able to upgrade to 10.9.</div>

</div><div><br></div><div>Well, there are definitely some systems being left in the cold. I have a MacBook 4 series (circa 2008) which cannot upgrade to 10.9, for example. It is too bad, because the fact that 10.9 is free would otherwise be a great excuse to require it!</div>

<div><br></div><div>Regards,</div><div>Curtis</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 8, 2014 at 11:19 AM, Roger Leigh <span dir="ltr">&lt;<a href="mailto:rleigh@dundee.ac.uk" target="_blank">rleigh@dundee.ac.uk</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 07/01/14 16:45, Sebastien Besson wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- installed gcc 4.7.3 under /usr/gcc-4.7.3<br>
</blockquote>
<br>
[Moving this onto -devel, since it&#39;s a more general thing.]<br>
<br>
This is a more general query regarding native building on MacOS.  I&#39;m<br>
not too convinced of the merits of hand-building GCC; if what we are<br>
doing can&#39;t be done with Apple&#39;s stock toolchain, it makes it very<br>
difficult for an end-user to replicate the process, and for us to<br>
maintain the stuff, and I think in general we should be wary of<br>
customising our CI nodes unless there&#39;s really no alternative.  It may<br>
also be subtly incompatible with the system libraries due to the<br>
libstdc++ differences, though the libraries themselves are link<br>
compatible at least on the face of it.<br>
<br>
It&#39;s my understanding that in general (may not be entirely accurate):<br>
- If you build on 10.8, g++/clang++ will link with libstdc++ by default,<br>
and the resulting binaries will run on systems back to 10.6.  The<br>
version of clang++ (and the corresponding g++ wrapper) should contain<br>
all the features provided by GCC 4.7, which should remove the need for<br>
hand-building GCC.  Is this the case?<br>
- 10.9 defaults to using libc++ (or you can manually select it on 10.8);<br>
the resulting binaries will run on 10.8 or 10.9 but are incompatible<br>
with libstdc++.<br>
- 10.9 is the point of incompatible breakage; 10.8 is the transitional<br>
step supporting both, but to what extent I&#39;m not sure.<br>
<br>
So in terms of providing binaries which are usable by external users, we<br>
should probably only be building native code for 10.6-10.8 on 10.8, and<br>
10.9 on 10.9.  Older code may well continue to run on 10.9, but it&#39;s<br>
quite clear that we will need to build against libc++ from this point,<br>
and there may be issues if old versions of the libraries linked with<br>
libstdc++ get dropped.<br>
<br>
If we don&#39;t already have one, could we look into replacing the 10.6/10.7<br>
nodes with 10.8?  Additionally, is there any real value in general in<br>
having 10.6 or 10.7 CI nodes?  The java and python versions aren&#39;t<br>
anything particularly special; we could easily test the same version<br>
combinations on either Linux or Windows.  Are there any jobs<br>
specifically requiring these versions which are unable to run on 10.8?<br>
<br>
Could we also look into setting up a 10.9 CI node for native building?<br>
If we are going to support 10.9, it looks like this isn&#39;t optional<br>
unless all the libc++ builds of the dependent libraries are available in<br>
10.8 in addition to the libstdc++ variants.  Can anyone comment on that?<br>
<br>
In terms of Mac testing, we will soon have a reduced ability to test on<br>
10.6 and 10.7; LSC in Dundee are mandating that we upgrade our systems<br>
to 10.8 since they no longer support the older versions.  This will<br>
affect our ability to support these releases if we are not testing on<br>
them routinely (just got my laptop back with 10.8 on it today; was I the<br>
last one on 10.6?).  That said, it may also be an opportune time to<br>
review our minimum version requirements since most 10.6 and 10.7 systems<br>
will be able to upgrade to 10.9.<br>
<br>
<br>
Regards,<br>
Roger<br>
<br>
--<br>
Dr Roger Leigh -- Open Microscopy Environment<br>
Wellcome Trust Centre for Gene Regulation and Expression,<br>
College of Life Sciences, University of Dundee, Dow Street,<br>
Dundee DD1 5EH Scotland UK   Tel: (01382) 386364<br>
<br>
The University of Dundee is a registered Scottish Charity, No: SC015096<br>
______________________________<u></u>_________________<br>
ome-devel mailing list<br>
<a href="mailto:ome-devel@lists.openmicroscopy.org.uk" target="_blank">ome-devel@lists.<u></u>openmicroscopy.org.uk</a><br>
<a href="http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel" target="_blank">http://lists.openmicroscopy.<u></u>org.uk/mailman/listinfo/ome-<u></u>devel</a><br>
</blockquote></div><br></div>