This should be the standard GNU install as documented in INSTALL. Some general steps ($srcdir refers to location that the source package is extracted to.) -
Installation step should usually be done as root if you want to configure tap devices with ip parameters in the tmesh descriptions. On BSD, it will run setuid to allow this, but gives up privilege immediately after. On Linux, it will install with cap_net_admin capability instead. Plugin modules are normally libtool shared libraries, unless the package is configured with –disable-shared, in which case they are static libtool libraries. Installable executable is normally done with shared enabled. Setting LD_LIBRARY_PATH will not work for setuid executables, as it is simply ignored.
Note: If you have trouble linking against dependent libraries, like libltdl or libnftnl, it could be because they are installed in non-standard locations. Try setting LD_LIBRARY_PATH to the location $installprefix/lib or ldconfig $installprefix/lib. You know the drill.
Note: to run setuid, be sure it is allowed on the installation filesystem, i.e., the nosuid bit should not be set there, which it is usually not for standard install locations such as /usr/local
Note: recode doesn’t seem to currently work on 64-bit platforms with threading enabled, so –disable-recode is required on these hosts when using multithreading. SJLJ threading (i.e., single-threaded multitasking using setjmp/longjmp) should work with recode on all platforms that it builds on.
Note: –disable-threads is an alternative way to use the classic SJLJ threading model. Also specified by –enable-threads=sjlj
Note: To debug, or if you otherwise have issues running TME, you may try the –enable-debug configure option.
Note: starting with 1.0beta_4, it is no longer necessary to set TME_MODULE_PATH. The program uses the install path directly, but it can still be set to allow alternative directories to be used as well. This may be taken out at some point as it might be a security risk.