0

I need to install and work with WordNet (current version 3.0) on my Ubuntu distro 17.10. I have installed all dependencies (tcl/tk) and, after the developers instructions, I follow the usual ./configure make make install

process.

I untared the package and when, inside the directory, I type ./configure.sh, it works with no errors:

WordNet is now configured Installation directory: /usr/local/WordNet-3.0

etc.

When I now run make I get:

compilation terminated.
Makefile:267: recipe for target 'libWN_a-binsrch.o' failed
make[3]: *** [libWN_a-binsrch.o] Error 1
make[3]: Leaving directory '/home/user/WordNet/WordNet-3.0/lib'
Makefile:372: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/user/WordNet/WordNet-3.0/lib'
Makefile:218: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/user/WordNet/WordNet-3.0'
Makefile:156: recipe for target 'all' failed
make: *** [all] Error 2

If I run sudo make I get:

compilation terminated.
Makefile:273: recipe for target 'wishwn-tkAppInit.o' failed
make[2]: *** [wishwn-tkAppInit.o] Error 1
make[2]: Leaving directory '/home/user/WordNet/WordNet-3.0/src'
Makefile:218: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/user/WordNet/WordNet-3.0'
Makefile:156: recipe for target 'all' failed
make: *** [all] Error 2

(same error I get if I type make again, after and ever after sudo make).

In the distributed README and INSTALL texts of the program I didn't find any relevant info.

Any insight?

Thanks!

mariotoss
  • 414
  • 3
  • 7
  • 17
  • What does it say immediately before the line that says `compilation terminated.`? Right now, it's apparently saying the equivalent of “it didn't work” and that's not something we can really help with on its own. We need more detail, _specifically_ detail that describes what actually went wrong… – Donal Fellows May 03 '18 at 21:37

1 Answers1

3

WordNet 3.0 seems to access Tcl internals in an deprecated way (interp->result).

Try to compile with CFLAGS=-DUSE_INTERP_RESULT make - this enables legacy access to interp->result.

From the man page:

For legacy programs and extensions no longer being maintained, compiles against the Tcl 8.6 header files are only possible with the compiler directives

#define USE_INTERP_RESULT

and/or

#define USE_INTERP_ERRORLINE

depending on which fields of the Tcl_Interp struct are accessed. These directives may be embedded in code or supplied via compiler options.

Flopp
  • 1,887
  • 14
  • 24