At 2000-07-21 00:40 -0400, Jeff Hoffman <jeff.hoffman@goingv.com> wrote:
On Thu, 20 Jul 2000, David Trudgett wrote:
Hi all,
After having successfully installed the gvib InterBase DA on a test machine running Red Hat Linux 6.1, I'm not having the same luck on the production box running RH 6.0. Here's what happens:
$ python
import gvib Traceback (innermost last): File "<stdin>", line 1, in ? File "/usr/local/Zope-2.1.6/lib/python/Products/gvibDA/gvib/gvib.py", line 46, in ? import gvibBase ImportError: /usr/lib/libgds.so: undefined symbol: crypt
I'm perplexed. The only time I've run into this problem was when I forgot to link with libcrypt. Deja didn't turn up anything useful, either.
I hate to point out the obvious, but, by default the Linux section in Setup.in reads:
# # Use this on Linux. # #gvibBase gvibBase.c -D$(GVDEF) -I$(PYDIR) -L$(IBLIB) -lgds -lcrypt
Note the comment. You need to comment the Solaris line, and uncomment the Linux line. In reality, the link with libcrypt is the only thing differentiating the two.
Unfortunately, the compile will still succeed without -lcrypt being specified. You won't see the problem until you try to import the module, as seen above.
so is there anyone here who can suggest how I might fix this? (By the way, the compile went through without a problem, and there was a -lcrypt on the appropriate Setup.in line).
One other thought. The first time you run:
make -f Makefile.pre.in boot
a Setup file is created. If you then change Setup.in, you need to delete Setup and re-execute the above line. Otherwise, the changes won't be reflected.
Jeff hit the nail on the head with that one. I've replied to him personally and thanked him. What I had done was inadvertently run the make -f before I had edited the Setup.in file. I then edited the file as I should have and re-ran make -f without realising I had to delete the file called "Setup". Ignorance is a curse. Anyway, this little tip will no doubt help someone else in the future. David Trudgett