Package Base Details: mxnet

Keywords: deep_learning deep_neural_networks distributed_systems machine_learning
Submitter: Godisemo
Maintainer: petronny
Last Packager: petronny
Votes: 10
Popularity: 0.012939
First Submitted: 2017-02-11 00:12
Last Updated: 2020-12-12 11:17

Pinned Comments

petronny commented on 2019-06-21 08:00

And about this package, I've splitted it into mxnet{,-cuda,-mkl}. And it will take lots of time and space to compile.

The pre-built binaries of mxnet{,-cuda,-mkl} and their dependencies can be found in arch4edu.

Latest Comments


domanov commented on 2018-03-02 17:27

Hi, I am not able to compile mxnet, it fails with segmentation error at the end when python

PKGBUILD: line 39: 17500 Segmentation error (core dump created) python build

Any hints?

asitdepends commented on 2018-02-11 15:01

It's strange. In my system the build is successful. If I remove cblas or -lcblas flag, I get the same error on 'cblas_ssyrk'. readelf -Ws /usr/lib/ | grep cblas_ssyrk confirms that the symbol is there and I believe the linking should be sucessful.

petronny commented on 2018-02-11 11:03

I have cblas and blas installed, still get the cblas_ssyrk error.

asitdepends commented on 2018-02-11 10:19

I guess you might not install cblas package. In Arch blas ( is a fortran library and cblas ( is a C library. from cblas package contains the symbol cblas_ssyrk and may solve your build problem. For the dependency, you are right. I had some trouble with openblas and numpy and I thought that it was a dependency problem. But it was my mistake and is not a dependency problem.

petronny commented on 2018-02-10 06:06

I get

ld: build/src/operator/tensor/la_op.o: undefined reference to symbol 'cblas_ssyrk'

with USE_BLAS=blas ADD_LDFLAGS=-lcblas USE_LAPACK=1. So I use openblas-lapack to build the package. And openblas-lapack doesn't break dependencies.

asitdepends commented on 2018-02-09 08:54

Cuda 9 does not support gcc 7 which is the default gcc in the current Arch linux. So we need gcc-6 as a dependency and flags CC=gcc-6 CXX=g++6 to compile the package.

Why openblas? The blas package in the official repository should be used (USE_BLAS=blas ADD_LDFLAGS=-lcblas). Openblas breaks several dependencies of the standard packages such as python-numpy. If one really needs openblas, it could modify the PKGBUILD and do appropriate preparations. This must be optional and the standard blas must be the default.

Godisemo commented on 2017-02-28 16:17

Eventually I think it could be a good idea to extract the mklml library to its own AUR package, and make it an optional dependency for this one.

Godisemo commented on 2017-02-28 16:07

You learn something new every day. Building in a chroot environment definitely helped to resolve dependency issues. I did not know about that either. I really appreciate your feedback, thank you! The PKGBUILD should be updated to work correctly now.

petronny commented on 2017-02-28 13:39

No, you will get:
/usr/bin/ld: cannot find -lcuda
if you build it with a clean chroot enviroment.

See more:
(I'm using a modified extra-x86_64-build to have cudnn in my custom repository)

Godisemo commented on 2017-02-27 19:12

Why would I need to add that to ldflags? Everything builds fine without it.