LumoSQL / lumosql

Official Github Mirror of the LumoSQL Database Project (https://lumosql.org/src/lumosql)
Other
178 stars 10 forks source link

Missing dependencies #1

Closed delaneyj closed 3 years ago

delaneyj commented 4 years ago

Trying to install and test benchmarks on a Ubuntu 20.04 server and follow instructions got.

Cannot load Method(sed): Can't locate Text/Glob.pm in @INC (you may need to install the Text::Glob module) (@INC contains: /usr/local/bin/../lib /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/local/share/perl/5.30.0/NotFork/Method/Sed.pm line 15, <$fh> line 4.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.30.0/NotFork/Method/Sed.pm line 15, <$fh> line 4.
Compilation failed in require at (eval 16) line 1, <$fh> line 4.
make: *** [Makefile:109: build/3.33.0] Error 1

Not having perl dev locally nor knowing how its package manager works found out that sudo apt-get install -y libtext-glob-perl let me get past this step allowing make to run.

When running make benchmark also missing was sudo apt install -y tclx.

Overall not too hard to get up and running but don't wait others to get dissuaded easily. I didn't see it in the docs but can you run 3.33.0+lmdb or it that coming later?

danshearer commented 4 years ago

G'day delaneyj,

Thanks.

(this is the first issue opened since deprecating Github to become a read-only mirror. Still working out the workflow, but ideally this issue would end up on https://lumosql.org/src/lumosql/rptview?rn=1 )

When I added the dependency warning regarding Test/Glob.pm I decided not to make it a hard exit using PREREQ_FATAL because the documentation for Makemake says:

It is extremely rare to have to use PREREQ_FATAL. Its use by module authors is strongly discouraged and should never be used lightly.

They recommend creating a "make test" instead, which can then print a warning and exit. So I'll look at doing that.

However the precise instructions for installing a perl module vary by operating system and we can't advise the user exactly how to do it.

Hope that helps,

Dan

danshearer commented 4 years ago

When running make benchmark also missing was sudo apt install -y tclx.

Good point. I'll look at adding in a dependency failure for tclx. Unlike the not-forking problem you pointed out, this is not running Perl Makemake and so we can more easily make this a hard fail.

delaneyj commented 4 years ago

Sorry I didn't realize it was suppose to be read only. Feel free to delete these issues if you want.

danshearer commented 4 years ago

Definitely not deleting these issues :-)

There is a new version of not-forking that does much better dependency handling. Want to try that?

tclx is now mentioned in the build docs but not yet in the Makefile.

danshearer commented 3 years ago

This should be long fixed now, with many other improvements. Do let me know if that is not the case.

Closing.

Thanks.