Received: from antares.mcs.anl.gov (mcs.anl.gov [140.221.9.6]) by hub.org (8.9.3/8.9.1) with SMTP id JAA01331 for ; Tue, 20 Apr 1999 09:58:28 -0400 (EDT) (envelope-from selkovjr@xnet.com) Received: from xnet.com (selkovjr@selkovjr.xnet.com [205.243.141.67]) by antares.mcs.anl.gov (8.6.10/8.6.10) with ESMTP id IAA27205; Tue, 20 Apr 1999 08:58:13 -0500 Message-Id: <199904201358.IAA27205@antares.mcs.anl.gov> To: Matthew Hagerty , pgsql-interfaces@postgreSQL.org From: "Gene Selkov, Jr." Subject: Re: [INTERFACES] Compiling a function In-Reply-To: Your message of "Tue, 20 Apr 1999 04:19:00 EDT." <4.1.19990420041438.00bea910@mail.venux.net> Date: Tue, 20 Apr 1999 08:58:17 -0400 Sender: selkovjr@xnet.com > ERROR: Can't find function bool2int in file /usr/local/pgsql/procs/bool2int.o > That's probably because you are still looking in the object file. If you did not tweak the filenames, the linker should create a shared object file with the .so suffix, and it's likely that it did. Use 'file' to find out, like this (real example): file /home/wit/pgsql/ExtendedTypes/seg/seg.o /home/wit/pgsql/ExtendedTypes/seg/seg.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped file /home/wit/pgsql/ExtendedTypes/seg/seg.so /home/wit/pgsql/ExtendedTypes/seg/seg.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped > I have tried every linker flag possible, nothing helps. Seems funny that a > function cannot be located in a library file?!?! Object files and shared libraries have different symbol tables, let alone the code. I remember building things painlessly in FreeBSD, but that was a couple years back, so I am not sure now. In any event, I would start with tutorial examples because these are almost guaranteed to work. Also, here's a complete code for a user-defined function -- you will only need to adjust the paths in the Makefile and in the sql script: http://wit.mcs.anl.gov/~selkovjr/foldit.tgz --Gene