Package Base Details: mxnet

Git Clone URL: https://aur.archlinux.org/mxnet.git (read-only, click to copy)
Keywords: deep_learning deep_neural_networks distributed_systems machine_learning
Submitter: Godisemo
Maintainer: petronny
Last Packager: petronny
Votes: 9
Popularity: 0.007436
First Submitted: 2017-02-11 00:12
Last Updated: 2020-01-14 06:05

Packages (3)

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

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

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/libcblas.so | 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 (libblas.so) is a fortran library and cblas (libcblas.so) is a C library. libcblas.so 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'
/usr/lib/libcblas.so.3: error adding symbols: DSO missing from command line

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:
https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot
(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.

petronny commented on 2017-02-27 19:04

Thanks for reply.
I'm not familiar with mxnet so I trust your decisions.

And one more thing needs fixing in PKGBUILD:
please add
echo "ADD_LDFLAGS = -L/opt/cuda/lib64/stubs" >> config.mk
in prepare() for "-lcuda"