Bug 211903 - [New Port] math/eprover : Theorem prover for full first-order logic with equality
Summary: [New Port] math/eprover : Theorem prover for full first-order logic with equa...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Yuri Victorovich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-16 13:43 UTC by Victor Gomes
Modified: 2017-11-19 22:00 UTC (History)
3 users (show)

See Also:


Attachments
Eprover port (3.87 KB, application/x-shar)
2016-08-16 13:43 UTC, Victor Gomes
no flags Details
Eprover port (added gcc dep) (3.88 KB, text/plain)
2016-08-24 10:48 UTC, Victor Gomes
no flags Details
eprover.patch (alternative variant) (3.86 KB, patch)
2017-10-22 18:02 UTC, Val Packett
no flags Details | Diff
Modified Greg's eprover.patch (5.80 KB, patch)
2017-11-18 21:24 UTC, Yuri Victorovich
no flags Details | Diff
Modified Greg's eprover.patch (5.47 KB, patch)
2017-11-18 21:25 UTC, Yuri Victorovich
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Victor Gomes 2016-08-16 13:43:37 UTC
Created attachment 173738 [details]
Eprover port

E is a theorem prover for full first-order logic with equality.
Comment 1 Wen Heping freebsd_committer freebsd_triage 2016-08-23 00:14:56 UTC
Hi,

    The build failed with the message: 

=======================<phase: configure      >============================
===>  Configuring for eprover-1.9
Configuring with executable path /wrkdirs/usr/ports/math/eprover/work/stage/usr/local/bin/
/wrkdirs/usr/ports/math/eprover/work/stage/usr/local/man/man1/
echo 'Configuring build system and tools'
Configuring build system and tools
make links
cd include; touch does_exist.h; rm *.h
cd lib; touch does_exist.a; rm *.a
cd include; for subdir in BASICS INOUT TERMS ORDERINGS CLAUSES PROPOSITIONAL LEARN  ANALYSIS PCL2 HEURISTICS CONTROL EXTERNAL PROVER; do for file in ../$subdir/*.h; do ln -s $file .; done; done;
cd lib; for subdir in BASICS INOUT TERMS ORDERINGS CLAUSES PROPOSITIONAL LEARN  ANALYSIS PCL2 HEURISTICS CONTROL; do ln -s ../$subdir/$subdir.a .; done;
make tools
cd development_tools;make tools
Configuring tools
./configure_tools
Using tail -n
Your which command works!
/usr/bin/awk
configure_tools: Cannot find gawk, trying awk (untested)
configure_tools: No Python available, tools unconfigured.
configure_tools: Try to get Python 2.X installed in your search path.
./configure_bash_scripts
configure_bash_scripts: Cannot find bash, trying /bin/sh (untested)
cd PYTHON; make tools
Configuring tools
../development_tools/configure_tools
Using tail -n
Your which command works!
/usr/bin/awk
configure_tools: Cannot find gawk, trying awk (untested)
configure_tools: No Python available, tools unconfigured.
configure_tools: Try to get Python 2.X installed in your search path.
make depend
for subdir in BASICS INOUT TERMS ORDERINGS CLAUSES PROPOSITIONAL LEARN  ANALYSIS PCL2 HEURISTICS CONTROL PROVER TEST SIMPLE_APPS EXTERNAL; do cd $subdir; touch Makefile.dependencies; make depend; cd ..; done;
gcc -M -O4 -fomit-frame-pointer -Wall -std=gnu99   -I../include    -DNDEBUG -DFAST_EXIT -DPRINT_SOMEERRORS_STDOUT  -DMEMORY_RESERVE_PARANOID  -DPRINT_TSTP_STATUS  -DSTACK_SIZE=32768     -DCLAUSE_PERM_IDENT  *.c > Makefile.dependencies
/bin/sh: gcc: not found
*** Error code 127

Stop.
make[3]: stopped in /wrkdirs/usr/ports/math/eprover/work/E/BASICS
*** Error code 1

Stop.
make[2]: stopped in /wrkdirs/usr/ports/math/eprover/work/E
*** Error code 1

Stop.
make[1]: stopped in /wrkdirs/usr/ports/math/eprover/work/E



Would you test it again ?

wen
Comment 2 Victor Gomes 2016-08-24 10:48:36 UTC
Created attachment 174011 [details]
Eprover port (added gcc dep)
Comment 3 Victor Gomes 2016-08-24 10:50:54 UTC
(In reply to Wen Heping from comment #1)
Hi Wen,

Sorry about that.
This is my first port, I've forgotten to add gcc as a dependency.

It should work now.

Cheers,
Victor
Comment 4 Yuri Victorovich freebsd_committer freebsd_triage 2017-08-26 19:39:14 UTC
(In reply to Victor Gomes from comment #3)

Adding GCC as a dependency is wrong if clang can compile it.
You need to first patch it and see it if works with clang.
Comment 5 Yuri Victorovich freebsd_committer freebsd_triage 2017-08-26 19:41:03 UTC
Version 2.0 is available.
Comment 6 Yuri Victorovich freebsd_committer freebsd_triage 2017-08-26 20:13:32 UTC
Other items to fix:
* EXTRACT_SFX needs to be replaced with USES=tar:tgz
* You can't patch "PREFIX=/usr/local/bin" into configure. This has to work through the environment variable, and has to be based on ${PREFIX} variable
* The rest of configure patch needs to be in Makefile (post-patch, REINPLACE_CMD, etc)
* patch-PROVER_eproof__ram needs to be replaced with USES=shebangfix
* USE_GCC=any not needed unless it doesn't build with clang.
* HAS_CONFIGURE needs to be replaced with GNU_CONFIGURE=yes
* --man-prefix= can't include /usr/local, it should be ${PREFIX}

Thanks!
Comment 7 Yuri Victorovich freebsd_committer freebsd_triage 2017-08-26 20:46:50 UTC
Some more items:
* It should be called just 'e', because the author calls it this.
* The port name can be 'E', I think, so that it will reflect how it is known.

Regards,
Yuri
Comment 8 Val Packett 2017-10-22 18:02:20 UTC
Created attachment 187373 [details]
eprover.patch (alternative variant)

Here's my version of the port. (Didn't search bugzilla before writing the port… :D) Uses version 2.0.

GNU_CONFIGURE will not work, configure here is NOT GNU configure, it's a custom script. GNU_CONFIGURE passes unsupported options.

It's called "eprover" in Arch Linux AUR and Mac Homebrew. Everyone refers to it as "eprover" because that's how the binary is called, and "E" is an ungooglable name. It's like "golang" instead of "Go".
Comment 9 Yuri Victorovich freebsd_committer freebsd_triage 2017-11-18 20:56:02 UTC
(In reply to Greg V from comment #8)

Greg,

Thanks for your submission.
Comment 10 Yuri Victorovich freebsd_committer freebsd_triage 2017-11-18 21:16:19 UTC
It has 2 problems:
* Build hangs in the 10i386 machine for some reason
* Build also fails in the 11amd64 machine in the manpage generation phase
Comment 11 Val Packett 2017-11-18 21:20:17 UTC
(In reply to Yuri Victorovich from comment #10)
How exactly does manpage generation fail? o_0 It's just help2man, works fine on my 12amd64 machine.
Comment 12 Yuri Victorovich freebsd_committer freebsd_triage 2017-11-18 21:22:48 UTC
(In reply to Greg V from comment #11)

On 11amd64 it fails like this:
> help2man -N -i DOC/bug_reporting PROVER/eproof       > DOC/man/eproof.1
> help2man: can't get `--help' info from PROVER/eproof
> Try `--no-discard-stderr' if option outputs to stderr
> *** Error code 127
Comment 13 Yuri Victorovich freebsd_committer freebsd_triage 2017-11-18 21:24:21 UTC
Created attachment 188101 [details]
Modified Greg's eprover.patch

I changed it a bit.
Comment 14 Yuri Victorovich freebsd_committer freebsd_triage 2017-11-18 21:25:10 UTC
Created attachment 188102 [details]
Modified Greg's eprover.patch
Comment 15 Val Packett 2017-11-18 21:25:56 UTC
(In reply to Yuri Victorovich from comment #12)
hmmm, does the eproof binary that it's trying to run actually work?
Comment 16 Val Packett 2017-11-18 21:26:48 UTC
(In reply to Greg V from comment #15)
Oh, eproof is a shell script, right
Comment 17 Yuri Victorovich freebsd_committer freebsd_triage 2017-11-18 21:29:11 UTC
(In reply to Greg V from comment #16)

Ok, thanks, I will fix this.
Comment 18 commit-hook freebsd_committer freebsd_triage 2017-11-19 21:59:55 UTC
A commit references this bug:

Author: yuri
Date: Sun Nov 19 21:59:33 UTC 2017
New revision: 454506
URL: https://svnweb.freebsd.org/changeset/ports/454506

Log:
  New port: math/eprover : Theorem prover for full first-order logic with equality

  PR:		211903
  Submitted by:	Greg V <greg@unrelenting.technology>
  Approved by:	tcberner (mentor)
  Differential Revision:	https://reviews.freebsd.org/D13150

Changes:
  head/math/Makefile
  head/math/eprover/
  head/math/eprover/Makefile
  head/math/eprover/distinfo
  head/math/eprover/files/
  head/math/eprover/files/patch-Makefile
  head/math/eprover/files/patch-Makefile.vars
  head/math/eprover/pkg-descr
  head/math/eprover/pkg-plist
Comment 19 Yuri Victorovich freebsd_committer freebsd_triage 2017-11-19 22:00:03 UTC
Committed with some changes. Thanks!