Opened 15 months ago

Last modified 15 months ago

#66778 assigned defect

py-mkl pull is universal variants of dependencies

Reported by: Schamschula (Marius Schamschula) Owned by: cjones051073 (Chris Jones)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: py-mkl tbb

Description

I've been trying to figure out why a number of Python 3.11 packages fail to build. It turns out that these packages depend on py-mkl.

py-mkl in turn fails because it pulls in dependencies with the +univeral variant, and tbb +universal fails to build.

It is unclear where in the dependency chain +univeral or the active_variants PortGroup is introduced.

Either way, I cannot force a -universal install of py311-mkl.

Change History (8)

comment:1 Changed 15 months ago by Schamschula (Marius Schamschula)

Cc: cjones051073 removed
Owner: set to cjones051073
Status: newassigned

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

py*-mkl set supported_archs x86_64, so if you are on Apple Silicon it is expected that it would need universal dependencies.

comment:3 Changed 15 months ago by Schamschula (Marius Schamschula)

Sure enough! I saw that and it didn't register. Thanks!

I guess I can expect everything that depends on it to fail on Apple Silicon, as tbb +universal won't build.

The question then becomes is there an alternative to py-mkl for Apple processors?

comment:4 in reply to:  3 Changed 15 months ago by cjones051073 (Chris Jones)

Replying to Schamschula:

Sure enough! I saw that and it didn't register. Thanks!

I guess I can expect everything that depends on it to fail on Apple Silicon, as tbb +universal won't build.

The question then becomes is there an alternative to py-mkl for Apple processors?

First you need to tell us exactly which packages you are installing (either directly or indirectly as deps) actually have the dependencies on pyX-mkl ?

comment:5 Changed 15 months ago by jmroot (Joshua Root)

% port echo depends:':py[0-9]+-mkl(\s|$)'
py-mkl                          
py27-mkl-include                
py35-mkl-include                
py36-mkl-include                
py37-mkl-include                
py37-pytorch                    
py38-mkl-include                
py38-pytorch                    
py39-mkl-include                
py39-pytorch                    
py310-mkl-include               
py310-pytorch                   
py311-mkl-include               
py37-crc32c                     
py38-crc32c                     
py39-crc32c                     
py310-crc32c

So basically pytorch and crc32c.

comment:6 Changed 15 months ago by jmroot (Joshua Root)

In b0d7265e569145a1cb20e7952883fd587b4db911/macports-ports (master):

py-crc32c: fix license, remove unneeded deps

Also use pep517 and add py311.

See: #66778

comment:7 Changed 15 months ago by jmroot (Joshua Root)

In 54e660f99dd7681d05252a2e40478b6e66e5eb67/macports-ports (master):

py-pytorch: only add +mkl for solely x86_64 builds

See: #66778

comment:8 Changed 15 months ago by jmroot (Joshua Root)

Looks like pytorch already shouldn't have been enabling +mkl on Apple Silicon, but maybe that helps?

Note: See TracTickets for help on using tickets.