Обсуждение: Creating a C Function
I am trying to create a function using C, but I am having trouble getting Postgres to execute it. If I call the function from a C program, it works fine, but pgsql gives me this: ERROR: Load of file /usr/local/pgsql/obj/gen_username.so failed: Unable to resolve symbol Perhaps I am failing in the compilation/linking process. Does anyone happen to have a generic make file for Linux (2.0.32, pgsql v. 6.3.2)? The file is there, and the complete tree (including the .so) is world readable/executable. In case it matters, here is the interface for the function: text * gen_username (text *lname, text *fname); Any ideas? Thanks... Jason Lee screech@screech.org ------------------------------------------------------------------------- So many times we believe that our lives will go to waste unless strive to achieve so many things out of haste. Sometimes we run too fast, when God is asking us to crawl. He who is faithful minding less shall be given to rule over all
On Fri, 3 Jul 1998, Screech wrote: > I am trying to create a function using C, but I am having trouble getting > Postgres to execute it. If I call the function from a C program, it works > fine, but pgsql gives me this: > > ERROR: Load of file /usr/local/pgsql/obj/gen_username.so failed: Unable > to resolve symbol Is '/usr/local/pgsql/obj/' in the library path for your system? Try copying gen_username.so to '/lib' or '/usr/lib' (probably the second is the best). This is a quick SWAG. Rod -- Roderick A. Anderson raanders@altoplanos.net Altoplanos Information Systems, Inc. Voice: 208.765.6149 212 S. 11th Street, Suite 5 FAX: 208.664.5299 Coeur d'Alene, ID 83814
On Sat, 4 Jul 1998, Roderick A. Anderson wrote: > > I am trying to create a function using C, but I am having trouble getting > > Postgres to execute it. If I call the function from a C program, it works > > fine, but pgsql gives me this: > > > > ERROR: Load of file /usr/local/pgsql/obj/gen_username.so failed: Unable > > to resolve symbol > > Is '/usr/local/pgsql/obj/' in the library path for your system? Try > copying gen_username.so to '/lib' or '/usr/lib' (probably the second is > the best). > This is a quick SWAG. OK. I'm slow. :) (I haven't replied yet, have I? Maybe I'm dumb... :) Lots of things going on. I put the .so in /usr/lib, ran ldconfig in case that's necessary <shrug> to no avail. I stole the make file from some of the tutorial examples. If I compile the tutorials, it works like a champ, but mine still fails. Is there someting special I should be doing in the C source? I'm sure I'm missing something minor... TIA... Jason Lee screech@screech.org ------------------------------------------------------------------------- So many times we believe that our lives will go to waste unless strive to achieve so many things out of haste. Sometimes we run too fast, when God is asking us to crawl. He who is faithful minding less shall be given to rule over all