cannot load such file: lib/whatweb
blshkv opened this issue · comments
I'm trying to push the latest version 0.5 to Pentoo and facing this problem.
I have installed the tool using the standard "make install" function and got the following structure:
/usr/bin/whatweb
/usr/share/whatweb/*
```
However, it fails to start with the following message:
```
/usr/lib64/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- lib/whatweb (LoadError)
from /usr/lib64/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /usr/bin/whatweb:37:in `<main>'
```
FYI: the previous version used to have the following loader:
```
## set up load paths - must be before loading lib/ files
# add the directory of the file currently being executed to the load path
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) unless
$:.include?(File.dirname(__FILE__)) || $LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))
$LOAD_PATH << "/usr/share/whatweb/"
```
I think symlink should be supported as in previous version too. Because I just link whatweb to my bin folder instead of run make install
.
There is a PR for this issue #282
yes, I guess make install
should just create a symlink after you patch. That would be the proper fix.
something is broken. Please re-open this bug
install -p -D -m 644 whatweb.1 /var/tmp/portage/net-analyzer/whatweb-0.5.1/image/usr/share/man/man1/whatweb.1
gzip -f /var/tmp/portage/net-analyzer/whatweb-0.5.1/image/usr/share/man/man1/whatweb.1
install -d /var/tmp/portage/net-analyzer/whatweb-0.5.1/image/usr/share/whatweb
install -d /var/tmp/portage/net-analyzer/whatweb-0.5.1/image/usr/share/doc/whatweb-0.5.1
# copy whatweb into LIBPATH/NAME/ and create a symbolic link in the BINPATH
install -p -D -m 755 whatweb /var/tmp/portage/net-analyzer/whatweb-0.5.1/image/usr/share/whatweb
ln -s /var/tmp/portage/net-analyzer/whatweb-0.5.1/image/usr/share/whatweb/whatweb /var/tmp/portage/net-analyzer/whatweb-0.5.1/image/usr/bin/whatweb
ln: failed to create symbolic link '/var/tmp/portage/net-analyzer/whatweb-0.5.1/image/usr/bin/whatweb': No such file or directory
ok, found it. You have to make sure that BINPATH exists before linking the binary:
https://github.com/urbanadventurer/WhatWeb/blob/master/Makefile#L30