Flint for Unix/Linux Support FAQ

 

Q:  I installed Flint on a license server and due to our networking policies, also installed it locally on each client. Flint runs fine on the server but when run on a client, I get the following (where <name> is my server’s hostname). I have FLINTHOST set properly on each client. I do not have an 02 file; instead I have an 07 file, and since it is running on the server the product is activated!

Server <name> [02]: No license file found for feature

Product is not activated yet.

Use “flint activate” to activate.

A:   Copy the 07 file from your server’s $FLINTHOME directory to $FLINTHOME on each client.  The license manager on the server still tracks the licenses in use; the client copy of 07 simply lets the local copy of Flint have a valid key to operate.

This must be done because the only place Flint “knows” to look for the license file is in $FLINTHOME; if not present, it looks for the Fortran-77-only license file, which is named 02.  Since that is the last license file looked for, that’s what appears in the error message. 

This is not necessary if you nfs-mount your Flint installation.

 

Q:  My Cleanscape product ran fine once I ran “startup”, but now after rebooting the machine I get the message, “Server localhost [07]: License server is down”.

A:   Did you remember to put the license daemon into a system init script?  In so doing, the daemon will be restarted every time the server boots.  Here is a recipe that works:

1.    Create file init_iptlmd in $FLINTHOME with the below content.  NOTE: Change the directory path to startup in the PROG line if required; that path is what's in $FLINTHOME:

PROG=/usr/local/cleanscape/flintgui.dir/main/startup
if [ -x $PROG ]; then
   rm -fr /tmp/.elmd.5421
   $PROG &
fi

2. Run these commands:
chmod 755 $FLINTHOME/init_iptlmd
cd /etc/rc2.d
ln -s $FLINTHOME/init_iptlmd S48iptlmd

When you reboot your system the startup script will be run which in turn starts the license manager.  NOTE: It appears the rcN.d directories are specific to the version of the OS, so make sure you

1. create the link while running the desired version of the OS, and
2. check the link whenever the OS is updated (i.e., when the boot menu changes).

Q:  I know I have integer–to-real automatic conversions in my code, but Flint is not detecting them!

A:   If you are expecting, but not seeing, certain messages from Flint, check the flint.cfg file in use (the default is in $FLINTHOME).  One classic example is the automatic conversion of integer to real, as in r = selected_char_kind(ascii’).  This results in Message #276, but as you can see in flint.cfg, this message is suppressed by default. (#276 is an FYI only because it is numeric conversion; an integer-to-character conversion attempt warrants Error #161.)

 

Q:  I get an error message, "Invalid license server”.  Help!

A:   First, try upgrading Flint.  While the error may not go away, we have added more descriptive messages that should help isolate the issue.  Contact [email protected] to get download instructions.  Meanwhile, here are three possibilities to check:

1.    If you have used the product in the past or recently evaluated it, it is possible that an old version of Flint exists if not on the server, then somewhere on the LAN.  This could mean old copies, incorrect environment variables, or even a different license server somewhere on the LAN.

0. Attempt to run Flint from the server itself after verifying the environment variable settings as described in Appendix A of flintman.pdf located in the doc subdirectory.  If Flint runs there, it is highly probable there is some setup issue on the clients, discussed next.

1. Make sure that each client machine's $FLINTHOME value is set correctly.  It needs to contain the directory housing the flint binary and flint.err text file for the just-installed version. 

2. Confirm that no other paths to Flint binaries are in $PATH, and that $FLINTHOME is the first entry in $PATH.

3. While on the subject of environment variables, be sure that the client machine's $FLINTHOST is set to the hostname of the machine acting as the license server and running the new install.

4. Ensure that the daemon, iptlmd, is the one started from $FLINTHOME and not some other directory.  If not correct, kill that one and restart the daemon residing in $FLINTHOME.  NOTE: In this case, it is likely the server code sent was incorrect and a rerun of $FLINTHOME/flint activate is necessary, whereupon we will send a new key.

2.    The /etc/hosts file is non-standard.  By convention, hosts files should contain the IPv4 localhost, which looks pretty much the same everywhere, followed by the IPv6 localhost, again pretty much the same everywhere, followed by the IPv4 address for the machine itself, identified by its hostname.

By the way, Flint also follows the convention of 8-character hostnames.  If there are hostnames like,
thisishost1
thisishost2
...
Flint will not be able to distinguish between them!

A sample /etc/hosts is below, with "itsme" being the hostname for your computer, and "otherN" being the names of other computers in your network as required by your IT department.  The IP addresses (here starting with "10."), of course, will be the actual values assigned to each computer.

# Do not remove the following line, or various programs # that require network functionality will fail.
127.0.0.1       localhost
::1             localhost.localdomain localhost
10.1.1.11       itsme
10.1.1.4        other1
10.1.1.2        other2

If changes to /etc/hosts were required, you MUST
1. kill the existing iptlmd daemon running on your system and
2. rerun the activation process, which will result in a new server code.  Send us that code and we will return a new key.

3.    The server does not have a static IP address.  The server code and resulting key are generated in large part from the IP address, and if this is changing, the key becomes invalid.

Q:  I get an error message, "Couldn't get Ethernet address”.  I have confirmed that my machine’s IP address and hostname are correctly set up in /etc/hosts.  What gives?

A:   Does your machine have two or more Ethernet cards?  If so, you need to be sure file /etc/ethers contains an entry for the hostname.  A line in /etc/ethers consists of the mac address, followed by a space, followed by the hostname.  The mac address can be found by running ifconfig -a.  If you continue to have difficulty, contact [email protected].

 

Q:   There’s no Xlint in my distro!  What happened?

A:   As of February 2008, Xlint is being deprecated in favor of the Flint GUI, which now has all the functionality of Xlint.  A compatible version is available for download as a ZIPfile from a link on the download page for your OS.  Unzip it into the same directory containing the flint executable (probably $FLINTHOME) and email your server code along with the key request to [email protected].

Update 8/7/2012: Xlint continues to be supported; the latest distro (Mac/x86) included the Xlint add-on.

 

Q:   I had to reboot (lost power to, etc.) my server and now Flint does not work.  No changes to the server (new version of OS, upgraded Flint) or the network topology (IP addresses, hostnames) have occurred.  What gives?

A:   First, please see the above question which is resolved using an init script.

Flint experiences very few problems when installed as a new user.  But there are several “gotchas” that can occur when upgrading from a previous version of Flint, often having to do with environment variables and/or an “old” license daemon running while attempting to install/run a new version of Flint.  This can occur even if you are using the new Flint GUI, which attempts to make the correct settings on behalf of each user at the start of each GUI session.  Please step through the checklist below to ensure Flint is configured properly. 

NOTE:  This procedure will stop Flint momentarily (between Steps 2 and 9).  It is advisable to schedule this procedure with the user base unless, of course, the product is already halted as per the premise of this FAQ.  It is also advisable to make note of prior settings (i.e., environment variable settings) in case you need to “roll back” any of these changes.

1)   Log in as root on the machine acting as the Flint license server.

2)   Kill any daemons named "iptlmd".  Example session:

    bash# ps -ef | grep iptlmd

        returns a line like the following SAMPLE :

        root  1307  0.0  0.1  960  508  ?  S < 08:58  0:00 ./iptlmd -e /usr/local/flint

    bash# kill -9 1307

3)   Check that environment variable FLINTHOST is set to the name of the license server.  If not, set it.

4)  Check that environment variable FLINTHOME is set to the directory containing file flint.err, for the correct version of Flint.  For example, you find you have file flint.err for Flint version 4 directory at

/usr/local/flint

and file flint.err for Flint version 5 located at

/usr/local/flint5/flintgui.dir/main

If you are trying to get version 5 running, an example might be (in a bash shell)

export FLINTHOME=/usr/local/flint5/flintgui.dir/main

5)   Ensure there are no entries for Flint in your PATH that are not the same as what you have for the FLINTHOME environment variable.  By convention, there should not be any for user root, but if there is, try prepending FLINTHOME to your PATH:

export PATH=$FLINTHOME:$PATH

Later, be sure to clean up PATH for both root and your end users, and be sure your end users have both the FLINTHOME and FLINTHOST environment variables set correctly!

6)      Run the command  cd $FLINTHOME

7)      Verify that there is a file named "startup" and it contains the following.  NOTE:  <FLINTHOST> is the hostid that you specified in Step 3 and <FLINTHOME> is the path you specified in Step 4 (no trailing '/').

if [ `uname -n` = <FLINTHOST> ]; then

   ( cd <FLINTHOME>

     ./iptlmd -e `pwd` -l `pwd`/iptlmd.log -m 0.25m && \

     echo 'Cleanscape license manager daemon started.' 

   )

else echo 'License daemon must be started on <FLINTHOST>'; fi

8)   Run the command  ./startup

9)   Run the command  ./flint

10)  After a 3-minute delay, you should get a Flint command summary, which means that the environment has been set properly, the license daemon is running normally, and Flint is ready for use!  If you do not get a Flint command summary, please obtain the following information and contact Cleanscape support (contact info at bottom of file):

a)  Copy and paste the session contents (i.e., the command you ran and the resulting output) into an email to Cleanscape support (contact info at the bottom of file).

b)  Check for the presence of file(s) named 02 and/or 07 in the FLINTHOME directory.

      If so, your license file is probably corrupted.

      If not, this installation of Flint does not have a license key.

      In either case, run the command  ./flint activate  and send the resulting server code to Cleanscape support (contact info at the bottom of file).

Other FAQs available: Cleanscape GUI, Linux, and Mac operation.     

     

CLEANSCAPE SUPPORT CONTACT INFO

[email protected]

800-944-LINT (5468)

706-245-1070 (Sales/Service office direct)