> 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