Re: [cups] Still conceptually possible to use SCSI backend in latest CUPS?

Jörg Thümmler <[email protected]>
Newsgroups gmane.comp.printing.cups.general
Message-ID <[email protected]>
Am 20.02.21 um 18:47 schrieb Protea Wines Japan:
> On Fri, Feb 19, 2021 at 4:01 PM Johannes Meixner <[email protected]> wrote:
> 
>>
>> Hello,
>>
>> On 2021-02-18 18:20, Protea Wines Japan wrote (excerpt):
>>> Is it conceptually still possible to compile
>>> the old scsi.c backend in CUPS 1.2
>>
>> conceptually a CUPS backend is an arbitrary program
>> that gets data and sends it to a recipient, see
>>
>> https://en.opensuse.org/SDB:Using_Your_Own_Backends_to_Print_with_CUPS
> 
> 
> Many thanks Johannes, I could tell from your document that there is nothing
> specifically preventing the SCSI backend from being used, provided it uses
> the right commands to the SCSI high-level driver.
> I spent some time reading up on the SCSI subsystem in linux again, and the
> sg3 high-level driver.
> It looks like the scsi.c file should still be compilable and usable as is,
> since it uses the sg_io_hdr which is what is currently used in sg3 also.
> 
> I ran into a problem with compiling though. I wonder if you or anyone
> familiar with the current (forked?) CUPS code can help:
> 
> hase@hase:~/src/CUPS-SCSI-Backend$ gcc -o scsi-backend scsi.c
> In file included from scsi.c:59:
> /usr/include/cups/i18n.h:18:12: fatal error: config.h: No such file or
> directory
>     18 | #  include "config.h"
>        |            ^~~~~~~~~~
> compilation terminated.
> 
> It looks like the CUPS header file config.h is missing. I am not sure where
> I should find this, I have all available development packages installed I
> think. Even downloading the Debian CUPS source package does not find this
> file although there are 2 config.h files in subsystem source trees:
> hase@hase:~/src/CUPS-SCSI-Backend/cups-2.3.3op2$ find . -name config.h
> ./vcnet/config.h
> ./xcode/config.h
> 
> As for linux, there are 2 config.h files in the source tree (none in the
> common headers):
> hase@hase:~/src/CUPS-SCSI-Backend/cups-2.3.3op2$ find
> /usr/src/linux-headers-5.10.0-3-amd64 -name config.h
> /usr/src/linux-headers-5.10.0-3-amd64/include/config/snd/intel/dsp/config.h
> /usr/src/linux-headers-5.10.0-3-amd64/include/config/pci/lockless/config.h
> 
> Best regards,
> Gernot Hassenpflug
> _______________________________________________
> cups mailing list
> [email protected]
> https://lists.cups.org/mailman/listinfo/cups
> 

Hi,

i'm in no case familiar with cups code ;-)

But your "gcc -o scsi-backend scsi.c" may need some -I<dir> option (see 
man gcc) as it may not find the config.h in its standard include path.

Or - another "blind shot" - you may have to install the kernel header 
files therefor. "i18n.h" sounds like an include a lot of programs will 
use so it may be will look for a "central" config.h...

At least a look into this i18n.h will maybe show, in which context the 
"config.h" is searched and that may give you a hint, which "config.h" to 
include.

Another way may be to use the "configure" feature (if cups-devel has 
that), which usually does the trick of writing of correct make files for 
compiling and then try to find a appropriate gcc line for some analogue 
backend compiling.

just my 2 ct...

-- 
cu

jth
_______________________________________________
cups mailing list
[email protected]
https://lists.cups.org/mailman/listinfo/cups
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.