Package Details: julia-mkl 2:1.6.3-1

Git Clone URL: https://aur.archlinux.org/julia-mkl.git (read-only, click to copy)
Package Base: julia-mkl
Description: High-level, high-performance, dynamic programming language (compiled with the Intel MKL library)
Upstream URL: https://julialang.org/
Licenses: MIT
Conflicts: julia, julia-git
Provides: julia
Submitter: herraiz
Maintainer: petronny
Last Packager: petronny
Votes: 5
Popularity: 0.000000
First Submitted: 2016-11-25 13:25 (UTC)
Last Updated: 2021-10-25 08:17 (UTC)

Required by (21)

Sources (3)

Pinned Comments

petronny commented on 2021-02-22 06:42 (UTC) (edited on 2021-02-22 06:42 (UTC) by petronny)

Pre-built binaries of this package can be found in the arch4edu repository.

Latest Comments

cosmicdoge commented on 2021-04-30 22:14 (UTC) (edited on 2021-05-03 17:13 (UTC) by cosmicdoge)

EDIT: I was able to solve this issue by adding options=(!buildflags !makeflags) to the PKGBUILD. It seems some of the CFLAGS settings in /etc/makepkg.conf were conflicting with Julia's build flags.

I get the following error when trying to build this package (both when using an AUR helper and without):

/usr/include/c++/10.2.0/bits/stl_vector.h:1045: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>; std::vector<_Tp, _Alloc>::reference = unsigned char&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.

Lime commented on 2021-04-24 20:35 (UTC)

Got a similar bug to the first time (missing link to libimf.so). Fixed with: sudo ln -s '/opt/intel/oneapi/compiler/2021.2.0/linux/compiler/lib/intel64/libimf.so' '/usr/lib/julia'

petronny commented on 2021-04-24 18:30 (UTC)

I forgot to push intel-oneapi-compiler-shared too. You may need to rebuild it.

petronny commented on 2021-04-24 18:28 (UTC)

Sorry I forgot to push that package. It should be fixed now.

Lime commented on 2021-04-24 18:23 (UTC)

Hmm, trying to update gives me the bug: ar: intel-oneapi-dpcpp-debugger-eclipse-cfg-10.1.1-10.1.1-80_all.deb: No such file or directory

petronny commented on 2021-04-24 15:35 (UTC)

Oops, libimf.so is the intel libm ...

I'll add intel-oneapi-compiler-shared to depends.

petronny commented on 2021-04-24 15:25 (UTC)

Oops, I was trying to use the intel libm actually.

It seems that intel libm is missing now, then it fallback to openlibm.

I'm migrating the intel packages from ubuntu. And somehow I find libimf.so in intel-oneapi-compiler-shared-runtime.

It will be helpful if someone can tell me which package have the intel libm.

Lime commented on 2021-04-24 15:06 (UTC) (edited on 2021-04-24 15:06 (UTC) by Lime)

Got a bug where Julia didn't start up because the link to openlibm is missing. This is fixed by creating and placing a link to openlibm using the following:

sudo ln -s '/usr/lib/libopenlibm.so' '/usr/lib/julia'

Lime commented on 2021-04-24 03:56 (UTC)

@petronny thanks. When you update to 1.6.1, you may want to remove the dependency on llvm10 and llvm10-libs and replace these with llvm and llvm-libs (which will use the newest version). You may also want to check that every requirement is listed (namely, everything that has the USE_SYSTEM flag set to 1 is actually a requirement for this package) and that no unnecessary requirements have been added.

petronny commented on 2021-04-21 12:12 (UTC) (edited on 2021-04-21 12:24 (UTC) by petronny)

I just realized that maybe libimf.so is not that important since it's not even provdied in ubuntu.

So I tried removing libimf and everything still work.

I applied this change in 1.5.4 .

I'll take a look about 1.6.x in a few days.

petronny commented on 2021-04-21 10:39 (UTC) (edited on 2021-04-21 11:33 (UTC) by petronny)

I find that there is an apt repository of all oneapi packages for ubuntu.

If someone can find the package containing libimf.so in ubuntu then we can create a *-bin package to port it to arch.

But apt-file find libimf.so says there is no libimf.so in the entire repository.

petronny commented on 2021-04-21 09:51 (UTC)

@rgcv I've noticed that there is a new version.

But now I don't know what to do due to the changes in the intel packages.

Lime commented on 2021-03-28 22:02 (UTC)

@petronny @halfhorn I think one of these might contain the required file: https://github.com/intel/llvm https://github.com/oneapi-src/oneDPL https://github.com/oneapi-src/oneDAL

If not, one of the other packages here may have it: https://github.com/oneapi-src

Or this may help: https://github.com/oneapi-src/oneDAL/blob/master/INSTALL.md

rgcv commented on 2021-03-24 22:47 (UTC)

I had already flagged it out of date when 1.5.4 released. In the meantime, a new minor release has been published: https://github.com/JuliaLang/julia/releases/tag/v1.6.0

halfhorn commented on 2021-03-03 16:44 (UTC)

I've been playing around with trying to package the OneAPI base toolkit but it is a major pain as it uses a custom sh installer.sh method of installation.

See here to download the installer from intel and the instructions for custom installs.

I can confirm that it contains the needed libimf.so.

$ find . -name libimf.so
/opt/intel/oneapi/compiler/2021.1.1/linux/compiler/lib/intel64_lin/libimf.so
/opt/intel/oneapi/compiler/2021.1.1/linux/compiler/lib/ia32_lin/libimf.so
/opt/intel/oneapi/intelpython/python3.7/envs/2021.1.1/lib/libimf.so
/opt/intel/oneapi/intelpython/python3.7/pkgs/common_cmplr_lib_rt-2021.1.1-intel_189/lib/libimf.so
/opt/intel/oneapi/intelpython/python3.7/lib/libimf.so

Lime commented on 2021-03-02 16:12 (UTC) (edited on 2021-03-02 16:33 (UTC) by Lime)

@petronny I don't know which other packages on the AUR provide it. It looks like Intel's OneAPI Base Toolkit isn't on the AUR, which I find very surprising, but you can find the OneAPI Base Toolkit here: https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit/download.html

This should provide the necessary file (let me know if it doesn't). If you're interested, you could add it to the AUR (I'm fairly new to Arch so not quite sure how to do that myself); it looks useful enough that it should probably be added. It should also be possible to find which library provides libimf.so so you don't have to install the whole OneAPI library, just the component providing it.

petronny commented on 2021-03-02 08:22 (UTC)

@Lime For now julia-mkl need libimf.so to build. AFAIK only intel-common-libs is providing it.

Please let me know if there is a better way to get libimf.so .

Lime commented on 2021-02-28 18:57 (UTC)

@petronny The following package, which is a make requirement for Julia-mkl, is currently marked as out-of-date and has been disowned: https://aur.archlinux.org/packages/intel-common-libs When I attempt to build it, I get an error message because the file "parallel_studio_xe_2020_update4_cluster_edition.tgz" fails sha256 sum validation. In the comments section, it was mentioned that Intel Parallel Studio XE is being replaced with oneAPI toolkits.

petronny commented on 2021-02-22 06:42 (UTC) (edited on 2021-02-22 06:42 (UTC) by petronny)

Pre-built binaries of this package can be found in the arch4edu repository.

petronny commented on 2021-02-22 06:41 (UTC)

intel-common-libs is no longer supported

@Lime Could you provide more details for this?

trying to build julia-mkl fails because of this.

I just build this package in a clean chroot. You may want to try the prebuilt binary.

Lime commented on 2021-02-18 01:44 (UTC)

intel-common-libs is no longer supported; trying to build julia-mkl fails because of this.

tapia commented on 2020-12-28 17:03 (UTC) (edited on 2020-12-28 17:03 (UTC) by tapia)

Hi, I am getting this error when compiling julia-mkl:

/tmp/yay/julia-mkl/src/julia-1.5.2/src/ccall.cpp:994:68:   required from here
/usr/include/llvm/ADT/STLExtras.h:185:52: error: expression cannot be used as a function
  185 |     return (*reinterpret_cast<Callable*>(callable))(
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  186 |         std::forward<Params>(params)...);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:166: codegen.o] Error 1
make[1]: Leaving directory '/tmp/yay/julia-mkl/src/julia-1.5.2/src'

petronny commented on 2019-07-29 08:18 (UTC) (edited on 2019-07-29 08:18 (UTC) by petronny)

AFAIK, the build prefix is embedded in /usr/lib/julia/sys.so. If I edit it with sed, /usr/bin/julia will raise segmentation fault. I don't know is there a proper way to edit this file now.

petronny commented on 2019-07-29 08:11 (UTC) (edited on 2019-07-29 08:13 (UTC) by petronny)

@xia0er There is already a bug report about the prefix, see https://bugs.archlinux.org/task/63255.

Abount openmp, should it be a dependency of julia-arpack?
I can pass most of the tests in the check() function with about 5 tests skipped.
So I think julia-mkl doesn't need openmp itself.

xia0er commented on 2019-07-28 04:30 (UTC)

Should openmp be added to the package dependencies? I am getting an error:

julia: symbol lookup error: /opt/intel/mkl/lib/intel64/libmkl_intel_thread.so: undefined symbol: __kmpc_global_thread_num

when loading julia packages that depend on mkl, for example, Arpack, which is fixed by installing openmp.

xia0er commented on 2019-07-28 04:26 (UTC)

@petronny, thanks for the response! As I understand it is mostly cosmetic, I can certainly wait for it to be resolved upstream.

petronny commented on 2019-07-28 03:56 (UTC) (edited on 2019-07-28 03:57 (UTC) by petronny)

@xia0er Actually this bug also happens in the official julia package.

julia> using Pkg

julia> Pkg.build("Arpack")
ERROR: The following package names could not be resolved:
 * Arpack (not found in project or manifest)
Please specify by known `name=uuid`.
Stacktrace:
 [1] ensure_resolved at /build/julia/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/Types.jl:981 [inlined]
 [2] #build#61(::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /build/julia/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:375
 [3] build at /build/julia/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:357 [inlined]
 [4] #build#60 at /build/julia/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:355 [inlined]
 [5] build at /build/julia/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:355 [inlined]
 [6] #build#57 at /build/julia/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:352 [inlined]
 [7] build(::String) at /build/julia/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:352
 [8] top-level scope at none:0

You can find /build/julia/src/julia-1.1.1/ in the stacktrace which is the build path in chroot since it is build with extra-x86_64-build.

I provide a pre-built binary of this package which is also built with extra-x86_64-build in arch4edu. It will give the similar stacktrace like the official one. You can use it for now. I'll contact with the maintainer of julia and see what we can do about the build path.

xia0er commented on 2019-07-28 03:15 (UTC)

Is there a way to fix the fact that where julia is being built is embedded in the installed files? For example, when I got permission denied error for a log file, the error message reports the Operations.jl is at /home/xia0er/.cache/yay/julia-mkl/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl (where julia-mkl is being built by yay), even though I started julia after installing julia-mkl and can verify that Operations.jl is at /usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl. Granted this is mostly cosmetic as far as I can see.

julia> Pkg.build("Arpack")
  Building Arpack → `/usr/share/julia/packages/Arpack/cu5By/deps/build.log`
ERROR: SystemError: opening file "/usr/share/julia/packages/Arpack/cu5By/deps/build.log": Permission denied
Stacktrace:
 [1] #open#310(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::getfield(Pkg.Operations, Symbol("##52#57")){Bool,Cmd}, ::String, ::Vararg{Str
ing,N} where N) at ./iostream.jl:373
 [2] #53 at /home/xia0er/.cache/yay/julia-mkl/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:1080 [inlined]
 [3] #41 at /home/xia0er/.cache/yay/julia-mkl/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:898 [inlined]
 [4] withenv(::getfield(Pkg.Operations, Symbol("##41#46")){getfield(Pkg.Operations, Symbol("##53#58")){getfield(Pkg.Operations, Symbol("##51#56")){Bool,String,Cmd,String}},Pkg.Ty
pes.Context}, ::Pair{String,String}, ::Vararg{Pair{String,B} where B,N} where N) at ./env.jl:148
 [5] mktempdir at ./file.jl:579 [inlined]
 [6] #with_dependencies_loadable_at_toplevel#38(::Bool, ::Function, ::getfield(Pkg.Operations, Symbol("##53#58")){getfield(Pkg.Operations, Symbol("##51#56")){Bool,String,Cmd,Stri
ng}}, ::Pkg.Types.Context, ::Pkg.Types.PackageSpec) at /home/xia0er/.cache/yay/julia-mkl/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:853
 [7] #build_versions at ./none:0 [inlined]
 [8] #build#61(::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /home/xia0er/
.cache/yay/julia-mkl/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:382
 [9] build at /home/xia0er/.cache/yay/julia-mkl/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:357 [inlined]
 [10] #build#60 at /home/xia0er/.cache/yay/julia-mkl/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:355 [inlined]
 [11] build at /home/xia0er/.cache/yay/julia-mkl/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:355 [inlined]
 [12] #build#57 at /home/xia0er/.cache/yay/julia-mkl/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:352 [inlined]
 [13] build(::String) at /home/xia0er/.cache/yay/julia-mkl/src/julia-1.1.1/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:352
 [14] top-level scope at none:0

petronny commented on 2019-07-26 07:30 (UTC)

Hi, I just dropped julia-mkl-docs.
I think it's same with julia-docs. Please leave a comment if it's not. I will add it back.

specter119 commented on 2018-07-04 03:17 (UTC)

maybe help https://gist.github.com/specter119/e7a86a202b0ecb77334cb5c437085e5e

CodeLenz commented on 2017-07-10 14:34 (UTC)

Hi. Using 1) git clone git://github.com/JuliaLang/julia.git 2) cd julia & git checkout v0.6.0 3) patch -p1 -i ../julia-libunwind-version.patch and following the idea of your PKGBUILD I could compile and install julia with MKL. Thanks.

CodeLenz commented on 2017-07-10 11:18 (UTC)

I have deleted all the contents of the tmp directory and the error remains the same. Anyway, thanks for the help. Cheers !

herraiz commented on 2017-07-09 19:30 (UTC)

I cannot find the reason for the problem compiling. Can you try by making sure that the tmp directory is removed before the compilation statrst? (just to make sure that there are no old sources also in the same dir(

herraiz commented on 2017-07-09 19:30 (UTC)

I cannot find the reason for the problem compiling. Can you try by making sure that the tmp directory is removed before the compilation statrst? (just to make sure that there are no old sources also in the same dir(

CodeLenz commented on 2017-07-04 19:11 (UTC)

Hi. https://ptpb.pw/rTVQ contains the outuput for yaourt -S julia-mkl >> log_julia and https://ptpb.pw/jprI contains the messages that appear at the terminal but are not redirected to the logfile.

herraiz commented on 2017-07-03 06:30 (UTC)

Can you post the full output? The error is not reported in that extract. I suspect it is related to a missing dependency in the PKGBUILD file, I could compile the package without issues. Thanks!

CodeLenz commented on 2017-07-02 23:49 (UTC)

Hi The error remains the same, even installing git (actually, I already had git installed, but I can confirm that it is now been taken into account). The error message is exactly tha same. Thanks.

herraiz commented on 2017-07-02 09:44 (UTC)

git was missing as a dependency. I have added to PKGBUILD. Please try again and confirm if it fixes your compilaion problem. Thanks!

CodeLenz commented on 2017-07-01 23:53 (UTC)

Hi. Thanks for this package. I am having a problem while compiling julia "make[1]: Entering directory '/home/lenz/yaourt/yaourt-tmp-lenz/aur-julia-mkl/src/julia-0.6.0/ui' Warning: git information unavailable; versioning information limited make[1]: *** No rule to make target '/home/lenz/yaourt/yaourt-tmp-lenz/aur-julia-mkl/repl.o', needed by '/home/lenz/yaourt/yaourt-tmp-lenz/aur-julia-mkl/src/julia-0.6.0/usr/bin/julia'. Stop. make[1]: Leaving directory '/home/lenz/yaourt/yaourt-tmp-lenz/aur-julia-mkl/src/julia-0.6.0/ui' make: *** [Makefile:97: julia-ui-release] Error 2 make: Leaving directory '/home/lenz/yaourt/yaourt-tmp-lenz/aur-julia-mkl/src/julia-0.6.0'"

herraiz commented on 2017-06-28 20:06 (UTC)

Updated to Julia 0.6.0

herraiz commented on 2017-06-28 14:08 (UTC)

I am working on updating this package to Julia 0.6.0. I hope to upload a new PKGBUILD soon.