Re: [INTERFACES] Compiling a function

From: "Gene Selkov, Jr(dot)" <selkovjr(at)mcs(dot)anl(dot)gov>
To: Matthew Hagerty <matthew(at)venux(dot)net>, pgsql-interfaces(at)postgreSQL(dot)org
Subject: Re: [INTERFACES] Compiling a function
Date: 1999-04-20 12:58:17
Message-ID: 199904201358.IAA27205@antares.mcs.anl.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

> 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

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Francesco Fortugno 1999-04-20 13:05:01 unsubscribe pgsql-interfaces@postgreSQL.org
Previous Message Matthew Hagerty 1999-04-20 08:19:00 Re: [INTERFACES] Compiling a function