fritz-hh / OCRmyPDF

OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched
260 stars 31 forks source link

v3.rc8 fails with pdf not recognized #118

Closed MASantos closed 9 years ago

MASantos commented 9 years ago

I installed from the tarball under ubuntu server 14.04.3.

As far as I noticed, all dependencies are up to date. It seems to fail to recognize a given pdf files as a valid input. This is an AutoCAD pdf output. This file works fine with http://solutions.weblite.ca/pdfocrx/index.php a similar app for the OSX.

Any hint on how to solve this? Thanks in advance. Output log follows:

#ocrmypdf -v 10 -f M101.pdf M101-searchable-ocrmy.pdf

    [{'height_inches': Decimal('48'), 'pageno': 0, 'has_text': True, 'images': [{'height': 1093, 'color': 'rgb', 'bpc': 8, 'dpi': Decimal('10.0600'), 'width': 160, 'enc': 'image', 'dpi_h': Decimal('22.7708'), 'dpi_w': Decimal('4.44444'), 'comp': 3}], 'width_pixels': 160, 'height_pixels': 1093, 'yres': Decimal('22.7708'), 'xres': Decimal('4.44444'), 'width_inches': Decimal('36')}]
   Checksum use calculated time as well: No 1 second pause...
  Task = 'ocrmypdf.main.repair_pdf'
    Needing update:
      Job  = [M101.pdf -> .../com.github.ocrmypdf.gu23q44s/M101.repaired.pdf, <ocrmypdf.main.WrappedLogger>, [], <_thread.lock>]

________________________________________
Tasks which will be run:

    fill_queue_with_job_parameters START
   job_parameter_generator BEGIN
   job_parameter_generator consider task = 'ocrmypdf.main.repair_pdf'
   job_parameter_generator task 'ocrmypdf.main.repair_pdf' not in progress
   job_parameter_generator start task 'ocrmypdf.main.repair_pdf' (parents completed)
Task enters queue = 'ocrmypdf.main.repair_pdf'
    Job  = [M101.pdf -> .../com.github.ocrmypdf.gu23q44s/M101.repaired.pdf, <ocrmypdf.main.WrappedLogger>, [], <_thread.lock>] ...
        Missing file [.../com.github.ocrmypdf.gu23q44s/M101.repaired.pdf]
    fill_queue_with_job_parameters=>('M101.pdf', '/tmp/com.github.ocrmypdf.gu23q44s/M101.repaired.pdf', <ocrmypdf.main.WrappedLogger object at 0x7f62858b6f60>, <ListProxy object, typeid 'list' at 0x7f62858c35c0>, <AcquirerProxy object, typeid 'Lock' at 0x7f62858c34a8>)
   job_parameter_generator consider task = 'ocrmypdf.main.split_pages'
   job_parameter_generator task 'ocrmypdf.main.split_pages' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.rasterize_with_ghostscript'
   job_parameter_generator task 'ocrmypdf.main.rasterize_with_ghostscript' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.preprocess_deskew'
   job_parameter_generator task 'ocrmypdf.main.preprocess_deskew' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.preprocess_clean'
   job_parameter_generator task 'ocrmypdf.main.preprocess_clean' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.select_image_for_pdf'
   job_parameter_generator task 'ocrmypdf.main.select_image_for_pdf' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.ocr_tesseract_hocr'
   job_parameter_generator task 'ocrmypdf.main.ocr_tesseract_hocr' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.render_hocr_debug_page'
   job_parameter_generator task 'ocrmypdf.main.render_hocr_debug_page' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.render_hocr_page'
   job_parameter_generator task 'ocrmypdf.main.render_hocr_page' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.skip_page'
   job_parameter_generator task 'ocrmypdf.main.skip_page' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.tesseract_ocr_and_render_pdf'
   job_parameter_generator task 'ocrmypdf.main.tesseract_ocr_and_render_pdf' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.generate_postscript_stub'
   job_parameter_generator task 'ocrmypdf.main.generate_postscript_stub' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.merge_pages'
   job_parameter_generator task 'ocrmypdf.main.merge_pages' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.copy_final'
   job_parameter_generator task 'ocrmypdf.main.copy_final' not in progress
    incomplete tasks = ocrmypdf.main.repair_pdf,ocrmypdf.main.split_pages,ocrmypdf.main.rasterize_with_ghostscript,ocrmypdf.main.preprocess_deskew,ocrmypdf.main.preprocess_clean,ocrmypdf.main.select_image_for_pdf,ocrmypdf.main.ocr_tesseract_hocr,ocrmypdf.main.render_hocr_debug_page,ocrmypdf.main.render_hocr_page,ocrmypdf.main.skip_page,ocrmypdf.main.tesseract_ocr_and_render_pdf,ocrmypdf.main.generate_postscript_stub,ocrmypdf.main.merge_pages,ocrmypdf.main.copy_final
    fill_queue_with_job_parameters WAITING for task to complete
    fill_queue_with_job_parameters END
   Send params to Pooled Process START
   Get next parameter size = 1
   Get next parameter done
   Send params to Pooled Process=>('M101.pdf', '/tmp/com.github.ocrmypdf.gu23q44s/M101.repaired.pdf', <ocrmypdf.main.WrappedLogger object at 0x7f62858b6f60>, <ListProxy object, typeid 'list' at 0x7f62858c35c0>, <AcquirerProxy object, typeid 'Lock' at 0x7f62858c34a8>)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[[ job_wrapper ]]>>>>>>>>>>>>>>>>>>>>>>>>>>>
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww[[ task() done ]]wwwwwwwwwwwwwwwwwwwwwwwwwww
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[[ job_wrapper done ]]<<<<<<<<<<<<<<<<<<<<<<
    Job  = [M101.pdf -> .../com.github.ocrmypdf.gu23q44s/M101.repaired.pdf, <ocrmypdf.main.WrappedLogger>, [], <_thread.lock>] completed
   Job History : ../../../tmp/com.github.ocrmypdf.gu23q44s/M101.repaired.pdf
   Job History Saved: ../../../tmp/com.github.ocrmypdf.gu23q44s/M101.repaired.pdf
   _is_up_to_date completed task & checksum...
   job errors?
   Fill queue with more parameter...
    fill_queue_with_job_parameters START
   Last job for 'ocrmypdf.main.repair_pdf'. Retired from incomplete tasks in pipeline_run
Completed Task = 'ocrmypdf.main.repair_pdf'
   job_parameter_generator consider task = 'ocrmypdf.main.split_pages'
   job_parameter_generator task 'ocrmypdf.main.split_pages' not in progress
   job_parameter_generator start task 'ocrmypdf.main.split_pages' (parents completed)
Task enters queue = 'ocrmypdf.main.split_pages'
    Job  = [.../com.github.ocrmypdf.gu23q44s/M101.repaired.pdf -> .../com.github.ocrmypdf.gu23q44s/*.page.pdf, <ocrmypdf.main.WrappedLogger>, [{'height_inches': Decimal('48'), 'pageno': 0, 'has_text': True, 'images': [{'height': 1093, 'color': 'rgb', 'bpc': 8, 'dpi': Decimal('10.0600'), 'width': 160, 'enc': 'image', 'dpi_h': Decimal('22.7708'), 'dpi_w': Decimal('4.44444'), 'comp': 3}], 'width_pixels': 160, 'height_pixels': 1093, 'yres': Decimal('22.7708'), 'xres': Decimal('4.44444'), 'width_inches': Decimal('36')}], <_thread.lock>] Missing output file
    fill_queue_with_job_parameters=>('/tmp/com.github.ocrmypdf.gu23q44s/M101.repaired.pdf', [], <ocrmypdf.main.WrappedLogger object at 0x7f62858b6f60>, <ListProxy object, typeid 'list' at 0x7f62858c35c0>, <AcquirerProxy object, typeid 'Lock' at 0x7f62858c34a8>)
   job_parameter_generator consider task = 'ocrmypdf.main.rasterize_with_ghostscript'
   job_parameter_generator task 'ocrmypdf.main.rasterize_with_ghostscript' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.preprocess_deskew'
   job_parameter_generator task 'ocrmypdf.main.preprocess_deskew' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.preprocess_clean'
   job_parameter_generator task 'ocrmypdf.main.preprocess_clean' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.select_image_for_pdf'
   job_parameter_generator task 'ocrmypdf.main.select_image_for_pdf' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.ocr_tesseract_hocr'
   job_parameter_generator task 'ocrmypdf.main.ocr_tesseract_hocr' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.render_hocr_debug_page'
   job_parameter_generator task 'ocrmypdf.main.render_hocr_debug_page' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.render_hocr_page'
   job_parameter_generator task 'ocrmypdf.main.render_hocr_page' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.skip_page'
   job_parameter_generator task 'ocrmypdf.main.skip_page' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.tesseract_ocr_and_render_pdf'
   job_parameter_generator task 'ocrmypdf.main.tesseract_ocr_and_render_pdf' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.generate_postscript_stub'
   job_parameter_generator task 'ocrmypdf.main.generate_postscript_stub' not in progress
   job_parameter_generator start task 'ocrmypdf.main.generate_postscript_stub' (parents completed)
Task enters queue = 'ocrmypdf.main.generate_postscript_stub'
    Job  = [.../com.github.ocrmypdf.gu23q44s/M101.repaired.pdf -> .../com.github.ocrmypdf.gu23q44s/M101.pdfa_def.ps, <ocrmypdf.main.WrappedLogger>] ...
        Missing file [.../com.github.ocrmypdf.gu23q44s/M101.pdfa_def.ps]
    fill_queue_with_job_parameters=>('/tmp/com.github.ocrmypdf.gu23q44s/M101.repaired.pdf', '/tmp/com.github.ocrmypdf.gu23q44s/M101.pdfa_def.ps', <ocrmypdf.main.WrappedLogger object at 0x7f62858b6f60>)
    Page 1 already has text! – rasterizing text and running OCR anyway
    os.symlink(/tmp/com.github.ocrmypdf.gu23q44s/000001.page.pdf, /tmp/com.github.ocrmypdf.gu23q44s/000001.ocr.page.pdf)
    Output file: The generated PDF/A file is INVALID
   job_parameter_generator consider task = 'ocrmypdf.main.merge_pages'
   job_parameter_generator task 'ocrmypdf.main.merge_pages' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.copy_final'
   job_parameter_generator task 'ocrmypdf.main.copy_final' not in progress
    incomplete tasks = ocrmypdf.main.split_pages,ocrmypdf.main.rasterize_with_ghostscript,ocrmypdf.main.preprocess_deskew,ocrmypdf.main.preprocess_clean,ocrmypdf.main.select_image_for_pdf,ocrmypdf.main.ocr_tesseract_hocr,ocrmypdf.main.render_hocr_debug_page,ocrmypdf.main.render_hocr_page,ocrmypdf.main.skip_page,ocrmypdf.main.tesseract_ocr_and_render_pdf,ocrmypdf.main.generate_postscript_stub,ocrmypdf.main.merge_pages,ocrmypdf.main.copy_final
    fill_queue_with_job_parameters WAITING for task to complete
    fill_queue_with_job_parameters END
   Get next parameter size = 2
   Get next parameter done
   Send params to Pooled Process=>('/tmp/com.github.ocrmypdf.gu23q44s/M101.repaired.pdf', [], <ocrmypdf.main.WrappedLogger object at 0x7f62858b6f60>, <ListProxy object, typeid 'list' at 0x7f62858c35c0>, <AcquirerProxy object, typeid 'Lock' at 0x7f62858c34a8>)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[[ job_wrapper ]]>>>>>>>>>>>>>>>>>>>>>>>>>>>
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww[[ task() done ]]wwwwwwwwwwwwwwwwwwwwwwwwwww
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[[ job_wrapper done ]]<<<<<<<<<<<<<<<<<<<<<<
    Job  = [.../com.github.ocrmypdf.gu23q44s/M101.repaired.pdf -> .../com.github.ocrmypdf.gu23q44s/*.page.pdf, <ocrmypdf.main.WrappedLogger>, [{'height_inches': Decimal('48'), 'pageno': 0, 'has_text': True, 'images': [{'height': 1093, 'color': 'rgb', 'bpc': 8, 'dpi': Decimal('10.0600'), 'width': 160, 'enc': 'image', 'dpi_h': Decimal('22.7708'), 'dpi_w': Decimal('4.44444'), 'comp': 3}], 'width_pixels': 160, 'height_pixels': 1093, 'yres': Decimal('22.7708'), 'xres': Decimal('4.44444'), 'width_inches': Decimal('36')}], <_thread.lock>] completed
   Job History : ../../../tmp/com.github.ocrmypdf.gu23q44s/000001.ocr.page.pdf
   Job History Saved: ../../../tmp/com.github.ocrmypdf.gu23q44s/000001.ocr.page.pdf
   Job History : ../../../tmp/com.github.ocrmypdf.gu23q44s/000001.page.pdf
   Job History Saved: ../../../tmp/com.github.ocrmypdf.gu23q44s/000001.page.pdf
   _is_up_to_date completed task & checksum...
   job errors?
   Fill queue with more parameter...
    fill_queue_with_job_parameters START
   Last job for 'ocrmypdf.main.split_pages'. Retired from incomplete tasks in pipeline_run
Completed Task = 'ocrmypdf.main.split_pages'
   job_parameter_generator consider task = 'ocrmypdf.main.rasterize_with_ghostscript'
   job_parameter_generator task 'ocrmypdf.main.rasterize_with_ghostscript' not in progress
   job_parameter_generator start task 'ocrmypdf.main.rasterize_with_ghostscript' (parents completed)
Task enters queue = 'ocrmypdf.main.rasterize_with_ghostscript'
    Job  = [.../com.github.ocrmypdf.gu23q44s/000001.ocr.page.pdf -> .../com.github.ocrmypdf.gu23q44s/000001.page.png, <ocrmypdf.main.WrappedLogger>, [{'height_inches': Decimal('48'), 'pageno': 0, 'has_text': True, 'images': [{'height': 1093, 'color': 'rgb', 'bpc': 8, 'dpi': Decimal('10.0600'), 'width': 160, 'enc': 'image', 'dpi_h': Decimal('22.7708'), 'dpi_w': Decimal('4.44444'), 'comp': 3}], 'width_pixels': 160, 'height_pixels': 1093, 'yres': Decimal('22.7708'), 'xres': Decimal('4.44444'), 'width_inches': Decimal('36')}], <_thread.lock>] ...
        Missing file [.../com.github.ocrmypdf.gu23q44s/000001.page.png]
    fill_queue_with_job_parameters=>('/tmp/com.github.ocrmypdf.gu23q44s/000001.ocr.page.pdf', '/tmp/com.github.ocrmypdf.gu23q44s/000001.page.png', <ocrmypdf.main.WrappedLogger object at 0x7f62858b6f60>, <ListProxy object, typeid 'list' at 0x7f62858c35c0>, <AcquirerProxy object, typeid 'Lock' at 0x7f62858c34a8>)
   job_parameter_generator consider task = 'ocrmypdf.main.preprocess_deskew'
   job_parameter_generator task 'ocrmypdf.main.preprocess_deskew' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.preprocess_clean'
   job_parameter_generator task 'ocrmypdf.main.preprocess_clean' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.select_image_for_pdf'
   job_parameter_generator task 'ocrmypdf.main.select_image_for_pdf' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.ocr_tesseract_hocr'
   job_parameter_generator task 'ocrmypdf.main.ocr_tesseract_hocr' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.render_hocr_debug_page'
   job_parameter_generator task 'ocrmypdf.main.render_hocr_debug_page' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.render_hocr_page'
   job_parameter_generator task 'ocrmypdf.main.render_hocr_page' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.skip_page'
   job_parameter_generator task 'ocrmypdf.main.skip_page' not in progress
   job_parameter_generator start task 'ocrmypdf.main.skip_page' (parents completed)
Task enters queue = 'ocrmypdf.main.skip_page'
Uptodate Task = 'ocrmypdf.main.skip_page'
   No jobs created for 'ocrmypdf.main.skip_page'. Retired in parameter_generator

WARNING:
        In Task 'ocrmypdf.main.skip_page':
        No jobs were run because no file names matched.
        Please make sure that the regular expression is correctly specified.
        Job Warning: Input substitution failed:
          File '/tmp/com.github.ocrmypdf.gu23q44s/000001.ocr.page.pdf' does not match suffix('.skip.page.pdf') and pattern '.done.pdf'
        Job Warning: Input substitution failed:
          File '/tmp/com.github.ocrmypdf.gu23q44s/000001.page.pdf' does not match suffix('.skip.page.pdf') and pattern '.done.pdf'

   job_parameter_generator consider task = 'ocrmypdf.main.tesseract_ocr_and_render_pdf'
   job_parameter_generator task 'ocrmypdf.main.tesseract_ocr_and_render_pdf' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.generate_postscript_stub'
   job_parameter_generator consider task = 'ocrmypdf.main.merge_pages'
   job_parameter_generator task 'ocrmypdf.main.merge_pages' not in progress
   job_parameter_generator consider task = 'ocrmypdf.main.copy_final'
   job_parameter_generator task 'ocrmypdf.main.copy_final' not in progress
    incomplete tasks = ocrmypdf.main.rasterize_with_ghostscript,ocrmypdf.main.preprocess_deskew,ocrmypdf.main.preprocess_clean,ocrmypdf.main.select_image_for_pdf,ocrmypdf.main.ocr_tesseract_hocr,ocrmypdf.main.render_hocr_debug_page,ocrmypdf.main.render_hocr_page,ocrmypdf.main.tesseract_ocr_and_render_pdf,ocrmypdf.main.generate_postscript_stub,ocrmypdf.main.merge_pages,ocrmypdf.main.copy_final
    fill_queue_with_job_parameters WAITING for task to complete
    fill_queue_with_job_parameters END
   Get next parameter size = 2
   Get next parameter done
   Send params to Pooled Process=>('/tmp/com.github.ocrmypdf.gu23q44s/M101.repaired.pdf', '/tmp/com.github.ocrmypdf.gu23q44s/M101.pdfa_def.ps', <ocrmypdf.main.WrappedLogger object at 0x7f62858b6f60>)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[[ job_wrapper ]]>>>>>>>>>>>>>>>>>>>>>>>>>>>
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE[[ Other Interrupt ]]EEEEEEEEEEEEEEEEEEEEEEE
   JOB ERROR / JOB_SIGNALLED_BREAK: Job  = [.../com.github.ocrmypdf.gu23q44s/M101.repaired.pdf -> .../com.github.ocrmypdf.gu23q44s/M101.pdfa_def.ps, <ocrmypdf.main.WrappedLogger>]
   Exception caught for Job  = [.../com.github.ocrmypdf.gu23q44s/M101.repaired.pdf -> .../com.github.ocrmypdf.gu23q44s/M101.pdfa_def.ps, <ocrmypdf.main.WrappedLogger>]
   Break loop False 1 1

Original exception:

    Exception #1
      'builtins.TypeError(unsupported operand type(s) for +=: 'NoneType' and 'str')' raised in ...
       Task = def ocrmypdf.main.generate_postscript_stub(...):
       Job  = [.../com.github.ocrmypdf.gu23q44s/M101.repaired.pdf -> .../com.github.ocrmypdf.gu23q44s/M101.pdfa_def.ps, <ocrmypdf.main.WrappedLogger>]

    Traceback (most recent call last):
      File "/usr/local/lib/python3.4/dist-packages/ruffus/task.py", line 751, in run_pooled_job_without_exceptions
        register_cleanup, touch_files_only)
      File "/usr/local/lib/python3.4/dist-packages/ruffus/task.py", line 567, in job_wrapper_io_files
        ret_val = user_defined_work_func(*params)
      File "/usr/local/lib/python3.4/dist-packages/ocrmypdf/main.py", line 756, in generate_postscript_stub
        generate_pdfa_def(output_file, pdfmark)
      File "/usr/local/lib/python3.4/dist-packages/ocrmypdf/pdfa.py", line 121, in generate_pdfa_def
        icc_profile = os.path.join(_get_postscript_icc_path(), 'srgb.icc')
      File "/usr/lib/python3.4/posixpath.py", line 83, in join
        path += b
    TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str'

M101.pdf: not a valid PDF, and could not repair it.
Details:
open M101-searchable-ocrmy.pdf: No such file or directory

ubuntu@vbox.mbp[22:55]:~/Test$
MASantos commented 9 years ago

PS: Just to add that https://github.com/virantha/pypdfocr manages to process my file and outputs a searchable pdf. Would be great if ocrmypdf could also do it, as the momentum in that other projects seems to fading away.

jbarlow83 commented 9 years ago

The problem is during PDF/A conversion. It is looking for a folder named "iccprofiles" containing a file named "srgb.icc". It asked Ghostscript for how to find this and got no answer. I've never seen Ghostscript fail to find it so there is no error handling for the case.

You can install the package in development mode (pip install -e .) and try to fix it yourself if you need it immediately (ocrmypdf/pdfa.py@_get_postscript_iccpath). You could also use the Docker container that includes this missing file.

To help me fix this:

What is the output of gs --help?

Could you also search your OS folders for any file named srgb.icc so we can find out where it was supposed to look?

MASantos commented 9 years ago

Thanks for quick reply. Below the output. Looking at that of find, I'm thinking something may have gone wrong with my installation of gs 9.14. I had to compile and install myself. Things went ok, it seemed, but it's strange that the only system-wide copy of srgb.icc is the one of gs 9.10 -the default one of ubuntu 9.14.04. I will check that again.

Meanwhile, here those answers:

root@vbox.mbp[05:43]:~#find / -iname "*srgb.icc*"
/home/ubuntu/ghostscript-9.14/iccprofiles/srgb.icc
/usr/share/ghostscript/9.10/iccprofiles/srgb.icc
root@vbox.mbp[05:45]:~#gs --version
9.14
root@vbox.mbp[05:45]:~#gs --help
GPL Ghostscript 9.14 (2014-03-26)
Copyright (C) 2014 Artifex Software, Inc.  All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
 -dNOPAUSE           no pause after page   | -q       `quiet', fewer messages
 -g<width>x<height>  page size in pixels   | -r<res>  pixels/inch resolution
 -sDEVICE=<devname>  select device         | -dBATCH  exit after last file
 -sOutputFile=<file> select output file: - for stdout, |command for pipe,
                                         embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
Default output device: bbox
Available devices:
   alc1900 alc2000 alc4000 alc4100 alc8500 alc8600 alc9100 ap3250 appledmp
   atx23 atx24 atx38 bbox bit bitcmyk bitrgb bitrgbtags bj10e bj10v bj10vh
   bj200 bjc600 bjc800 bjc880j bjccmyk bjccolor bjcgray bjcmono bmp16 bmp16m
   bmp256 bmp32b bmpgray bmpmono bmpsep1 bmpsep8 ccr cdeskjet cdj1600 cdj500
   cdj550 cdj670 cdj850 cdj880 cdj890 cdj970 cdjcolor cdjmono cdnj500 cfax
   chp2200 cif cljet5 cljet5c cljet5pr coslw2p coslwxl cp50 declj250 deskjet
   devicen dfaxhigh dfaxlow dj505j djet500 djet500c dl2100 dnj650c epl2050
   epl2050p epl2120 epl2500 epl2750 epl5800 epl5900 epl6100 epl6200 eplcolor
   eplmono eps2write eps9high eps9mid epson epsonc epswrite escp escpage
   faxg3 faxg32d faxg4 fmlbp fmpr fpng fs600 gdi hl1240 hl1250 hl7x0
   hpdj1120c hpdj310 hpdj320 hpdj340 hpdj400 hpdj500 hpdj500c hpdj510
   hpdj520 hpdj540 hpdj550c hpdj560c hpdj600 hpdj660c hpdj670c hpdj680c
   hpdj690c hpdj850c hpdj855c hpdj870c hpdj890c hpdjplus hpdjportable ibmpro
   ijs imagen inferno ink_cov inkcov iwhi iwlo iwlq jetp3852 jj100 jpeg
   jpegcmyk jpeggray la50 la70 la75 la75plus laserjet lbp310 lbp320 lbp8
   lex2050 lex3200 lex5700 lex7000 lips2p lips3 lips4 lips4v lj250 lj3100sw
   lj4dith lj4dithp lj5gray lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d
   ljet4pjl ljetplus ln03 lp1800 lp1900 lp2000 lp2200 lp2400 lp2500 lp2563
   lp3000c lp7500 lp7700 lp7900 lp8000 lp8000c lp8100 lp8200c lp8300c
   lp8300f lp8400f lp8500c lp8600 lp8600f lp8700 lp8800c lp8900 lp9000b
   lp9000c lp9100 lp9200b lp9200c lp9300 lp9400 lp9500c lp9600 lp9600s
   lp9800c lps4500 lps6500 lq850 lxm3200 lxm5700m m8510 mag16 mag256
   md1xMono md2k md50Eco md50Mono md5k mgr4 mgr8 mgrgray2 mgrgray4 mgrgray8
   mgrmono miff24 mj500c mj6000c mj700v2c mj8000c ml600 necp6 npdl nullpage
   oce9050 oki182 oki4w okiibm oprp opvp paintjet pam pamcmyk32 pamcmyk4 pbm
   pbmraw pcl3 pcx16 pcx24b pcx256 pcx2up pcxcmyk pcxgray pcxmono pdfwrite
   pgm pgmraw pgnm pgnmraw photoex picty180 pj pjetxl pjxl pjxl300 pkm
   pkmraw pksm pksmraw plan plan9bm planc plang plank planm png16 png16m
   png256 png48 pngalpha pnggray pngmono pnm pnmraw ppm ppmraw pr1000
   pr1000_4 pr150 pr201 ps2write psdcmyk psdcmykog psdrgb pxlcolor pxlmono
   r4081 rinkj rpdl samsunggdi sgirgb sj48 spotcmyk st800 stcolor sunhmono
   t4693d2 t4693d4 t4693d8 tek4696 tiff12nc tiff24nc tiff32nc tiff48nc
   tiff64nc tiffcrle tiffg3 tiffg32d tiffg4 tiffgray tifflzw tiffpack
   tiffscaled tiffsep tiffsep1 txtwrite uniprint xcf xes xpswrite
Search path:
   %rom%Resource/Init/ : %rom%lib/ :
   /usr/local/share/ghostscript/9.14/Resource/Init :
   /usr/local/share/ghostscript/9.14/lib :
   /usr/local/share/ghostscript/9.14/Resource/Font :
   /usr/local/share/ghostscript/fonts :
   /usr/local/share/fonts/default/ghostscript :
   /usr/local/share/fonts/default/Type1 :
   /usr/local/share/fonts/default/TrueType : /usr/lib/DPS/outline/base :
   /usr/openwin/lib/X11/fonts/Type1 : /usr/openwin/lib/X11/fonts/TrueType
Initialization files are compiled into the executable.
For more information, see /usr/local/share/ghostscript/9.14/doc/Use.htm.
Please report bugs to bugs.ghostscript.com.
jbarlow83 commented 9 years ago

It does look like something isn't right with your ghostscript reinstall. Maybe you did a make without make install?

You could try copying /home/ubuntu/ghostscript-9.14/iccprofiles/srgb.icc to /usr/local/share/ghostscript/9.14/lib/iccprofiles/srgb.icc, where the file is expected to be.

MASantos commented 9 years ago

"Maybe you did a make without a make install?"

Nah. Otherwise gs --version wouldn't show 9.14. But I checked it: the configure of ghostcript 9.14 sets the default prefix to /usr/local and it's there where it's located. However, this installation under /usr/local doesn't come with the iccprofiles.

Furthermore, a closer look to its config.log shows a few more errors during configuration. Mind you configure did end with exit status 0.

Simply substituting srgb.icc file with 9.14's version didn't make any difference.

I gues I'll have to dig further into this and/or have a look at gs mailing list. Thanks again.

PS: Error lines in ghostscript 9.14 config.log

ubuntu@vbox.mbp[14:40]:~/ghostscript-9.14$cat config-default.log | grep -C 3 fatal
configure:2978: $? = 0
configure:2967: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:2978: $? = 4
configure:2967: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:2978: $? = 4
configure:2998: checking whether the C compiler works
--
configure:3479: gcc -E  conftest.c
configure:3479: $? = 0
configure:3493: gcc -E  conftest.c
conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
--
configure:3538: gcc -E  conftest.c
configure:3538: $? = 0
configure:3552: gcc -E  conftest.c
conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
--
configure:4532: result: yes
configure:4532: checking ndir.h usability
configure:4532: gcc -c   conftest.c >&5
conftest.c:68:18: fatal error: ndir.h: No such file or directory
 #include <ndir.h>
                  ^
compilation terminated.
--
configure:4532: result: no
configure:4532: checking ndir.h presence
configure:4532: gcc -E  conftest.c
conftest.c:35:18: fatal error: ndir.h: No such file or directory
 #include <ndir.h>
                  ^
compilation terminated.
--
configure:4532: result: yes
configure:4532: checking sys/ndir.h usability
configure:4532: gcc -c   conftest.c >&5
conftest.c:69:22: fatal error: sys/ndir.h: No such file or directory
 #include <sys/ndir.h>
                      ^
compilation terminated.
--
configure:4532: result: no
configure:4532: checking sys/ndir.h presence
configure:4532: gcc -E  conftest.c
conftest.c:36:22: fatal error: sys/ndir.h: No such file or directory
 #include <sys/ndir.h>
                      ^
compilation terminated.
--
configure:4532: result: yes
configure:4554: checking sys/window.h usability
configure:4554: gcc -c   conftest.c >&5
conftest.c:70:24: fatal error: sys/window.h: No such file or directory
 #include <sys/window.h>
                        ^
compilation terminated.
--
configure:4554: result: no
configure:4554: checking sys/window.h presence
configure:4554: gcc -E  conftest.c
conftest.c:37:24: fatal error: sys/window.h: No such file or directory
 #include <sys/window.h>
                        ^
compilation terminated.
--
configure:6864: result: no
configure:6869: checking cups/raster.h usability
configure:6869: gcc -c   conftest.c >&5
conftest.c:76:25: fatal error: cups/raster.h: No such file or directory
 #include <cups/raster.h>
                         ^
compilation terminated.
--
configure:6869: result: no
configure:6869: checking cups/raster.h presence
configure:6869: gcc -E  conftest.c
conftest.c:43:25: fatal error: cups/raster.h: No such file or directory
 #include <cups/raster.h>
                         ^
compilation terminated.
--
configure:7336: result: yes
configure:7434: checking for X
configure:7542: gcc -E  conftest.c
conftest.c:44:22: fatal error: X11/Xlib.h: No such file or directory
 #include <X11/Xlib.h>
                      ^
compilation terminated.
--
| /* end confdefs.h.  */
| #include <X11/Xlib.h>
configure:7573: gcc -o conftest    conftest.c -lX11 -ldl -lm  >&5
conftest.c:44:22: fatal error: X11/Xlib.h: No such file or directory
 #include <X11/Xlib.h>
                      ^
compilation terminated.
--
configure:8913: result: yes
configure:8926: checking vfork.h usability
configure:8926: gcc -c   conftest.c >&5
conftest.c:84:19: fatal error: vfork.h: No such file or directory
 #include <vfork.h>
                   ^
compilation terminated.
--
configure:8926: result: no
configure:8926: checking vfork.h presence
configure:8926: gcc -E  conftest.c
conftest.c:51:19: fatal error: vfork.h: No such file or directory
 #include <vfork.h>
                   ^
compilation terminated.

These are all errors reported in config.log.