GR.jl icon indicating copy to clipboard operation
GR.jl copied to clipboard

GR build error on FreeBSD

Open RobvanW opened this issue 5 years ago • 3 comments

Hi,

It seems the main error is that the BDS binary does not exist. Is it a source error or does the binary really not exist?

Building GR → `~/.julia/packages/GR/f1Iqi/deps/build.log`
┌ Error: Error building `GR`:
│ tar: Error opening archive: Failed to open 'downloads/gr-0.42.0-FreeBSD-x86_64.tar.gz'
│ [ Info: Downloading pre-compiled GR 0.42.0 FreeBSD binary
┌ Error: Download failed: curl: (22) The requested URL returned error: 404 Not Found

versioninfo() Julia Version 1.2.0 Commit c6da87ff4b (2019-08-20 00:03 UTC) Platform Info: OS: FreeBSD (x86_64-unknown-freebsd11.2) CPU: Intel(R) Xeon(R) CPU E5-1620 0 @ 3.60GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-6.0.1 (ORCJIT, sandybridge)

RobvanW avatar Nov 01 '19 13:11 RobvanW

We don't provide binaries for FreeBSD. You will have to build gr from source and install it in /usr/local or in your home directory. Please refer to the GR documentation for further information.

jheinen avatar Nov 05 '19 08:11 jheinen

Building on FreeBSD 12.1 is easy. Here is what I did:

  1. Get gr-master.zip from https://github.com/sciapp/gr

  2. cd ~/build unzip -q ../Downloads/gr-master.zip

  3. Edit lib/Preflight: a) #!/usr/local/bin/bash b) if [ -f /usr/local/bin/python3.7 ]

  4. Edit Makefile:

GRDIR = /opt/gr CONFIG = xft=no

UNAME := $(shell uname)

  1. Edit gr-master/lib/gr3/gr3_internals.h:

#elif defined(linux) || defined(FreeBSD) /* OpenGL Extension to the X Window System (GLX) on Linux */ #define GR3_USE_GLX #include "gr3_glx.h" #elif defined(_WIN32)

  1. make

  2. sudo gmake install

  3. In julia,

    ENV["GRDIR"] = "/opt/gr" ] add GR

ko56 avatar Feb 10 '20 22:02 ko56

I find this to not work on

# uname -a 
FreeBSD 12.2-Stable r366737 GENERIC amd64

I don't see the point of 3). In the mean time, It looks like the 4) was merged in v0.51.0 For the rest, I have to run gmake to get anywhere. make breaks on the Makefile syntax (line 67).

I my case, the gmake Makedefs does not find much.

#gmake Makedefs

Building GR Framework
---------------------
           C: yes [FreeBSD clang version 10.0.1 ([email protected]:llvm/llvm-project.git llvmorg-10.0.1-0-gef32c611aa2)]
         C++: yes [FreeBSD clang version 10.0.1 ([email protected]:llvm/llvm-project.git llvmorg-10.0.1-0-gef32c611aa2)]
      Python:  no [not found]
       LaTeX: yes [version 3.14159265-2.6-1.40.16]
      dvipng: yes [version 1.15]
         Qt4:  no [Qt4 API not found]
         Qt5: yes [version 5.15.0]
   wxWidgets:  no [wx-config not found]
        GTK+: yes [version 2.24.32]
         X11:  no [X11 API not found]
         Xft:  no [disabled]
 Ghostscript:  no [GS API not found]
        GLFW:  no [GLFW 3.x API not found]
      OpenGL:  no [OpenGL API not found]
         0MQ:  no [0MQ 3.x API not found]
      ffmpeg:  no [required APIs not found]
       Cairo:  no [Cairo not found]
     libtiff:  no [libtiff not found]

I can manually tell it where things are. Eg. to find python go to lib/Preflight:94 and the 3.7 after python and so on. Which, for obvious reasons, is not a great solution.

Any ideas what could have broken it and how to conveniently unbreak the (g)make?

Jona-Engel avatar Oct 20 '20 15:10 Jona-Engel