Opened 12 months ago

Last modified 4 months ago

#60066 assigned defect

py27-tensorflow1 @1.15.2_0+mkl: No such file or directory: .../tensorflow-1.15.2-cp27-cp27m-macosx_10_14_x86_64.whl

Reported by: ScienceOnAMac Owned by: emcrisostomo (Enrico Maria Crisostomo)
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: mojave Cc: cjones051073 (Chris Jones)
Port: py-tensorflow1

Description

Port py27-tensorflow1-1.15.2 successfully builds on MacPorts 2.6.2/MacOS 10.14.6/XCode 11.3.1 until it attempts to stage into desroot when the following error occurs: Error: Failed to destroot py27-tensorflow1: command execution failed The associated log file is attached.

I hope you can help solve this problem. I and others in the scientific community really appreciate the work you do to bring these ports to Mac users!

Thanks, ScienceOnAMac.

P.S. Sorry about putting the first maintainer under Cc:. The ticket form does not appear to have an "Owner" field.

Attachments (2)

main.log (375.7 KB) - added by ScienceOnAMac 12 months ago.
Log file for py27-tensorflow1. (Most of the info:build text was removed to cut the file down from 66M. The problem was in deployment to desroot, so hopefully the needed info is there. This full file can be provided piecemeal if needed.)
main.log.zip (1.7 MB) - added by ScienceOnAMac 12 months ago.
Full log file as .zip.

Change History (11)

Changed 12 months ago by ScienceOnAMac

Attachment: main.log added

Log file for py27-tensorflow1. (Most of the info:build text was removed to cut the file down from 66M. The problem was in deployment to desroot, so hopefully the needed info is there. This full file can be provided piecemeal if needed.)

Changed 12 months ago by ScienceOnAMac

Attachment: main.log.zip added

Full log file as .zip.

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

Cc: cjones051073 added; emcrisostomo@… jonesc@… removed
Owner: set to emcrisostomo
Port: py-tensorflow1 added; py27-tensorflow1 removed
Status: newassigned

comment:2 Changed 12 months ago by cjones051073 (Chris Jones)

The build worked fine on 10.14 on the build bots.

https://ports.macports.org/port/py27-tensorflow1/builds

so the error is somehow specific to your machine. Not sure why.

Any particular reason you are building from source and not using the pre-built binaries ?

comment:3 Changed 12 months ago by jmroot (Joshua Root)

There are no binaries available.

comment:4 Changed 12 months ago by cjones051073 (Chris Jones)

why ? There should be, they are present for older versions

http://packages.macports.org/py27-tensorflow1/

nothing changed w.r.t. licenses etc. I am aware of..

comment:5 Changed 12 months ago by cjones051073 (Chris Jones)

OK, so from

https://build.macports.org/builders/ports-10.14_x86_64-builder/builds/52943/steps/gather-archives/logs/stdio

Already uploaded public archive: py27-tensorboard1-1.15.0_0.darwin_18.noarch.tbz2
"py27-tensorflow1" is not distributable because its license "apache" conflicts with license "GPL-2" of dependency "openjdk12"

so that is new. Its was not the case for 1.15.0 ...

comment:6 Changed 9 months ago by ryandesign (Ryan Schmidt)

The destroot failure reported at the top of the ticket should be fixed by [c63702340a39c0f64853ee859a5f3ad7bfcd5709/macports-ports]. See #60458.

The fact that the port is not distributable anymore is a separate issue which of course it would be great to solve too if possible.

comment:7 in reply to:  6 Changed 9 months ago by ryandesign (Ryan Schmidt)

Replying to ryandesign:

The fact that the port is not distributable anymore is a separate issue which of course it would be great to solve too if possible.

On my 10.13 system, all of the tensorflow ports show up as distributable but I have a systemwide openjdk 12 installation. What happens if the user or the buildbot worker doesn't?

Is the openjdk12 dependency coming in due to the bazel25 port? It says:

set java_v 11+
    set java_f openjdk12
# Required java version.
java.version          ${java_v}
# JDK port to install if required java not found
java.fallback         ${java_f}
# JDK only needed at build time, but java PG sets lib dependency so
# declare no conflict to allow redistribution of binaries.
license_noconflict    ${java_f}

Would adding license_noconflict to the tensorflow ports fix it, and if so would that be appropriate to do?

comment:8 Changed 9 months ago by cjones051073 (Chris Jones)

The tensorflow ports use the java PG. A required version range is specified, and if the user does not have any JDK installed, either externally or via MP, that satisfies that, then the fallback version is installed. I for instance for openjdk14 installed, and as this satisfies the requirements its what is used.

All the tnesorflow(1) ports already using license_noconflict on the fallback version.

comment:9 Changed 4 months ago by ryandesign (Ryan Schmidt)

Summary: py27-tensorflow1-1.15.2_0+mkl fails stage into desrootpy27-tensorflow1 @1.15.2_0+mkl: No such file or directory: .../tensorflow-1.15.2-cp27-cp27m-macosx_10_14_x86_64.whl
Note: See TracTickets for help on using tickets.