From: Mark H. <ha...@us...> - 2002-07-12 14:39:23
|
Hi Geoff, How do you enable omni into ghostscript? Did you recompile ghostscript with our patch? If so, can you check out Ghostscript/new_src/gomni.c, change fDebugOutput to 1 and recompile and retest. That should give more debug output as to what is wrong. As far as your test program, libomni.so is C++ code so the calling application should link with stdc++. Also, while I don't know if this causes problems or not, all of our loading code uses glib's g_module_open instead of dlopen. Also, as a test you can run OmniDeviceOptions libKyocera_FS_1600_.so and see if that works. Mark Take a look at the Linux Omni Printer Driver Framework at http://www.ibm.com/linux/ltc/projects/omni/ |
From: Mark H. <ha...@us...> - 2002-07-22 20:39:07
|
Hi Geoff, Is your gomni.c the latest version? A couple of lines before the code that you pointed out should have a call to g_module_error (). If not, use this version: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/omniprint/Omni/Ghostscript/new_src/gomni.c?rev=HEAD&content-type=text/plain That should say why the g_module_open is failing. Mark Take a look at the Linux Omni Printer Driver Framework at http://www.ibm.com/linux/ltc/projects/omni/ |
From: Geoff C. <geo...@bj...> - 2002-07-22 23:21:48
|
On Tue, 23 Jul 2002 06:38, you wrote: > Hi Geoff, > > Is your gomni.c the latest version? A couple of lines before the code that > you pointed out should have a call to g_module_error (). > If not, use this version: > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/omniprint/Omni/Gh >ostscript/new_src/gomni.c?rev=HEAD&content-type=text/plain > No, my gomni.c isn't the latest version, just the one that comes out of the debian source package. It's labelled version 6.53 (for the ghostscript package). Anyway, the version I have got doesn't have a call to g_module_error(). I downloaded the above url, copied it over my gomni.c, but it has two #includes that my system can't supply: #include <glib.h> #include <gmodule.h> Any chance you could tell me what is supposed to supply them? I did a google search on gmodule.h, but I didn't see anything that helped me. The other question I had was, other there are files under the ghostscript package that are likely to need modifying? If so, should I be looking for a patch for the ghostscript source, rather than replacing just the gomni.c file? > That should say why the g_module_open is failing. > > Mark Thanks for the help, I'm just not all that good a programmer. Geoff Crompton |
From: Mark H. <ha...@us...> - 2002-07-23 15:16:22
|
Hey Geoff, It is missing the glib includes and libs. These are put in the makefiles. You run programs xml-config or xml2-config with options --cflags or --libs. You also run glib-config with --cflags or --libs. The --cflags is for the compiling phase and the --libs is for the linking phase. Since gomni.c was compiled into ghostscript, I thought that these changes were made already. It might be easier to start from scratch by downloading a version of the ghostscript source and add the corresponding patch from the omni's Ghostscript directory. Mark Take a look at the Linux Omni Printer Driver Framework at http://www.ibm.com/linux/ltc/projects/omni/ |
From: Geoff C. <geo...@bj...> - 2002-07-14 23:08:42
|
On Sat, 13 Jul 2002 00:36, Mark Hamzy wrote: > Hi Geoff, > > How do you enable omni into ghostscript? Did you recompile ghostscript > with our patch? I am just using the debian package for ghostscript. A 'gs -h' shows omni listed as an available device. > If so, can you check out Ghostscript/new_src/gomni.c, change fDebugOutput > to 1 and recompile and retest. > That should give more debug output as to what is wrong. > > As far as your test program, libomni.so is C++ code so the calling > application should link with stdc++. Also, > while I don't know if this causes problems or not, all of our loading code > uses glib's g_module_open instead of dlopen. I had vague thoughts that might be a problem with my dlopen code, but I'm not really a programmer, so I wasn't sure. Ah yes. I changed the dlopen program, and compiled with g++, and it opened the libomni library without any problems. > > Also, as a test you can run OmniDeviceOptions libKyocera_FS_1600_.so and > see if that works. > Yep, that worked. I will have to get the debian source package for ghostscript, and try out that debugging option that you suggested. I'll let you know how that goes, when I get around to it :( Cheers, Thanks for the suggestions Geoff Crompton |
From: Geoff C. <geo...@bj...> - 2002-07-22 04:01:27
|
I have recompiled ghostscript, changing fDebugOutput to 1. The output I saw was exactly the same as before. Ie, there were no extra diagnostic messages displayed to indicate some problems. Are there any other suggestions? I had a look into the code. It seems that the error message is being generated in the gomni.c, line 650, after checking something: if (!pDev->vhOmni) { // Failure! fprintf (stderr, "\n<<<<<<<<<<<<<<<<<<<<<< ERROR >>>>>>>>>>>>>>>>>>>>>>>\n\n"); fprintf (stderr, "Error: Could not load libomni.so!\n\n"); However, I have no idea why pDev->vhOmni is NULL, and I don't have the skills to track it down. Thanks for anyhelp Geoff On Sat, 13 Jul 2002 00:36, Mark Hamzy wrote: > Hi Geoff, > > How do you enable omni into ghostscript? Did you recompile ghostscript > with our patch? > If so, can you check out Ghostscript/new_src/gomni.c, change fDebugOutput > to 1 and recompile and retest. > That should give more debug output as to what is wrong. > > As far as your test program, libomni.so is C++ code so the calling > application should link with stdc++. Also, > while I don't know if this causes problems or not, all of our loading code > uses glib's g_module_open instead of dlopen. > > Also, as a test you can run OmniDeviceOptions libKyocera_FS_1600_.so and > see if that works. > > Mark > > Take a look at the Linux Omni Printer Driver Framework at > http://www.ibm.com/linux/ltc/projects/omni/ |