ciel-lang / CIEL

CIEL Is an Extended Lisp. Scripting with batteries included.
http://ciel-lang.org
333 stars 16 forks source link

Issue installing jpeg-turbo through Quicklisp on Bodhi Linux #76

Open Jacobis9000 opened 1 week ago

Jacobis9000 commented 1 week ago

Encountered this error installing CIEL when Quicklisp attempted to install jpeg-turbo:

Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {100310F693}>
 with command ("cc" "-o"
               "/home/joe/.cache/common-lisp/sbcl-2.1.11.debian-linux-x64/home/joe/.quicklisp/dists/ultralisp/software/shamazmazum-jpeg-turbo-20201121072458/src/grovel__grovel-tmpNUMBOKIA.o"
               "-c" "-g" "-O2"
               "-ffile-prefix-map=/build/sbcl-rxgrSo/sbcl-2.1.11=."
               "-fstack-protector-strong" "-Wformat"
               "-Werror=format-security" "-g" "-Wall" "-Wundef"
               "-Wsign-compare" "-Wpointer-arith" "-O3"
               "-D_LARGEFILE_SOURCE" "-D_LARGEFILE64_SOURCE"
               "-D_FILE_OFFSET_BITS=64" "-Wunused-parameter"
               "-fno-omit-frame-pointer"
               "-momit-leaf-frame-pointer" "-fPIC"
               "-I/home/joe/.quicklisp/dists/quicklisp/software/cffi-20231021-git/"
               "/home/joe/.cache/common-lisp/sbcl-2.1.11.debian-linux-x64/home/joe/.quicklisp/dists/ultralisp/software/shamazmazum-jpeg-turbo-20201121072458/src/grovel__grovel.c")
 exited with error code 1
   [Condition of type CFFI-GROVEL:GROVEL-ERROR]

The issue was that turbojpeg.h was not located in /usr/local/include/ as specified in grovel.lisp in that repo:

ECTION>
                                     #<SB-MOP:EQL-SPECIALIZER :FIND-EXISTING>) in DEFMETHOD
/home/joe/.cache/common-lisp/sbcl-2.1.11.debian-linux-x64/home/joe/.quicklisp/dists/ultralisp/software/shamazmazum-jpeg-turbo-20201121072458/src/grovel__grovel.c:6:10: fatal error: turbojpeg.h: No such file or directory
    6 | #include <turbojpeg.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
/home/joe/.cache/common-lisp/sbcl-2.1.11.debian-linux-x64/home/joe/.quicklisp/dists/ultralisp/software/shamazmazum-jpeg-turbo-20201121072458/src/grovel__grovel.c:6:10: fatal error: turbojpeg.h: No such file or directory
    6 | #include <turbojpeg.h>
      |          ^~~~~~~~~~~~~
compilation terminated.

I have resolved this issue this way: The issue was that turbojpeg.h was not in /usr/local/include/ and that an additional Linux dependency was required: libturbojpeg0-dev (Bodhi Linux.) I created a file turbojpeg.h in /usr/local/include/ and copy pasted: https://github.com/libjpeg-turbo/libjpeg-turbo/blob/main/turbojpeg.h and then I installed the additional dependency after receiving an error requesting this dependency as an alternative. This resolved the issue and installation of CIEL could proceed.

This means that some users may require the additional dependency of libturbojpeg0-dev and possibly to manually insert turbojpeg.h into /usr/local/include/ at this point.

vindarel commented 1 week ago

Hi, are you on master? You normally don't need any jpeg-turbo library anymore to build CIEL. It was required for nodgui, which we removed (until we perhaps add nodgui/lite).