asciidoctor / asciidoctor-mathematical

An extension for Asciidoctor that converts the content of STEM blocks and inline macros using Mathematical.
MIT License
50 stars 45 forks source link

installation failed on MacOS #81

Closed xu4wang closed 3 years ago

xu4wang commented 4 years ago

please find below the steps I followed:

I installed the dependencies first, and then gem install, it failed, I tried brew link gettext --force, still same error.

  650  brew install glib gdk-pixbuf cairo pango cmake
  651  cd ~/Library/Fonts
  652  ll
  653  curl -LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/cmex10.ttf      -LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/cmmi10.ttf      -LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/cmr10.ttf      -LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/cmsy10.ttf      -LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/esint10.ttf      -LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/eufm10.ttf      -LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/msam10.ttf      -LO http://mirrors.ctan.org/fonts/cm/ps-type1/bakoma/ttf/msbm10.ttf
  654  gem install asciidoctor-mathematical
  655  brew link gettext --force
  656  brew unlink gettext && brew link gettext
  657  gem install asciidoctor-mathematical

Please find below the error message for gem install.

WangXus-MacBook-Pro:Fonts wangxu$ gem install asciidoctor-mathematical
Building native extensions. This could take a while...
ERROR:  Error installing asciidoctor-mathematical:
    ERROR: Failed to build gem native extension.

    current directory: /Users/wangxu/.gem/ruby/2.7.0/gems/mathematical-1.6.13/ext/mathematical
/Users/wangxu/.rubies/ruby-2.7.0/bin/ruby -I /Users/wangxu/.rubies/ruby-2.7.0/lib/ruby/2.7.0 -r ./siteconf20200504-47590-1cgil0b.rb extconf.rb
checking for cmake... yes
checking for -lxml2... yes
checking for -lpangocairo-1.0... yes
checking for libxml/tree.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2... yes
checking for libxml/parser.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2... yes
checking for libxml/xpath.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2... yes
checking for libxml/xpathInternals.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2... yes
-- The C compiler identification is AppleClang 11.0.0.11000033
-- The CXX compiler identification is AppleClang 11.0.0.11000033
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found BISON: /usr/bin/bison (found version "2.3")
-- Found FLEX: /usr/bin/flex (found version "2.5.35")
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Found PythonInterp: /Users/wangxu/.pyenv/shims/python (found version "3.7.7")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/wangxu/.gem/ruby/2.7.0/gems/mathematical-1.6.13/ext/mathematical/mtex2MML/build
[ 10%] [FLEX][MTEX2MMLSCANNER] Building scanner with flex 2.5.35
[ 20%] [BISON][MTEX2MMLPARSER] Building parser with bison 2.3
conflicts: 5280 shift/reduce, 613 reduce/reduce
Scanning dependencies of target libmtex2MML_static
[ 30%] Building C object CMakeFiles/libmtex2MML_static.dir/src/colors.c.o
[ 40%] Building C object CMakeFiles/libmtex2MML_static.dir/src/em.c.o
[ 50%] Building C object CMakeFiles/libmtex2MML_static.dir/src/environment.c.o
[ 60%] Building C object CMakeFiles/libmtex2MML_static.dir/src/string_dup.c.o
[ 70%] Building C object CMakeFiles/libmtex2MML_static.dir/src/string_extras.c.o
[ 80%] Building C object CMakeFiles/libmtex2MML_static.dir/parser.c.o
/Users/wangxu/.gem/ruby/2.7.0/gems/mathematical-1.6.13/ext/mathematical/mtex2MML/src/parser.y:56:30: warning: unused parameter 'ret_str' [-Wunused-parameter]
 static void yyerror (char **ret_str, const char * s)
                             ^
/Users/wangxu/.gem/ruby/2.7.0/gems/mathematical-1.6.13/ext/mathematical/mtex2MML/src/parser.y:68:14: warning: unused function 'mtex2MML_default_write' [-Wunused-function]
 static void mtex2MML_default_write (const char * buffer, unsigned long length)
             ^
/Users/wangxu/.gem/ruby/2.7.0/gems/mathematical-1.6.13/ext/mathematical/mtex2MML/src/parser.y:79:14: warning: unused function 'mtex2MML_default_write_mathml' [-Wunused-function]
 static void mtex2MML_default_write_mathml (const char * mathml)
             ^
3 warnings generated.
[ 90%] Building C object CMakeFiles/libmtex2MML_static.dir/lexer.c.o
/Users/wangxu/.gem/ruby/2.7.0/gems/mathematical-1.6.13/ext/mathematical/mtex2MML/build/lexer.c:8203:16: warning: function 'input' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    static int input  (void)
               ^
1 warning generated.
[100%] Linking C static library libmtex2MML.a
[100%] Built target libmtex2MML_static
-- The C compiler identification is AppleClang 11.0.0.11000033
-- The CXX compiler identification is AppleClang 11.0.0.11000033
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2")
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.64.2
-- Checking for module 'cairo'
--   Found cairo, version 1.12.2
-- Checking for module 'pango'
--   Package 'pango' requires 'fontconfig >= 2.11.91' but version of fontconfig is 2.10.1
CMake Error at /usr/local/Cellar/cmake/3.17.2/share/cmake/Modules/FindPkgConfig.cmake:467 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.17.2/share/cmake/Modules/FindPkgConfig.cmake:647 (_pkg_check_modules_internal)
  CMakeLists.txt:43 (pkg_check_modules)

-- Configuring incomplete, errors occurred!
See also "/Users/wangxu/.gem/ruby/2.7.0/gems/mathematical-1.6.13/ext/mathematical/lasem/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found.  Stop.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/wangxu/.rubies/ruby-2.7.0/bin/$(RUBY_BASE_NAME)
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib
    --without-xml2-lib=${xml2-dir}/lib
    --with-xml2lib
    --without-xml2lib
    --with-pangocairo-1.0-dir
    --without-pangocairo-1.0-dir
    --with-pangocairo-1.0-include
    --without-pangocairo-1.0-include=${pangocairo-1.0-dir}/include
    --with-pangocairo-1.0-lib
    --without-pangocairo-1.0-lib=${pangocairo-1.0-dir}/lib
    --with-pangocairo-1.0lib
    --without-pangocairo-1.0lib
    --use-system-mtex2MML
    --use-system-lasem
/Users/wangxu/.rubies/ruby-2.7.0/lib/ruby/2.7.0/fileutils.rb:491:in `realpath': No such file or directory @ rb_check_realpath_internal - /Users/wangxu/.gem/ruby/2.7.0/gems/mathematical-1.6.13/ext/mathematical/lasem/build/liblasem.dylib (Errno::ENOENT)
    from /Users/wangxu/.rubies/ruby-2.7.0/lib/ruby/2.7.0/fileutils.rb:491:in `copy_entry'
    from /Users/wangxu/.rubies/ruby-2.7.0/lib/ruby/2.7.0/fileutils.rb:468:in `block in cp_r'
    from /Users/wangxu/.rubies/ruby-2.7.0/lib/ruby/2.7.0/fileutils.rb:1588:in `block in fu_each_src_dest'
    from /Users/wangxu/.rubies/ruby-2.7.0/lib/ruby/2.7.0/fileutils.rb:1602:in `fu_each_src_dest0'
    from /Users/wangxu/.rubies/ruby-2.7.0/lib/ruby/2.7.0/fileutils.rb:1586:in `fu_each_src_dest'
    from /Users/wangxu/.rubies/ruby-2.7.0/lib/ruby/2.7.0/fileutils.rb:467:in `cp_r'
    from extconf.rb:99:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/wangxu/.gem/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0-static/mathematical-1.6.13/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/wangxu/.gem/ruby/2.7.0/gems/mathematical-1.6.13 for inspection.
Results logged to /Users/wangxu/.gem/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0-static/mathematical-1.6.13/gem_make.out
WangXus-MacBook-Pro:Fonts wangxu$
ProgramFan commented 4 years ago

-- Package 'pango' requires 'fontconfig >= 2.11.91' but version of fontconfig is 2.10.1

xu4wang commented 4 years ago

Thanks @ProgramFan for your help.

I guess version 2.10.1 is the one came from the MacOS? brew has installed version 2.13.1 before.

WangXus-MacBook-Pro:~ wangxu$ brew install fontconfig

Updating Homebrew...
Warning: fontconfig 2.13.1 is already installed and up-to-date
To reinstall 2.13.1, run `brew reinstall fontconfig`
WangXus-MacBook-Pro:~ wangxu$

How shall I ask the installation script to use the fontconfig installed by brew ?

abelsromero commented 4 years ago

What's the status on MacOs compatiblity? We just had some conversation on the asciidoctor forum and it seems is not 100% reliable (no mean to ofense)? https://discuss.asciidoctor.org/asciidoctor-mathematical-fails-to-install-td8173.html#a8187

ProgramFan commented 4 years ago

I found out that mathematical-1.6.13 and asciidoctor-mathematical-0.3.4 compile on macOS Catalina. Here is the output:

$ gem install asciidoctor-mathematical
Building native extensions. This could take a while...
Successfully installed mathematical-1.6.13
Successfully installed asciimath-2.0.1
Successfully installed asciidoctor-mathematical-0.3.4
Parsing documentation for mathematical-1.6.13
Installing ri documentation for mathematical-1.6.13
Parsing documentation for asciimath-2.0.1
Installing ri documentation for asciimath-2.0.1
Parsing documentation for asciidoctor-mathematical-0.3.4
Installing ri documentation for asciidoctor-mathematical-0.3.4
Done installing documentation for mathematical, asciimath, asciidoctor-mathematical after 11 seconds
3 gems installed

Ruby is 2.7.1.

ProgramFan commented 4 years ago

I have gcc and clang installed by homebrew, though.

mojavelinux commented 3 years ago

I'm trying to get the installation to work on GitHub Actions and it's failing. It seems that there's an error in the C code that the default C compiler on macOS doesn't like.

 mathematical.c:104:5: error: implicit declaration of function
'mtex2MML_free_string' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
    mtex2MML_free_string(mathml);

I'll try to install gcc and clang with brew and see if that helps.

mojavelinux commented 3 years ago

Btw, I'm working on getting GitHub Actions set up so we can actually test this gem on Linux (Ubuntu), macOS, and maybe one day Windows. The first step is to just get it to install the gem. After that, we really need to get some tests in place because right now this gem is completely untested.

mojavelinux commented 3 years ago

I'm sorry to say, but this gem just cannot be installed on macOS because of compile errors in mathematical. We need to stop recommending it to macOS users until this problem can be resolved because we are wasting peoples' time.

We cannot recommend this gem for macOS users until the macos-latest job in the CI workflow can be run successfully.

timothypratley commented 3 years ago

This works now (as of mathematical 1.6.14), so please close this issue :)

mojavelinux commented 3 years ago

I'm not going to accept that this works until the CI job is passing. Otherwise, we have no way to verify it. I'm looking for someone who is willing to update the CI workflow to run on macOS. See https://github.com/asciidoctor/asciidoctor-mathematical/blob/master/.github/workflows/ci.yml

mojavelinux commented 3 years ago

The CI job is passing! Thanks @tstumm!

elisa-riscv commented 3 years ago

Glad that the CI job is passing. I upgraded my Mac to Big Sur (11.4) and upgraded the command line tools. I also checked the listed dependencies. The gem still doesn't install.

It appears that there is some sort of problem with glib, and glib2.0 is mentioned. I found some discussion about glib2.0 on stack overflow, and a few days ago, before I upgraded to Big Sur, I fiddled with file locations to try to get asciidoctor-mathematical to work.

Here are the error messages:

storycraft$ gem install asciidoctor-mathematical Building native extensions. This could take a while... ERROR: Error installing asciidoctor-mathematical: ERROR: Failed to build gem native extension.

current directory: /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical

/Users/storycraft/.rvm/rubies/ruby-2.7.2/bin/ruby -I /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0 -r ./siteconf20210614-6732-u6bpa4.rb extconf.rb checking for cmake... yes checking for -lxml2... yes checking for -lpangocairo-1.0... yes checking for libxml/tree.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes checking for libxml/parser.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes checking for libxml/xpath.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes checking for libxml/xpathInternals.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes -- The C compiler identification is AppleClang 12.0.5.12050022 -- The CXX compiler identification is AppleClang 12.0.5.12050022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Deprecation Warning at CMakeLists.txt:19 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- Found BISON: /usr/bin/bison (found version "2.3") -- Found FLEX: /usr/local/opt/flex/bin/flex (found version "2.6.4") -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success -- Found PythonInterp: /usr/bin/python (found version "2.7.16") -- Configuring done -- Generating done -- Build files have been written to: /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/build [ 10%] [BISON][MTEX2MMLPARSER] Building parser with bison 2.3 conflicts: 5280 shift/reduce, 613 reduce/reduce [ 20%] [FLEX][MTEX2MMLSCANNER] Building scanner with flex 2.6.4 [ 30%] Building C object CMakeFiles/libmtex2MML_static.dir/src/colors.c.o [ 40%] Building C object CMakeFiles/libmtex2MML_static.dir/src/em.c.o [ 50%] Building C object CMakeFiles/libmtex2MML_static.dir/src/environment.c.o [ 60%] Building C object CMakeFiles/libmtex2MML_static.dir/src/string_dup.c.o [ 70%] Building C object CMakeFiles/libmtex2MML_static.dir/src/string_extras.c.o [ 80%] Building C object CMakeFiles/libmtex2MML_static.dir/parser.c.o /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:56:30: warning: unused parameter 'ret_str' [-Wunused-parameter] static void yyerror (char *ret_str, const char s) ^ /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:3507:12: warning: cast to smaller integer type 'encaseType' from 'encaseType ' [-Wpointer-to-enum-cast] encase = (encaseType) encase_pointer; ^~~~~~~ /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:68:14: warning: unused function 'mtex2MML_default_write' [-Wunused-function] static void mtex2MML_default_write (const char buffer, unsigned long length) ^ /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:79:14: warning: unused function 'mtex2MML_default_write_mathml' [-Wunused-function] static void mtex2MML_default_write_mathml (const char * mathml) ^ 4 warnings generated. [ 90%] Building C object CMakeFiles/libmtex2MML_static.dir/lexer.c.o /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/build/lexer.c:8455:16: warning: function 'input' is not needed and will not be emitted [-Wunneeded-internal-declaration] static int input (void) ^ 1 warning generated. [100%] Linking C static library libmtex2MML.a [100%] Built target libmtex2MML_static -- The C compiler identification is AppleClang 12.0.5.12050022 -- The CXX compiler identification is AppleClang 12.0.5.12050022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Deprecation Warning at CMakeLists.txt:8 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- Found PkgConfig: /opt/local/bin/pkg-config (found version "0.29.1") -- Checking for module 'glib-2.0' -- No package 'glib-2.0' found CMake Error at /Applications/CMake.app/Contents/share/cmake-3.20/Modules/FindPkgConfig.cmake:556 (message): A required package was not found Call Stack (most recent call first): /Applications/CMake.app/Contents/share/cmake-3.20/Modules/FindPkgConfig.cmake:778 (_pkg_check_modules_internal) CMakeLists.txt:41 (pkg_check_modules)

-- Configuring incomplete, errors occurred! See also "/Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/lasem/build/CMakeFiles/CMakeOutput.log". See also "/Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/lasem/build/CMakeFiles/CMakeError.log". make: No targets specified and no makefile found. Stop. extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.

Provided configuration options: --with-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/storycraft/.rvm/rubies/ruby-2.7.2/bin/$(RUBY_BASE_NAME) --with-xml2-dir --without-xml2-dir --with-xml2-include --without-xml2-include=${xml2-dir}/include --with-xml2-lib --without-xml2-lib=${xml2-dir}/lib --with-xml2lib --without-xml2lib --with-pangocairo-1.0-dir --without-pangocairo-1.0-dir --with-pangocairo-1.0-include --without-pangocairo-1.0-include=${pangocairo-1.0-dir}/include --with-pangocairo-1.0-lib --without-pangocairo-1.0-lib=${pangocairo-1.0-dir}/lib --with-pangocairo-1.0lib --without-pangocairo-1.0lib --use-system-mtex2MML --use-system-lasem /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:491:in realpath': No such file or directory @ rb_check_realpath_internal - /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/lasem/build/liblasem.dylib (Errno::ENOENT) from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:491:incopy_entry' from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:468:in block in cp_r' from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1589:inblock in fu_each_src_dest' from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1603:in fu_each_src_dest0' from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1587:infu_each_src_dest' from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:467:in cp_r' from extconf.rb:99:in

'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Users/storycraft/.rvm/gems/ruby-2.7.2/extensions/x86_64-darwin-18/2.7.0/mathematical-1.6.14/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14 for inspection. Results logged to /Users/storycraft/.rvm/gems/ruby-2.7.2/extensions/x86_64-darwin-18/2.7.0/mathematical-1.6.14/gem_make.out

abelsromero commented 3 years ago

Seems to me some dependencies are missing. Did you install them like described in the CI script first with homebrew brew install cairo gdk-pixbuf pango ?

mojavelinux commented 3 years ago

Here's the problem you're running into:

No package 'glib-2.0' found

It looks like you are missing the development libraries. This is typically installed on CI serves, but may not be on a fresh macOS installation. This should do it:

brew install glib
elisa-riscv commented 3 years ago

Re-installing all of the required dependencies is the first thing that I tried (a few times in a few different ways) before posting here. Although glib is already installed, I also tried explicitly brew install glib-2.0 and got the following:

==> Searching for similarly named formulae... Error: No similarly named formulae found. Error: No available formula or cask with the name "glib-2.0". ==> Searching for a previously deleted formula (in the last month)... Error: No previously deleted formula found. ==> Searching taps on GitHub... Error: No formulae found in taps.

I also ran softwareupdate -ai and brew cleanup in case either of those would help.

Questions:

Please provide details...it looks like we are almost there. Meanwhile I am reinstalling the developer tools in case it gives me a more recent version.

This is what happens (the error from the attempted install of asciidoctor-mathematical is as above):

storycraft$ brew install glib Updating Homebrew... ==> Auto-updated Homebrew! Updated 2 taps (homebrew/core and homebrew/cask). ==> Updated Formulae Updated 28 formulae. ==> Updated Casks Updated 13 casks. ==> Deleted Casks mapillary-uploader

Warning: glib 2.68.3 is already installed and up-to-date. To reinstall 2.68.3, run: brew reinstall glib

Elisas-MacBook-Pro:~ storycraft$ brew reinstall glib ==> Downloading https://ghcr.io/v2/homebrew/core/glib/manifests/2.68.3 Already downloaded: /Users/storycraft/Library/Caches/Homebrew/downloads/ffc6ef2585b8ffd283739e262fefe4893bb3c9f4ca48394eba5f08077d05d536--glib-2.68.3.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/glib/blobs/sha256:ebfa4f4aa16221f88df0259b2468c23a43d86a0 Already downloaded: /Users/storycraft/Library/Caches/Homebrew/downloads/1ce073ccb1f53a48411adfc9831d136ebd564381f2f9fda46b43661c98d810a6--glib--2.68.3.big_sur.bottle.tar.gz ==> Reinstalling glib ==> Pouring glib--2.68.3.big_sur.bottle.tar.gz 🍺 /usr/local/Cellar/glib/2.68.3: 442 files, 21MB

abelsromero commented 3 years ago

I run the installation in a BigSur machine with the brew dependencies and it worked fine, so there's a light at the end.

About the error, I think you posted the wrong log, what do you get now when installing asciidoctor-mathematical

elisa-riscv commented 3 years ago

Here's the output asciidoctor-mathematical attempted install:

storycraft$ gem install asciidoctor-mathematical Building native extensions. This could take a while... ERROR: Error installing asciidoctor-mathematical: ERROR: Failed to build gem native extension.

current directory: /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical

/Users/storycraft/.rvm/rubies/ruby-2.7.2/bin/ruby -I /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0 -r ./siteconf20210615-21353-mnrpsb.rb extconf.rb checking for cmake... yes checking for -lxml2... yes checking for -lpangocairo-1.0... yes checking for libxml/tree.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes checking for libxml/parser.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes checking for libxml/xpath.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes checking for libxml/xpathInternals.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes -- The C compiler identification is AppleClang 12.0.5.12050022 -- The CXX compiler identification is AppleClang 12.0.5.12050022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/clang - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/clang++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Deprecation Warning at CMakeLists.txt:19 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- Found BISON: /usr/bin/bison (found version "2.3") -- Found FLEX: /usr/local/opt/flex/bin/flex (found version "2.6.4") -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success -- Found PythonInterp: /usr/bin/python (found version "2.7.16") -- Configuring done -- Generating done -- Build files have been written to: /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/build [ 10%] [BISON][MTEX2MMLPARSER] Building parser with bison 2.3 conflicts: 5280 shift/reduce, 613 reduce/reduce [ 20%] [FLEX][MTEX2MMLSCANNER] Building scanner with flex 2.6.4 [ 30%] Building C object CMakeFiles/libmtex2MML_static.dir/src/colors.c.o [ 40%] Building C object CMakeFiles/libmtex2MML_static.dir/src/em.c.o [ 50%] Building C object CMakeFiles/libmtex2MML_static.dir/src/environment.c.o [ 60%] Building C object CMakeFiles/libmtex2MML_static.dir/src/string_dup.c.o [ 70%] Building C object CMakeFiles/libmtex2MML_static.dir/src/string_extras.c.o [ 80%] Building C object CMakeFiles/libmtex2MML_static.dir/parser.c.o /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:56:30: warning: unused parameter 'ret_str' [-Wunused-parameter] static void yyerror (char *ret_str, const char s) ^ /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:3507:12: warning: cast to smaller integer type 'encaseType' from 'encaseType ' [-Wpointer-to-enum-cast] encase = (encaseType) encase_pointer; ^~~~~~~ /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:68:14: warning: unused function 'mtex2MML_default_write' [-Wunused-function] static void mtex2MML_default_write (const char buffer, unsigned long length) ^ /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:79:14: warning: unused function 'mtex2MML_default_write_mathml' [-Wunused-function] static void mtex2MML_default_write_mathml (const char * mathml) ^ 4 warnings generated. [ 90%] Building C object CMakeFiles/libmtex2MML_static.dir/lexer.c.o /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/build/lexer.c:8455:16: warning: function 'input' is not needed and will not be emitted [-Wunneeded-internal-declaration] static int input (void) ^ 1 warning generated. [100%] Linking C static library libmtex2MML.a [100%] Built target libmtex2MML_static -- The C compiler identification is AppleClang 12.0.5.12050022 -- The CXX compiler identification is AppleClang 12.0.5.12050022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/clang - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/clang++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Deprecation Warning at CMakeLists.txt:8 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- Found PkgConfig: /opt/local/bin/pkg-config (found version "0.29.1") -- Checking for module 'glib-2.0' -- No package 'glib-2.0' found CMake Error at /Applications/CMake.app/Contents/share/cmake-3.20/Modules/FindPkgConfig.cmake:556 (message): A required package was not found Call Stack (most recent call first): /Applications/CMake.app/Contents/share/cmake-3.20/Modules/FindPkgConfig.cmake:778 (_pkg_check_modules_internal) CMakeLists.txt:41 (pkg_check_modules)

-- Configuring incomplete, errors occurred! See also "/Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/lasem/build/CMakeFiles/CMakeOutput.log". See also "/Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/lasem/build/CMakeFiles/CMakeError.log". make: No targets specified and no makefile found. Stop. extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.

Provided configuration options: --with-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/storycraft/.rvm/rubies/ruby-2.7.2/bin/$(RUBY_BASE_NAME) --with-xml2-dir --without-xml2-dir --with-xml2-include --without-xml2-include=${xml2-dir}/include --with-xml2-lib --without-xml2-lib=${xml2-dir}/lib --with-xml2lib --without-xml2lib --with-pangocairo-1.0-dir --without-pangocairo-1.0-dir --with-pangocairo-1.0-include --without-pangocairo-1.0-include=${pangocairo-1.0-dir}/include --with-pangocairo-1.0-lib --without-pangocairo-1.0-lib=${pangocairo-1.0-dir}/lib --with-pangocairo-1.0lib --without-pangocairo-1.0lib --use-system-mtex2MML --use-system-lasem /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:491:in realpath': No such file or directory @ rb_check_realpath_internal - /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14/ext/mathematical/lasem/build/liblasem.dylib (Errno::ENOENT) from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:491:incopy_entry' from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:468:in block in cp_r' from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1589:inblock in fu_each_src_dest' from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1603:in fu_each_src_dest0' from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1587:infu_each_src_dest' from /Users/storycraft/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:467:in cp_r' from extconf.rb:99:in

'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Users/storycraft/.rvm/gems/ruby-2.7.2/extensions/x86_64-darwin-18/2.7.0/mathematical-1.6.14/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/storycraft/.rvm/gems/ruby-2.7.2/gems/mathematical-1.6.14 for inspection. Results logged to /Users/storycraft/.rvm/gems/ruby-2.7.2/extensions/x86_64-darwin-18/2.7.0/mathematical-1.6.14/gem_make.out

abelsromero commented 3 years ago

I could reproduce the same issue a couple of time when I was missing gdk-pixbuf package. I was using rvm remove|install ryby-2.7 which should provide a clean envionment and then, using brew install|unistall gdk-pixbuf && brew autoremove to test.

After making sure cairo gdk-pixbuf pango are installed it works fine to me, in Ruby 2.7.2 & 2.5.2.

Only thing I see is that I am using cmake 3.20.4, and yours is 3.17.2. If you installed with brew run brew upgrade cmake.

elisa-riscv commented 3 years ago

I have cmake 3.20 installed now. I reinstalled ruby-2.7.2 and also tried 2.5.2. I have gdk-pixbuf 2.42.6 and glib version 2.68.3.

Still getting errors (this is ruby-2.5.2 for comparison):

storycraft$ rvm use 2.5.2 Using /Users/storycraft/.rvm/gems/ruby-2.5.2 Elisas-MacBook-Pro:~ storycraft$ gem install asciidoctor-mathematical Fetching mathematical-1.6.14.gem Fetching asciimath-2.0.2.gem Fetching ruby-enum-0.9.0.gem Fetching concurrent-ruby-1.1.9.gem Fetching asciidoctor-mathematical-0.3.5.gem Fetching asciidoctor-2.0.15.gem Fetching i18n-1.8.10.gem Successfully installed concurrent-ruby-1.1.9 Successfully installed i18n-1.8.10 Successfully installed ruby-enum-0.9.0 Building native extensions. This could take a while... ERROR: Error installing asciidoctor-mathematical: ERROR: Failed to build gem native extension.

current directory: /Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14/ext/mathematical

/Users/storycraft/.rvm/rubies/ruby-2.5.2/bin/ruby -I /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/site_ruby/2.5.0 -r ./siteconf20210615-3816-nhl5a5.rb extconf.rb checking for cmake... yes checking for -lxml2... yes checking for -lpangocairo-1.0... yes checking for libxml/tree.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes checking for libxml/parser.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes checking for libxml/xpath.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes checking for libxml/xpathInternals.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... yes -- The C compiler identification is AppleClang 12.0.5.12050022 -- The CXX compiler identification is AppleClang 12.0.5.12050022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/clang - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/clang++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Deprecation Warning at CMakeLists.txt:19 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- Found BISON: /usr/bin/bison (found version "2.3") -- Found FLEX: /usr/local/opt/flex/bin/flex (found version "2.6.4") -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success -- Found PythonInterp: /usr/bin/python (found version "2.7.16") -- Configuring done -- Generating done -- Build files have been written to: /Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/build [ 10%] [BISON][MTEX2MMLPARSER] Building parser with bison 2.3 conflicts: 5280 shift/reduce, 613 reduce/reduce [ 20%] [FLEX][MTEX2MMLSCANNER] Building scanner with flex 2.6.4 [ 30%] Building C object CMakeFiles/libmtex2MML_static.dir/src/colors.c.o [ 40%] Building C object CMakeFiles/libmtex2MML_static.dir/src/em.c.o [ 50%] Building C object CMakeFiles/libmtex2MML_static.dir/src/environment.c.o [ 60%] Building C object CMakeFiles/libmtex2MML_static.dir/src/string_dup.c.o [ 70%] Building C object CMakeFiles/libmtex2MML_static.dir/src/string_extras.c.o [ 80%] Building C object CMakeFiles/libmtex2MML_static.dir/parser.c.o /Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:56:30: warning: unused parameter 'ret_str' [-Wunused-parameter] static void yyerror (char *ret_str, const char s) ^ /Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:3507:12: warning: cast to smaller integer type 'encaseType' from 'encaseType ' [-Wpointer-to-enum-cast] encase = (encaseType) encase_pointer; ^~~~~~~ /Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:68:14: warning: unused function 'mtex2MML_default_write' [-Wunused-function] static void mtex2MML_default_write (const char buffer, unsigned long length) ^ /Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/src/parser.y:79:14: warning: unused function 'mtex2MML_default_write_mathml' [-Wunused-function] static void mtex2MML_default_write_mathml (const char * mathml) ^ 4 warnings generated. [ 90%] Building C object CMakeFiles/libmtex2MML_static.dir/lexer.c.o /Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14/ext/mathematical/mtex2MML/build/lexer.c:8455:16: warning: function 'input' is not needed and will not be emitted [-Wunneeded-internal-declaration] static int input (void) ^ 1 warning generated. [100%] Linking C static library libmtex2MML.a [100%] Built target libmtex2MML_static -- The C compiler identification is AppleClang 12.0.5.12050022 -- The CXX compiler identification is AppleClang 12.0.5.12050022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/clang - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/clang++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Deprecation Warning at CMakeLists.txt:8 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

-- Found PkgConfig: /opt/local/bin/pkg-config (found version "0.29.1") -- Checking for module 'glib-2.0' -- No package 'glib-2.0' found CMake Error at /Applications/CMake.app/Contents/share/cmake-3.20/Modules/FindPkgConfig.cmake:556 (message): A required package was not found Call Stack (most recent call first): /Applications/CMake.app/Contents/share/cmake-3.20/Modules/FindPkgConfig.cmake:778 (_pkg_check_modules_internal) CMakeLists.txt:41 (pkg_check_modules)

-- Configuring incomplete, errors occurred! See also "/Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14/ext/mathematical/lasem/build/CMakeFiles/CMakeOutput.log". See also "/Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14/ext/mathematical/lasem/build/CMakeFiles/CMakeError.log". make: No targets specified and no makefile found. Stop. extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.

Provided configuration options: --with-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/storycraft/.rvm/rubies/ruby-2.5.2/bin/$(RUBY_BASE_NAME) --with-xml2lib --without-xml2lib --with-pangocairo-1.0lib --without-pangocairo-1.0lib --use-system-mtex2MML --use-system-lasem /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:1227:in stat': No such file or directory @ rb_file_s_stat - /Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14/ext/mathematical/lasem/build/liblasem.dylib (Errno::ENOENT) from /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:1227:inlstat' from /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:1256:in copy' from /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:418:inblock in copy_entry' from /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:1390:in wrap_traverse' from /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:415:incopy_entry' from /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:393:in block in cp_r' from /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:1463:inblock in fu_each_src_dest' from /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:1477:in fu_each_src_dest0' from /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:1461:infu_each_src_dest' from /Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:392:in cp_r' from extconf.rb:99:in

'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Users/storycraft/.rvm/gems/ruby-2.5.2/extensions/x86_64-darwin-20/2.5.0/mathematical-1.6.14/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/storycraft/.rvm/gems/ruby-2.5.2/gems/mathematical-1.6.14 for inspection. Results logged to /Users/storycraft/.rvm/gems/ruby-2.5.2/extensions/x86_64-darwin-20/2.5.0/mathematical-1.6.14/gem_make.out

elisa-riscv commented 3 years ago

Here is the contents of mkmf.log for ruby-2.7.2:

find_executable: checking for cmake... -------------------- yes


have_library: checking for -lxml2... -------------------- yes

"clang -o conftest -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/x86_64-darwin20 -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/backward -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0 -I. -I/usr/local/opt/icu4c/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/libksba/include -I/usr/local/opt/readline/include -I/usr/local/opt/zlib/include -I/usr/local/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -fno-common -pipe conftest.c -L. -L/Users/storycraft/.rvm/rubies/ruby-2.7.2/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/openssl@1.1/lib -L. -L/usr/local/opt/icu4c/lib -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/openssl@1.1/lib -lruby.2.7 " checked program was: / begin / 1: #include "ruby.h" 2: 3: int main(int argc, char *argv) 4: { 5: return !!argv[argc]; 6: } / end */

"clang -o conftest -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/x86_64-darwin20 -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/backward -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0 -I. -I/usr/local/opt/icu4c/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/libksba/include -I/usr/local/opt/readline/include -I/usr/local/opt/zlib/include -I/usr/local/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -fno-common -pipe conftest.c -L. -L/Users/storycraft/.rvm/rubies/ruby-2.7.2/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/openssl@1.1/lib -L. -L/usr/local/opt/icu4c/lib -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/openssl@1.1/lib -lruby.2.7 -lxml2 " checked program was: / begin / 1: #include "ruby.h" 2: 3: /top/ 4: extern int t(void); 5: int main(int argc, char *argv) 6: { 7: if (argc > 1000000) { 8: int ( volatile tp)(void)=(int ()(void))&t; 9: printf("%d", (tp)()); 10: } 11: 12: return !!argv[argc]; 13: } 14: 15: int t(void) { ; return 0; } / end /


have_library: checking for -lpangocairo-1.0... -------------------- yes

"clang -o conftest -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/x86_64-darwin20 -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/backward -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0 -I. -I/usr/local/opt/icu4c/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/libksba/include -I/usr/local/opt/readline/include -I/usr/local/opt/zlib/include -I/usr/local/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -fno-common -pipe conftest.c -L. -L/Users/storycraft/.rvm/rubies/ruby-2.7.2/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/openssl@1.1/lib -L. -L/usr/local/opt/icu4c/lib -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/openssl@1.1/lib -lxml2 -lruby.2.7 -lpangocairo-1.0 -lxml2 " checked program was: / begin / 1: #include "ruby.h" 2: 3: /top/ 4: extern int t(void); 5: int main(int argc, char *argv) 6: { 7: if (argc > 1000000) { 8: int ( volatile tp)(void)=(int ()(void))&t; 9: printf("%d", (tp)()); 10: } 11: 12: return !!argv[argc]; 13: } 14: 15: int t(void) { ; return 0; } / end /


find_header: checking for libxml/tree.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... -------------------- yes

"clang -E -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/x86_64-darwin20 -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/backward -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0 -I. -I/usr/local/opt/icu4c/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/libksba/include -I/usr/local/opt/readline/include -I/usr/local/opt/zlib/include -I/usr/local/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -fno-common -pipe conftest.c -o conftest.i" checked program was: / begin / 1: #include "ruby.h" 2: 3: #include <libxml/tree.h> / end /


find_header: checking for libxml/parser.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... -------------------- yes

"clang -E -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/x86_64-darwin20 -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/backward -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0 -I. -I/usr/local/opt/icu4c/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/libksba/include -I/usr/local/opt/readline/include -I/usr/local/opt/zlib/include -I/usr/local/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -fno-common -pipe conftest.c -o conftest.i" checked program was: / begin / 1: #include "ruby.h" 2: 3: #include <libxml/parser.h> / end /


find_header: checking for libxml/xpath.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... -------------------- yes

"clang -E -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/x86_64-darwin20 -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/backward -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0 -I. -I/usr/local/opt/icu4c/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/libksba/include -I/usr/local/opt/readline/include -I/usr/local/opt/zlib/include -I/usr/local/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -fno-common -pipe conftest.c -o conftest.i" checked program was: / begin / 1: #include "ruby.h" 2: 3: #include <libxml/xpath.h> / end /


find_header: checking for libxml/xpathInternals.h in /include/libxml2,/usr/include/libxml2,/usr/local/include/libxml2,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2... -------------------- yes

"clang -E -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/x86_64-darwin20 -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0/ruby/backward -I/Users/storycraft/.rvm/rubies/ruby-2.7.2/include/ruby-2.7.0 -I. -I/usr/local/opt/icu4c/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/libksba/include -I/usr/local/opt/readline/include -I/usr/local/opt/zlib/include -I/usr/local/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -fno-common -pipe conftest.c -o conftest.i" checked program was: / begin / 1: #include "ruby.h" 2: 3: #include <libxml/xpathInternals.h> / end /


abelsromero commented 3 years ago

I am out of ideas, maybe some PATH issue.

elisa-riscv commented 3 years ago

This is interesting. I'd forgotten to try brew autoremove and so I just tried it. Take a look, this probably has a clue, but I'm not a programmer and so don't know what that clue might be. I'll try re-installing some rereqs again:

storycraft$ brew autoremove ==> Uninstalling 6 unneeded formulae: gmp isl libmpc makedepend mpfr zstd Uninstalling /usr/local/Cellar/zstd/1.5.0... (31 files, 3.4MB) Uninstalling /usr/local/Cellar/isl/0.24... (73 files, 7MB) Uninstalling /usr/local/Cellar/makedepend/1.0.6... (8 files, 80.6KB) Uninstalling /usr/local/Cellar/libmpc/1.2.1... (13 files, 382.3KB) Uninstalling /usr/local/Cellar/mpfr/4.1.0... (29 files, 5.1MB) Uninstalling /usr/local/Cellar/gmp/6.2.1... (21 files, 3.2MB) Elisas-MacBook-Pro:~ storycraft$ gem install asciidoctor-mathematical dyld: Library not loaded: /usr/local/opt/gmp/lib/libgmp.10.dylib Referenced from: /Users/storycraft/.rvm/rubies/ruby-2.7.2/bin/ruby Reason: image not found

elisa-riscv commented 3 years ago

I tried fiddling with PATH variables. I am still getting the same error messages when I try to install asciidoctor-mathematical. As a tech writer I have seen other times when undocumented prerequisites have caused problems. There must be some difference between the dev tools on the CI and the command line tools that Apple provides for OSX, and I suspect that some developers install or configure whatever it is so routinely that it's hard to capture.

I know that you are out of ideas. I also have looked through various discussions on StackOverflow. I'm hoping that someone else will look at this and have a solution. We seem so close!

elisa-riscv commented 3 years ago

I found a useful command and perhaps with the location of the glib-2.0 from brew ls --verbose it might be possible to point properly to it, or place files in a location where asciidoctor-mathematical can find them. I suspect that some C developers use something other than brew to install clib.

Here is an example of output (there are many more files, this is just to show the pattern):

/usr/local/Cellar/glib/2.68.3/include/glib-2.0/glib-object.h /usr/local/Cellar/glib/2.68.3/include/glib-2.0/gobject/gparam.h /usr/local/Cellar/glib/2.68.3/include/glib-2.0/gobject/gparamspecs.h /usr/local/Cellar/glib/2.68.3/include/glib-2.0/gobject/gsignal.h /usr/local/Cellar/glib/2.68.3/include/glib-2.0/gobject/genums.h /usr/local/Cellar/glib/2.68.3/include/glib-2.0/gobject/gclosure.h /usr/local/Cellar/glib/2.68.3/include/glib-2.0/gobject/gvaluearray.h /usr/local/Cellar/glib/2.68.3/include/glib-2.0/gobject/gbinding.h /usr/local/Cellar/glib/2.68.3/include/glib-2.0/gobject/gtypeplugin.h /usr/local/Cellar/glib/2.68.3/include/glib-2.0/gobject/gobjectnotifyqueue.c ...

abelsromero commented 3 years ago

While is true the output shows No package 'glib-2.0' found I am not sure the problem is glib, I did some extra testing installing packages 1 by 1 (including indirect dependencies) to end up in the same File.realpath or File.stat errors. I could reproduce your case, in my machine, the issue was missing gdk-pixbuf.

/Users/storycraft/.rvm/rubies/ruby-2.5.2/lib/ruby/2.5.0/fileutils.rb:1227:in stat': No such file or directory

It seems there's some extra build step run from a Ruby script that misses a file, so I reproduced it with this spets.

  1. Unisntall by brew uninstall gdk-pixbuf and brew autoremove
    
    ~ >>> brew uninstall gdk-pixbuf
    Uninstalling /usr/local/Cellar/gdk-pixbuf/2.42.6... (147 files, 3.7MB)
    ~ >>> brew install gdk-pixbuf
    Updating Homebrew...
    ==> Auto-updated Homebrew!
    Updated 4 taps (pivotal-cf/om, homebrew/cask-versions, homebrew/core and homebrew/cask).
    ==> New Formulae
    rpg-cli
    ==> Updated Formulae
    Updated 49 formulae.
    ==> Updated Casks
    Updated 28 casks.

==> Downloading https://ghcr.io/v2/homebrew/core/gdk-pixbuf/manifests/2.42.6 Already downloaded: /Users/romeroab/Library/Caches/Homebrew/downloads/16a3551ac2a755ba07dc02954bf51bab7db8b7c1873955897e534c23bffcb4bb--gdk-pixbuf-2.42.6.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/gdk-pixbuf/blobs/sha256:f4cf795b20c84fb5074ceeeeaf7b1d22e164b7af13adb6d0b95e3655d867fd41 Already downloaded: /Users/romeroab/Library/Caches/Homebrew/downloads/35a29b6880a48f85b1c764d8791c4d06d3d6a0cddb9cb4225d7ae6d4ccc6bf45--gdk-pixbuf--2.42.6.big_sur.bottle.tar.gz ==> Pouring gdk-pixbuf--2.42.6.big_sur.bottle.tar.gz ==> /usr/local/Cellar/gdk-pixbuf/2.42.6/bin/gdk-pixbuf-query-loaders --update-cache 🍺 /usr/local/Cellar/gdk-pixbuf/2.42.6: 147 files, 3.7MB ~ >>> brew uninstall gdk-pixbuf Uninstalling /usr/local/Cellar/gdk-pixbuf/2.42.6... (147 files, 3.7MB) ~ >>> brew autoremove ==> Uninstalling 2 unneeded formulae: jpeg libtiff Uninstalling /usr/local/Cellar/libtiff/4.3.0... (249 files, 4.4MB) Uninstalling /usr/local/Cellar/jpeg/9d... (21 files, 954.0KB)

2. Installed brew indirect missing dependencies for `gdk-pixbuf` dependencies: `jpeg` `libtiff`. Already had cairo and pango. To be sure you can run `brew install gdk-pixbuf && brew uninstall gdk-pixbuf`, this will install the package and dependencies and then remove only the package leaving dependencies.
3. Clear Ruby 2.5 installation with `rvm remove 2.5` and `rvm install 2.5`
4. Modified `$HOME/.rvm/rubies/ruby-2.5.8/lib/ruby/2.5.0/fileutils.rb:1247` and added this from the line 1225. I know it's exagerated, but just to be sure to spot it. The first 2 lines (def ...) should be already there.
```ruby
    def lstat
      if dereference?
        puts "=========================="
        puts "=========================="
        puts "=========================="
        puts path()
        puts path()
        puts path()
  1. Run gem install asciidoctor-mathematica and then check the output. In my case, I say my trace several times, the latest
    ==========================
    ==========================
    ==========================
    /Users/---/.rvm/gems/ruby-2.5.8/gems/mathematical-1.6.14/ext/mathematical/lasem/build/liblasem.dylib
    /Users/---/.rvm/gems/ruby-2.5.8/gems/mathematical-1.6.14/ext/mathematical/lasem/build/liblasem.dylib
    /Users/---/.rvm/gems/ruby-2.5.8/gems/mathematical-1.6.14/ext/mathematical/lasem/build/liblasem.dylib

With that, at least in my case, the issue (I assume, take with caution 😅 ) is that the build requires "lib lasem" which is not available as binary and thus it compiles it. The compilation does not complete successfully because gdk-pixbuf is missing, but the process does not stop, it does continue and fails in the next step which is the Ruby part with expects to find liblasem.dylib in that specific path.

Could you try the same approach and see if you confirm if the error comes from missin liblasem.dylib?

elisa-riscv commented 3 years ago

Finally cleared some time to get back to this, and, yes, I got the same error:

==========================
==========================
==========================
/Users/storycraft/.rvm/gems/ruby-2.5.8/gems/mathematical-1.6.14/ext/mathematical/lasem/build /liblasem.dylib
/Users/storycraft/.rvm/gems/ruby-2.5.8/gems/mathematical-1.6.14/ext/mathematical/lasem/build/liblasem.dylib
/Users/storycraft/.rvm/gems/ruby-2.5.8/gems/mathematical-1.6.14/ext/mathematical/lasem/build/liblasem.dylib

I reinstalled gdk-pixbuf and still get that same error.

It would seem that liblasem then needs to be added at the expected location. I am unfamiliar with how to install it.

I hunted a bit for related information and found this: "The problem appears to have started with an include directory reorg in some version of MacOS 10.14.x and/or Xcode 10. There is a discussion in the Xcode 10 release notes. It's a weird problem because it only seems to affect users who installed Xcode and Mojave, including their upgrades, in a particular sequence." on https://ask.csdn.net/questions/4501830

abelsromero commented 3 years ago

Can't say I fully understand the issues described in the link, but at this point, the only thing I can offer is life support. If you want, reach me by DM in twitter and we can discuss a hangout/zoom, whatever is more confortable for you.

elisa-riscv commented 3 years ago

Thanks for the offer, I can see you on Twitter but it appears that you have turned off "direct messages from anyone." I am @elisawyer on Twitter and have seldom used Twitter at all. :-)

abelsromero commented 3 years ago

For the record, we could fix the issues and validate the CI process to install the gem on macOS in Elisa's machine doing some cleanup 🥳 Can't really confirm, but apparently after several OS updates some files had permissions messed up and we just needed to manually "sudo delete" some old ruby installations and reinstall with rvm.

elisa-riscv commented 3 years ago

Hearfelt thanks for the help!