Deepmind Tree Bazel Build Portfile Help Request
Ryan Schmidt
ryandesign at macports.org
Tue Jul 7 16:28:51 UTC 2020
On Jul 7, 2020, at 06:17, Steven Smith wrote:
> On Jul 6, 2020, at 11:54 AM, Ryan Schmidt wrote:
>
>> Usually the defaults of the github portgroup should be sufficient. But you're mixing it with the python portgroup, and it's possible that the python portgroup is overwriting the github portgroup's settings for these. Is that what you're seeing?
>
> I added this so that worksrcdir has the name of the version, not the GitHub commit hash, which is easier to debug.
Oh I see, because you're using a commit hash not a tagged version. But it should work fine with the defaults. I'm not sure I see how this way it easier to debug.
Don't forget to use the full commit hash as we do in other ports, not an abbreviation.
>>>> # require c++14
>>>> compiler.cxx_standard 2014
>>>>
>>>> # The oldest Xcode version to use default Xcode compiler
>>>> # https://github.com/tensorflow/tensorflow/issues/39262
>>>> set tf_min_xcode 10.2
>>>> compiler.blacklist-append {clang < 1001}
>>>> # Work out if we should be using macports clang
>>>> set use_mp_clang [ expr ( [ string match macports-clang-* ${configure.compiler} ] || [ vercmp ${xcodeversion} ${tf_min_xcode} ] < 0 ) ]
>>
>> Do the reasons why tensorflow is requiring such a new compiler also apply to this new port?
>
> Not sure. I’m simply trying to adapt py-tensorflow’s successful bazel-based build to a Python port that also uses bazel.
I understand, but please make sure you know why you're putting each line into your Portfile. The compiler blacklisting in tensorflow was added to address this issue:
Symbol not found: __ZN10tensorflow4data12experimental14SnapshotReader33kSnappyReaderInputBufferSizeBytesE
https://github.com/tensorflow/tensorflow/issues/39262
Please try building your software with the default compiler and only add blacklisting if the default compiler fails.
Same question for the compiler.cxx_standard 2014 line. Does this software require C++14? I didn't see any mention of it in their repository, but they could have forgotten to document that requirement.
More information about the macports-dev
mailing list