Julia language on DragonflyBSD
Michael Neumann
mneumann at ntecs.de
Tue Apr 8 07:40:00 PDT 2025
On Tue, Apr 08, 2025 at 07:28:25AM -0700, Sayed Mohammad Badiezadegan wrote:
> Yes, I got the PATH_MAX error same as you!
>
> Should I uncomment "#if defined(_OS_FREEBSD_) || defined(_OS_OPENBSD_)" and
> the lines after in this section in* src/libblastrampoline_internal.h*
You need to add
#elif defined(__DragonFly__)
#define _OS_DRAGONFLY_
to src/libblastrampoline.h (right below the FreeBSD clause), and then,
in src/libblastrampoline_internal.h extend:
#if defined(_OS_FREEBSD_) || defined(_OS_OPENBSD_)
to
#if defined(_OS_FREEBSD_) || defined(_OS_OPENBSD_) || defined(_OS_DRAGONFLY_)
Regards,
Michael
>
> Thank you,
>
>
> On Tue, Apr 8, 2025 at 7:13 AM Michael Neumann <mneumann at ntecs.de> wrote:
>
> > On Tue, Apr 08, 2025 at 06:42:17AM -0700, Sayed Mohammad Badiezadegan
> > wrote:
> > > Thank you Michael.
> > >
> > > I did your advice, and now I have the attached screenshot Warnings &
> > Errors.
> > >
> > > Should I change any other variables? or...
> >
> > The problem now is in deps/blastrampoline.mk. This fetches and
> > compiles https://github.com/JuliaLinearAlgebra/libblastrampoline.git
> > as you can see in line 5 of deps/blastrampoline.mk.
> >
> > What I do:
> >
> > git clone
> > https://github.com/JuliaLinearAlgebra/libblastrampoline.git
> > cd libblastrampoline/src
> > gmake
> >
> > This gives me the following error:
> >
> > libblastrampoline/src % gmake
> > cc -o build/libblastrampoline.o -g -O2 -std=gnu99 -fPIC
> > -DLIBRARY_EXPORTS -D_GNU_SOURCE -DARCH_x86_64 -DF2C_AUTODETECTION
> > -DCBLAS_DIVERGENCE_AUTODETECTION -DCOMPLEX_RETSTYLE_AUTODETECTION -c
> > libblastrampoline.c
> > libblastrampoline.c: In function 'init':
> > libblastrampoline.c:514:23: error: 'PATH_MAX' undeclared (first
> > use in this function); did you mean 'RAND_MAX'?
> > char curr_lib[PATH_MAX];
> > ^~~~~~~~
> > RAND_MAX
> > libblastrampoline.c:514:23: note: each undeclared identifier is
> > reported only once for each function it appears in
> >
> >
> > Look at src/libblastrampoline_internal.h. There you'll find
> >
> > #if defined(_OS_FREEBSD_) || defined(_OS_OPENBSD_)
> > ...
> >
> > You need to patch the following files:
> >
> > diff --git a/src/libblastrampoline.h b/src/libblastrampoline.h
> > index 250e82b..1ca4739 100644
> > --- a/src/libblastrampoline.h
> > +++ b/src/libblastrampoline.h
> > @@ -7,6 +7,8 @@ extern "C" {
> > // This shamelessly stolen from
> > https://github.com/JuliaLang/julia/blob/master/src/support/platform.h
> > #if defined(__FreeBSD__)
> > #define _OS_FREEBSD_
> > +#elif defined(__DragonFly__)
> > +#define _OS_DRAGONFLY_
> > #elif defined(__OpenBSD__)
> > #define _OS_OPENBSD_
> > #elif defined(__linux__)
> > diff --git a/src/libblastrampoline_internal.h
> > b/src/libblastrampoline_internal.h
> > index e6ca762..a431ede 100644
> > --- a/src/libblastrampoline_internal.h
> > +++ b/src/libblastrampoline_internal.h
> > @@ -25,7 +25,7 @@
> > #include <dlfcn.h>
> > #endif
> >
> > -#if defined(_OS_FREEBSD_) || defined(_OS_OPENBSD_)
> > +#if defined(_OS_FREEBSD_) || defined(_OS_OPENBSD_) ||
> > defined(_OS_DRAGONFLY_)
> > #include <stddef.h>
> >
> > Then it compiles fine. Feel free to submit a Pull request (PR) to
> > JuliaLinearAlgebra/libblastrampoline.git with above changes.
> >
> > Regards,
> >
> > Michael
> >
> > >
> > > Thank you so much.
> > >
> > > On Tue, Apr 8, 2025 at 2:32 AM Michael Neumann <mneumann at ntecs.de>
> > wrote:
> > >
> > > > On Mon, Apr 07, 2025 at 06:10:59PM -0700, Sayed Mohammad Badiezadegan
> > > > wrote:
> > > > > Hi everybody,
> > > > >
> > > > > I tried to install Julia on my DragonflyBSD, which was installed by
> > the
> > > > > DragonflyBSD 2025-04-07 snapshot.
> > > > >
> > > > > I installed GCC13, GIT, OpenBLAS, and SuiteSparse, but I still got
> > this
> > > > > error when I run the following:
> > > > >
> > > > > *root@:/julia # gmake -j 4/bin/sh: {python|python3|python2} not
> > found:
> > > > not
> > > > > found/bin/sh: {python|python3|python2} not found: not found/bin/sh:
> > > > > {python|python3|python2} not found: not found/bin/sh:
> > > >
> > > > Do you have python installed?
> > > >
> > > >
> > > >
> > https://github.com/JuliaLang/julia/blob/ec424d47ff8414a3666dce40d5977aabb509da0f/Make.inc#L167
> > > >
> > > > Try "which python" on your system. Or "which python3". This should
> > help:
> > > >
> > > > sudo pkg ins python3
> > > >
> > > > > {python|python3|python2} not found: not found/bin/sh:
> > > > > {python|python3|python2} not found: not found/bin/sh:
> > > > > {python|python3|python2} not found: not found/bin/sh:
> > > > > {python|python3|python2} not found: not found/bin/sh:
> > > > > {python|python3|python2} not found: not found/bin/sh:
> > > > > {python|python3|python2} not found: not found/bin/sh:
> > > > > {python|python3|python2} not found: not found/bin/sh:
> > > > > {python|python3|python2} not found: not foundgmake: not: No such
> > file or
> > > > > directory/bin/sh: not: not found/julia/Make.inc:1375:
> > > > normalize_triplet.py
> > > > > appears to be non-functional (used python interpreter "not found"),
> > so
> > > > > BinaryBuilder disabled/bin/sh: not: not found/julia/Make.inc:1445:
> > ***
> > > > > "Attempting to build OpenBLAS or SuiteSparse without a functioning
> > > > fortran
> > > > > compiler!". Stop.root@:/julia #*
> > > >
> > > > Also, quite often, on Linux systems "/bin/sh" is actually bash. Try
> > > > setting environment variable "export SHELL=/usr/local/bin/bash" before
> > > > running gmake, and of course install bash (sudo pkg ins bash).
> > > >
> > > > Also try looking for files starting with "#!/bin/sh" so called shebang.
> > > > If those scripts expect "bash" you need to change it to
> > > > "#!/usr/local/bin/bash".
> > > >
> > > > Hope this helps to make more progress.
> > > >
> > > > Regards,
> > > >
> > > > Michael
> > > >
> > > > >
> > > > > What should I do? Thank you.
> > > >
> > > > --
> > > > Michael Neumann
> > > > NTECS Consulting
> > > > www.ntecs.de
> > > >
> >
> >
> >
> > --
> > Michael Neumann
> > NTECS Consulting
> > www.ntecs.de
> >
--
Michael Neumann
NTECS Consulting
www.ntecs.de
More information about the Users
mailing list