mariotoss
mariotoss

Reputation: 434

How to compile WordNet-3.0 on Ubuntu 17.10?

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!

Upvotes: 0

Views: 382

Answers (1)

Flopp
Flopp

Reputation: 1947

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.

Upvotes: 3

Related Questions