Jekyll install

Hello,

Can someone help me with installing Jekyll on Haiku ? I do not understand what development tools i am missing? Ruby and ruby_devel packages are installed.

~> export PATH=$PATH:/boot/home/.gem/ruby/2.7.0/bin
~> gem install --user-install jekyll
Building native extensions. This could take a while...
ERROR:  Error installing jekyll:
        ERROR: Failed to build gem native extension.

    current directory: /boot/home/.gem/ruby/2.7.0/gems/eventmachine-1.2.7/ext
/boot/system/bin/ruby -I /boot/system/lib/ruby/2.7.0 -r ./siteconf20220206-1141-uhtep1.rb extconf.rb
*** 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
        --without-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=/boot/system/bin/$(RUBY_BASE_NAME)
        --with-ssl-dir
        --without-ssl-dir
        --with-ssl-include
        --without-ssl-include=${ssl-dir}/include
        --with-ssl-lib
        --without-ssl-lib=${ssl-dir}/lib
        --with-openssl-config
        --without-openssl-config
        --with-pkg-config
        --without-pkg-config
/boot/system/lib/ruby/2.7.0/mkmf.rb:471:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
        from /boot/system/lib/ruby/2.7.0/mkmf.rb:564:in `try_link0'
        from /boot/system/lib/ruby/2.7.0/mkmf.rb:582:in `try_link'
        from /boot/system/lib/ruby/2.7.0/mkmf.rb:684:in `try_ldflags'
        from /boot/system/lib/ruby/2.7.0/mkmf.rb:1851:in `pkg_config'
        from extconf.rb:65:in `pkg_config_wrapper'
        from extconf.rb:92:in `<main>'

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

  /boot/home/.gem/ruby/2.7.0/extensions/x86_64-unknown/2.7.0/eventmachine-1.2.7/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /boot/home/.gem/ruby/2.7.0/gems/eventmachine-1.2.7 for inspection.
Results logged to /boot/home/.gem/ruby/2.7.0/extensions/x86_64-unknown/2.7.0/eventmachine-1.2.7/gem_make.out

~> cat /boot/home/.gem/ruby/2.7.0/extensions/x86_64-unknown/2.7.0/eventmachine-1.2.7/mkmf.log
"gcc -o conftest -I/packages/ruby-2.7.4-3/.self/develop/headers/ruby-2.7.0/x86_64-haiku -I/packages/ruby-2.7.4-3/.self/develop/headers/ruby-2.7.0/ruby/backward -I/packages/ruby-2.7.4-3/.self/develop/headers/ruby-2.7.0 -I. -D_BSD_SOURCE -fPIC conftest.c -L. -L/boot/system/lib -Wl,-rpath,/boot/system/lib -L. -fstack-protector-strong -Wl,-export-dynamic -Wl,-rpath,/boot/system/lib -L/boot/system/lib -lruby "
In file included from /packages/ruby-2.7.4-3/.self/develop/headers/ruby-2.7.0/ruby/ruby.h:29,
from /packages/ruby-2.7.4-3/.self/develop/headers/ruby-2.7.0/ruby.h:33,
from conftest.c:1:
/packages/ruby-2.7.4-3/.self/develop/headers/ruby-2.7.0/ruby/defines.h:126:10: fatal error: stdio.h: No such file or directory
126 | #include <stdio.h>
| ^~~~~~~~~
compilation terminated.
checked program was:
/* begin */
1: #include “ruby.h”
2:
3: int main(int argc, char *argv)
4: {
5: return !!argv[argc];
6: }
/
end */

“pkg-config --exists openssl”
| pkg-config --libs openssl
=> “-L/packages/openssl-1.1.1m-1/.self/develop/lib -lssl -lcrypto\n”

It installed fine for me on a nightly x86_64 build of Haiku. Do you have the gcc_syslibs_devel package installed?

Yes, gcc_syslibs_devel installed.

Hmmm, I thought that would have fixed it. If you run query -a name=stdio.h do you see the files?

/boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/11.2.0/include/ssp/stdio.h
/boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/11.2.0/include/c++/tr1/stdio.h
/boot/system/develop/headers/gcc/include/ssp/stdio.h
/boot/system/develop/headers/c++/tr1/stdio.h
/boot/system/develop/headers/bsd/stdio.h
/boot/system/develop/headers/private/kernel/boot/stdio.h
/boot/system/develop/headers/posix/stdio.h

~> query -a name=stdio.h
/boot/system/system/develop/headers/wine/msvcrt/stdio.h
/boot/trash/develop/headers/wine/msvcrt/stdio.h
/boot/home/Downloads/wine-1.4/include/msvcrt/stdio.h
/boot/home/Downloads/wine-6.23/include/msvcrt/stdio.h
/boot/home/buildtools/gcc/fixincludes/tests/base/stdio.h
/boot/home/buildtools/gcc/libssp/ssp/stdio.h
/boot/home/buildtools/gcc/fixincludes/tests/base/rtldef/stdio.h
/boot/home/buildtools/gcc/libstdc+±v3/include/c_compatibility/stdio.h
/boot/home/buildtools/gcc/libstdc+±v3/include/tr1/stdio.h
/boot/home/buildtools/legacy/gcc/libio/dbz/stdio.h
/boot/home/buildtools/legacy/gcc/libio/stdio/stdio.h
/boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/11.2.0/include/ssp/stdio.h
/boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/11.2.0/include/c++/tr1/stdio.h
/boot/system/develop/headers/gcc/include/ssp/stdio.h
/boot/system/develop/headers/c++/tr1/stdio.h
/boot/system/develop/headers/wine/msvcrt/stdio.h

Seems like you’re missing files from the haiku_devel package. I’m surprised that it’s not installed.

1 Like

Oh, lol :smiley: i was missing the whole haiku_devel package. Thanks for your help.

2 Likes