DataSystemsLab / recdb-postgresql

RecDB is a recommendation engine built entirely inside PostgreSQL
357 stars 43 forks source link

Installation error #11

Open cesarboucas opened 7 years ago

cesarboucas commented 7 years ago

I have installed the needed packages using: sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison libxml2-dev libxslt-dev libssl-dev

But when I run the install.pl script I get the following error:

***
ERROR: `flex' is missing on your system. It is needed to create the
file `bootscanner.c'. You can either get flex from a GNU mirror site
or download an official distribution of PostgreSQL, which contains
pre-packaged flex output.
***
make[3]: *** [bootscanner.c] Error 1
make[2]: *** [bootstrap-recursive] Error 2
make[1]: *** [all-backend-recurse] Error 2
make: *** [all-src-recurse] Error 2
Compilation error.

How can I solve this?

cesarboucas commented 7 years ago

Sounds like the issue is due to a version conflict. This warning happens before the error:

checking for flex... configure: WARNING:
*** The installed version of Flex, /usr/bin/flex, is too old to use with PostgreSQL.
*** Flex version 2.5.31 or later is required, but this is flex 2.6.1.
yakobo-dev commented 7 years ago

I had same error when I installed RecDB on Ubuntu 16.04 LTS. You might want to try installing it again on different version like 14.04 LTS.

yakobo-dev commented 7 years ago

I have found other way to install flex properly. Uninstall flex 2.6.1 and other dependencies first, and then download and install flex and libfl-dev-2.5.31 or higher. RecDB does work on 16.04.1 of my system.