Cups 1.6

2012-08-09
2012-12-23
1 2 > >> (Page 1 of 2)
  • adskankster
    adskankster
    2012-08-09

    Apparently, this does not build against Cups 1.6. I don't have an error message yet, as I've just seen reports of it, but can get one if needed. Is this known and do you want one supplied?

     
  • PaulN
    PaulN
    2012-08-09

    This is the first I've heard of this problem.
    I'd be interested in the error message.
    Also is it c2esp (printing) or kodakaio(scanning) that does not build with cups 1.6?

     
  • SysEngBD
    SysEngBD
    2012-08-09

    On Arch Linux the the error when building c2esp with cups 1.6 installed is:

    'Error: /usr/include/cups/image.h is not installed!'

    Is it not pulling in libcups appropriately?

    Cheers,

     
  • PaulN
    PaulN
    2012-08-09

    That normally means a dependency is missing. In ubuntu you'd need to install the package  libcupsimage2-dev
    Probably some package with a similar name in Arch.
    Unless cups 1.6 has changed things so that  the functions in image.h no longer exist, or have moved to another header file?

     
  • SysEngBD
    SysEngBD
    2012-08-10

    I saw that in the error output. In Arch there's just a single libcups package. For version 1.5.4 the image.h exists in libcups but not in the 1.6.1 libcups package. It's possible the cups developers have moved the function. I'm not sure, I can check with the Arch packager to see if they've excluded some elements.

    Cheers,

     
  • SysEngBD
    SysEngBD
    2012-08-10

    It seems like some elements of the API have changed in cups 1.6. See the link below from launchpad where they mention image.h functionality moving to cups-filters.

    https://launchpad.net/ubuntu/+source/cups/1.6.0-0bzr1

    Cheers,

     
  • SysEngBD
    SysEngBD
    2012-08-10

    I forgot to mention that the Arch packaging is fine, image.h is indeed found in cups-filters at /usr/lib/include/cupsfilters/image.h. the driver.h file mentioned in the launchpad entry above is also located in /usr/lib/include/cupsfilters/

     
  • SysEngBD
    SysEngBD
    2012-08-10

    * directories above should have read /usr/include/cupsfilters/ not /usr/lib/include/cupsfilters/

     
  • adskankster
    adskankster
    2012-08-10

    Sorry, I dropped the ball on this, as I got bogged down with some other stuff (I also forgot how I'd get informed when monitoring a thread, and so missed the replies). Thanks to sysengbd for picking it up.

    I can confirm (I also use Arch, sorry should have said that) that that's the error I get.

    So I set up a symlink across and got a similar issue with driver.h
    I set up another symlink and now get this error:

    /usr/bin/ld: cannot find -lcupsdriver
    collect2: error: ld returned 1 exit status

    Hope this helps.

     
  • I don't know what your system looks like, adskankster, perhaps you just haven't installed libcupsdriver. But perhaps arch installs libcupsdriver in such a way that calling cups-config would help. You can get rid of some assumptions about a user's system that the Makefile makes, such as the idea that filters go into /usr/lib/cups instead of /usr/libexec/cups, by properly invoking cups-config.

    My quick attempt to do so is at http://ohnopub.net/~ohnobinki/tmp/c2esp25c-cups-config.patch

     
  • SysEngBD
    SysEngBD
    2012-08-10

    I tried symlimking the header files as and ended up where you did. I haven't tried to dig any deeper since then

    Cheers!

     
  • PaulN
    PaulN
    2012-08-10

    The release notes for cups 1.6 say:

       - Moved API of libcupsdrivers (driver.h) and of part of libcupsimage
           (image.h) to cups-filters.

    So it seems that we need the package cups-filters installed
    and when linking we might need  something similar to  -lcupsfilters ?  I can't test this yet without cups 1.6

     
  • PaulN
    PaulN
    2012-08-10

    I will try  the patch from onnobinki on my cups 1.5 system and incorporate it into a new release  candidate if it works.

     
  • adskankster
    adskankster
    2012-08-10

    Re my last error, I found on this changelog an entry saying that libcupsdriver.so no longer exists in 1.6:
    http://www.cups.org/articles.php?L634 see entry r9989

    That is talking about Windows build, but it might be fair to assume that it's been removed elsewhere, too? Don't know where it sat in the SVN tree, so can't easily go and look.

     
  • PaulN
    PaulN
    2012-08-29

    Try c2esp26~rc1. It's supposed to distinguish between cups 1.6 and earlier versions.
    And uses cups-config to link the correct libs and to install to the right place.
    It would be great if people with cups 1.6 could test that, it's quite likely to need some tweaking.

     
  • adskankster
    adskankster
    2012-08-30

    Hi Paul,

    Thanks for the update. When I try and build it, I get an error because it is looking for image.h in /usr/include/cups-filters whereas I have it in /usr/include/cupsfilter. Not sure if that's Arch specific?

    Also it's still looking for driver.h in /usr/include/cups.

    I symlinked the above to get past that, and now have some other errors that I don't really get:

    cups api detected 1.6
    The cups 1.6 tests
    look in /usr/include/cups-filters for image and driver
    # … OK!
    #
    cc -march=i686 -mtune=generic -O2 -pipe -fstack-protector -param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -O2 -Wall -o c2esp c2esp.o c2espcommon.o Usage: cups-config -api-version        cups-config -build        cups-config -cflags        cups-config -datadir        cups-config -help        cups-config -ldflags        cups-config   -libs        cups-config -serverbin        cups-config -serverroot        cups-config -version -lcupsimage -lcups -Wl,-O1,-sort-common,-as-needed,-z,relro -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lz -lpthread -lm -lcrypt -lz jbig85.o jbig_ar.o
    cc: error: Usage:: No such file or directory
    cc: error: cups-config: No such file or directory
    cc: error: unrecognized command line option '-api-version'
    cc: error: cups-config: No such file or directory
    cc: error: unrecognized command line option '-build'
    cc: error: cups-config: No such file or directory
    cc: error: unrecognized command line option '-cflags'
    cc: error: cups-config: No such file or directory
    cc: error: unrecognized command line option '-datadir'
    cc: error: cups-config: No such file or directory
    cc: error: cups-config: No such file or directory
    cc: error: unrecognized command line option '-ldflags'
    cc: error: cups-config: No such file or directory
    cc: error: : No such file or directory
    cc: error: : No such file or directory
    cc: error: unrecognized command line option '-libs'
    cc: error: cups-config: No such file or directory
    cc: error: unrecognized command line option '-serverbin'
    cc: error: cups-config: No such file or directory
    cc: error: unrecognized command line option '-serverroot'
    cc: error: cups-config: No such file or directory
    Usage: cc  file…

    I had to modify the AUR package to di this, so I may have messed something up. Let me know if there's anything else you need.

     
  • PaulN
    PaulN
    2012-08-30

    I think the cups-filters  vs cupsfilters mix up is me confusing the directory name with the package name.

    I was not sure if driver.h had also moved to cupsfilters, I guess it had.

    I think the huge error message stream is due to me not being very good at writing makefiles. it looks like I have passed the help output from cups-config to cc instead of the list of libs to link that I wanted. I should be able to fix that because I seem to have things working OK with cups ver 1.5.

    I'll create a new version tonight (UK time) with as much of those errors fixed as possible. i hope we can get it working in a couple more iterations.

     
  • adskankster
    adskankster
    2012-08-30

    Okay that's great, thanks.

    Something I forgot to mention above, those errors were repeated several times for different commands/entries so you may want to check more than just the one I mention.

     
  • PaulN
    PaulN
    2012-08-30

    c2esp26~rc2 is uploaded now.
    can you also tell me what you get when you do these in terminal?
            cups-config -image -libs
            cups-config -driver -libs
    Thanks

     
  • adskankster
    adskankster
    2012-08-30

    Building now gives me this error:

    # Compile Dependencies in cups…
    cups api detected 1.6
    The cups 1.6 tests
    look in /usr/include/cupsfilters for image and driver
          ***
          *** Error: /usr/include/cupsfilters/raster.h is not installed!
          ***
          *** Install cups raster library package
          *** for Ubuntu: something like sudo apt-get install libcupsimage2-dev ?
          ***
    make: ***  Error 1

    I got that even after symlinking raster.h from cupsfilters, as it's in cups.

    The outputs from the commands are as follows:

    $cups-config -image -libs
    -lcupsimage -lcups -Wl,-O1,-sort-common,-as-needed,-z,relro -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lz -lpthread -lm -lcrypt -lz

    $cups-config -driver -libs
    Usage: cups-config -api-version
           cups-config -build
           cups-config -cflags
           cups-config -datadir
           cups-config -help
           cups-config -ldflags
           cups-config   -libs
           cups-config -serverbin
           cups-config -serverroot
           cups-config -version

    I'm off for the night now, but I'll be back online tomorrow UK time.

     
  • PaulN
    PaulN
    2012-08-30

    it looks like there is no cups-config -driver -libs  option in ver 1.6 so I have tried to call that only for earlier versions

     
  • adskankster
    adskankster
    2012-08-31

    Thanks for that.

    Right, firstly I have a confession to make. I messed up the /usr/include/cupsfilters directory name. In post 16 above I called it /usr/include/cupsfilter but it should be /usr/include/cupsfilters. I got round that with a symlink for now, but it will need to be changed. My mistake, sorry about that.

    Second, it's still looking for driver.h in /usr/include/cups whereas it's in /usr/include/cupsfilters. Again I got round that with a symlink.

    Then I got the following error:

    #
    # Compile Dependencies general…
    #
    # Compile Dependencies in cups…
    cups api detected 1.6
    The cups 1.6 tests
    look in /usr/include/cupsfilter for image and driver
    # … OK!
    #
    cc -march=i686 -mtune=generic -O2 -pipe -fstack-protector -param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -O2 -Wall   -c -o c2esp.o c2esp.c
    c2esp.c: In function 'output_jbig':
    c2esp.c:389:5: warning: variable 'rc' set but not used
    c2esp.c: In function 'DitherProcess':
    c2esp.c:751:6: warning: unused variable 'output'
    c2esp.c:800:25: warning: 'x' may be used uninitialized in this function
    c2esp.c: In function 'main':
    c2esp.c:1193:26: warning: 'cmykTrans600' may be used uninitialized in this function
    c2esp.c:1192:55: warning: 'cmykTrans300' may be used uninitialized in this function
    cc -march=i686 -mtune=generic -O2 -pipe -fstack-protector -param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -O2 -Wall   -c -o c2espcommon.o c2espcommon.c
    cc -march=i686 -mtune=generic -O2 -pipe -fstack-protector -param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -O2 -Wall   -c -o jbig85.o jbig85.c
    cc -march=i686 -mtune=generic -O2 -pipe -fstack-protector -param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -O2 -Wall   -c -o jbig_ar.o jbig_ar.c
    cc -march=i686 -mtune=generic -O2 -pipe -fstack-protector -param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -O2 -Wall -o c2esp c2esp.o c2espcommon.o  -lcupsimage -lcups -Wl,-O1,-sort-common,-as-needed,-z,relro -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lz -lpthread -lm -lcrypt -lz jbig85.o jbig_ar.o
    c2esp.o: In function `SetUpDither':
    c2esp.c:(.text+0x12ab): undefined reference to `cupsLutNew'
    c2esp.c:(.text+0x12b7): undefined reference to `cupsDitherNew'
    c2esp.c:(.text+0x12de): undefined reference to `cupsLutNew'
    c2esp.c:(.text+0x12ea): undefined reference to `cupsDitherNew'
    c2esp.c:(.text+0x1307): undefined reference to `cupsLutNew'
    c2esp.c:(.text+0x1320): undefined reference to `cupsLutNew'
    c2esp.c:(.text+0x132b): undefined reference to `cupsDitherNew'
    c2esp.o: In function `Terminate':
    c2esp.c:(.text+0x17e2): undefined reference to `cupsDitherDelete'
    c2esp.c:(.text+0x17f0): undefined reference to `cupsLutDelete'
    c2esp.o: In function `DitherProcess':
    c2esp.c:(.text+0x1c66): undefined reference to `cupsDitherLine'
    c2esp.o: In function `main':
    c2esp.c:(.text.startup+0x2c6): undefined reference to `cupsCMYKLoad'
    c2esp.c:(.text.startup+0x2ed): undefined reference to `cupsCMYKLoad'
    c2esp.c:(.text.startup+0xafa): undefined reference to `cupsCMYKDoRGB'
    c2esp.c:(.text.startup+0xc00): undefined reference to `cupsCMYKDoRGB'
    collect2: error: ld returned 1 exit status
    make: ***  Error 1

     
  • PaulN
    PaulN
    2012-08-31

    OK - I will change it to look for image.h and driver.h in /usr/include/cupsfilters.
    Then the undefined reference errors are probably due to not linking the libcupsdriver library. Can you try and discover what that is called and where it is on your system?
    On my system I can get it using cups-config -driver -libs, but it looks like there's no -driver option with cups 1.6?

     
  • PaulN
    PaulN
    2012-08-31

    uploading c2esp26~rc4 now

     
  • adskankster
    adskankster
    2012-09-04

    Sorry about the delay, I've been away. I'll try and get to testing this today or tomorrow, depending on what else comes up, after I've caught up on stuff.

     
1 2 > >> (Page 1 of 2)