Opened 2 months ago

Last modified 7 weeks ago

#59282 assigned defect

package py37-tensorflow does not build on mac os X 10.15 (catalina)

Reported by: tiperiu Owned by: emcrisostomo (Enrico Maria Crisostomo)
Priority: Normal Milestone:
Component: ports Version: 2.6.1
Keywords: catalina Cc: cjones051073 (Chris Jones), andrey-popov (Andrey Popov)
Port: py-tensorflow

Description

The package py37-tensorflow does not build on Mac OS X 10.15, I installed xcode 11 and command-line tools and followed all the procedures.

I attached the main.log file. I did an update and upgrade outdated just before trying to install

thanks

Attachments (2)

main.log (133.6 KB) - added by tiperiu 2 months ago.
main2.log (31.2 KB) - added by tiperiu 8 weeks ago.
this is the log from installing py37-astor (it fails)

Download all attachments as: .zip

Change History (13)

Changed 2 months ago by tiperiu

Attachment: main.log added

comment:1 Changed 2 months ago by jmroot (Joshua Root)

Cc: cjones051073 added
Owner: set to emcrisostomo
Port: py-tensorflow added; py37-tensorflow removed
Status: newassigned

comment:2 Changed 8 weeks ago by ryandesign (Ryan Schmidt)

I see in the log:

ERROR: An error occurred during the fetch of repository 'nasm':

All mirrors are down: [GET returned 404 Not Found, connect timed out]

This demonstrates that the port has a bug: it tries to fetch something in the build phase. The port should be modified to fetch everything it needs in the fetch phase.

comment:3 Changed 8 weeks ago by cjones051073 (Chris Jones)

Its not a bug in the port file, but a consequence of the fact tensorflow uses bazel to build, and bazel insists of doing this. I know of no way to avoid it.

comment:4 Changed 8 weeks ago by andrey-popov (Andrey Popov)

Cc: andrey-popov added

comment:5 Changed 8 weeks ago by jxy (Xiao-Yong)

The FreeBSD port,

https://github.com/freebsd/freebsd-ports/blob/master/science/py-tensorflow/

though on 1.14.0, fetches everything in the fetch phase. It looks to me that you need to tell bazel to only fetch distfiles from the cache,

https://github.com/freebsd/freebsd-ports/blob/master/science/py-tensorflow/files/bazelrc

and in the fetch phase fetch these to the cache,

https://github.com/freebsd/freebsd-ports/blob/master/science/py-tensorflow/Makefile.MASTER_SITES

comment:6 Changed 8 weeks ago by cjones051073 (Chris Jones)

thanks, that might be worth looking into but I suspect would not really help, because I don't see how we could make use of the fetched source in macports, for instance to add them to the mirrored distfiles. So every build would always need to fetch the source itself, in which case it really makes little difference which 'macports' phase it happens in. Its the same deal as with builds that insist on building from a full git checkout, you cannot really avoid every build having to fetch direct from the primary source...

comment:7 Changed 8 weeks ago by cjones051073 (Chris Jones)

Looking into this, I sporadically see it, but just rerunning the build once or twice gets past it... Don't have a better solution at this to just 'keep trying til it works....'.

comment:8 Changed 8 weeks ago by jxy (Xiao-Yong)

You can add the packages to the mirrored distfiles, or even a bundle of those, and copy them to the bazel cache during the extract phase.

Edit: to clarify, FreeBSD port does it in the post-patch phase.

Last edited 8 weeks ago by jxy (Xiao-Yong) (previous) (diff)

comment:9 Changed 8 weeks ago by tiperiu

I tried what @cjones051073 suggested and try sebveral time to insgtall the package, but now even a dependency py37-astor no longer builds. See attachment main2.log

Changed 8 weeks ago by tiperiu

Attachment: main2.log added

this is the log from installing py37-astor (it fails)

comment:10 Changed 8 weeks ago by cjones051073 (Chris Jones)

Please do not mix up issues with different ports in the same ticket. If you now have an issue with py-astor, you need to submit a new ticket for that.

comment:11 Changed 7 weeks ago by tiperiu

I did another update and tried several times as @cjones051073 suggested but still no luck. No dependency problems, just the main package: py37-tensorflow

Note: See TracTickets for help on using tickets.