IM Mac OS X Tiger can't find Ghostscript - SOLVED

Post any defects you find in the released or beta versions of the ImageMagick software here. Include the ImageMagick version, OS, and any command-line required to reproduce the problem. Got a patch for a bug? Post it here.
Post Reply
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

IM Mac OS X Tiger can't find Ghostscript - SOLVED

Post by fmw42 »

Hi,

I have tried over several versions of IM 6.8.3-x to build IM from source on Mac OS X Tiger, but each time it fails to find my installed Ghostscript delegate library.

I am using the following configure

./configure --enable-delegate-build --enable-shared --disable-static \
--with-modules --with-quantum-depth=16 --without-wmf \
--enable-libtool-verbose --disable-dependency-tracking \
--with-gs-font-dir=/usr/local/share/ghostscript/fonts/ --with-lqr

When I review the terminal log after the configure, the section on checking for Ghostscript says no.

But I can find the following files in my directory tree:

/usr/local/bin/gs
/usr/local/bin/gsbj
/usr/local/bin/gsdj
/usr/local/bin/gsdj500
/usr/local/bin/gslj
/usr/local/bin/gslp
/usr/local/bin/gsnd
/usr/local/include/glib-2.0/glib/gscanner.h
/usr/local/include/glib-2.0/glib/gshell.h
/usr/local/include/glib-2.0/glib/gslice.h
/usr/local/include/glib-2.0/glib/gslist.h
/usr/local/include/glib-2.0/glib/gspawn.h
/usr/local/include/glib-2.0/glib/gstdio.h
/usr/local/include/glib-2.0/glib/gstrfuncs.h
/usr/local/include/glib-2.0/glib/gstring.h
/usr/local/include/glib-2.0/gobject/gsignal.h
/usr/local/include/glib-2.0/gobject/gsourceclosure.h
/usr/local/man/de/man1/gsbj.1
/usr/local/man/de/man1/gsdj.1
/usr/local/man/de/man1/gsdj500.1
/usr/local/man/de/man1/gslj.1
/usr/local/man/de/man1/gsnd.1
/usr/local/man/man1/gs.1
/usr/local/man/man1/gsbj.1
/usr/local/man/man1/gsdj.1
/usr/local/man/man1/gsdj500.1
/usr/local/man/man1/gslj.1
/usr/local/man/man1/gslp.1
/usr/local/man/man1/gsnd.1
/usr/local/share/ghostscript/8.15/doc/gs.css
/usr/local/share/ghostscript/8.15/lib/gs_agl.ps
/usr/local/share/ghostscript/8.15/lib/gs_btokn.ps
/usr/local/share/ghostscript/8.15/lib/gs_ccfnt.ps
/usr/local/share/ghostscript/8.15/lib/gs_ce_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_cff.ps
/usr/local/share/ghostscript/8.15/lib/gs_cidcm.ps
/usr/local/share/ghostscript/8.15/lib/gs_ciddc.ps
/usr/local/share/ghostscript/8.15/lib/gs_cidfm.ps
/usr/local/share/ghostscript/8.15/lib/gs_cidfn.ps
/usr/local/share/ghostscript/8.15/lib/gs_cidtt.ps
/usr/local/share/ghostscript/8.15/lib/gs_ciecs2.ps
/usr/local/share/ghostscript/8.15/lib/gs_ciecs3.ps
/usr/local/share/ghostscript/8.15/lib/gs_cmap.ps
/usr/local/share/ghostscript/8.15/lib/gs_cmdl.ps
/usr/local/share/ghostscript/8.15/lib/gs_cspace.ps
/usr/local/share/ghostscript/8.15/lib/gs_css_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_dbt_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_devcs.ps
/usr/local/share/ghostscript/8.15/lib/gs_devn.ps
/usr/local/share/ghostscript/8.15/lib/gs_devpxl.ps
/usr/local/share/ghostscript/8.15/lib/gs_diskf.ps
/usr/local/share/ghostscript/8.15/lib/gs_diskn.ps
/usr/local/share/ghostscript/8.15/lib/gs_dpnxt.ps
/usr/local/share/ghostscript/8.15/lib/gs_dps.ps
/usr/local/share/ghostscript/8.15/lib/gs_dps1.ps
/usr/local/share/ghostscript/8.15/lib/gs_dps2.ps
/usr/local/share/ghostscript/8.15/lib/gs_dscp.ps
/usr/local/share/ghostscript/8.15/lib/gs_epsf.ps
/usr/local/share/ghostscript/8.15/lib/gs_fapi.ps
/usr/local/share/ghostscript/8.15/lib/gs_fform.ps
/usr/local/share/ghostscript/8.15/lib/gs_fntem.ps
/usr/local/share/ghostscript/8.15/lib/gs_fonts.ps
/usr/local/share/ghostscript/8.15/lib/gs_frsd.ps
/usr/local/share/ghostscript/8.15/lib/gs_icc.ps
/usr/local/share/ghostscript/8.15/lib/gs_il1_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_il2_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_img.ps
/usr/local/share/ghostscript/8.15/lib/gs_indxd.ps
/usr/local/share/ghostscript/8.15/lib/gs_init.ps
/usr/local/share/ghostscript/8.15/lib/gs_kanji.ps
/usr/local/share/ghostscript/8.15/lib/gs_ksb_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_l.xbm
/usr/local/share/ghostscript/8.15/lib/gs_l.xpm
/usr/local/share/ghostscript/8.15/lib/gs_l2img.ps
/usr/local/share/ghostscript/8.15/lib/gs_l_m.xbm
/usr/local/share/ghostscript/8.15/lib/gs_lev2.ps
/usr/local/share/ghostscript/8.15/lib/gs_lgo_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_lgx_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_ll3.ps
/usr/local/share/ghostscript/8.15/lib/gs_m.xbm
/usr/local/share/ghostscript/8.15/lib/gs_m.xpm
/usr/local/share/ghostscript/8.15/lib/gs_m_m.xbm
/usr/local/share/ghostscript/8.15/lib/gs_mex_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_mgl_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_mro_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_patrn.ps
/usr/local/share/ghostscript/8.15/lib/gs_pdf_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_pdfwr.ps
/usr/local/share/ghostscript/8.15/lib/gs_pfile.ps
/usr/local/share/ghostscript/8.15/lib/gs_rdlin.ps
/usr/local/share/ghostscript/8.15/lib/gs_res.ps
/usr/local/share/ghostscript/8.15/lib/gs_resmp.ps
/usr/local/share/ghostscript/8.15/lib/gs_resst.ps
/usr/local/share/ghostscript/8.15/lib/gs_s.xbm
/usr/local/share/ghostscript/8.15/lib/gs_s.xpm
/usr/local/share/ghostscript/8.15/lib/gs_s_m.xbm
/usr/local/share/ghostscript/8.15/lib/gs_sepr.ps
/usr/local/share/ghostscript/8.15/lib/gs_setpd.ps
/usr/local/share/ghostscript/8.15/lib/gs_statd.ps
/usr/local/share/ghostscript/8.15/lib/gs_std_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_stres.ps
/usr/local/share/ghostscript/8.15/lib/gs_sym_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_t.xbm
/usr/local/share/ghostscript/8.15/lib/gs_t.xpm
/usr/local/share/ghostscript/8.15/lib/gs_t_m.xbm
/usr/local/share/ghostscript/8.15/lib/gs_trap.ps
/usr/local/share/ghostscript/8.15/lib/gs_ttf.ps
/usr/local/share/ghostscript/8.15/lib/gs_typ32.ps
/usr/local/share/ghostscript/8.15/lib/gs_typ42.ps
/usr/local/share/ghostscript/8.15/lib/gs_type1.ps
/usr/local/share/ghostscript/8.15/lib/gs_wan_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_wl1_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_wl2_e.ps
/usr/local/share/ghostscript/8.15/lib/gs_wl5_e.ps
/usr/local/share/ghostscript/8.15/lib/gslp.ps
/usr/local/share/ghostscript/8.15/lib/gsnup.ps


So it would appear that Ghostscript is installed. If this is not the case, please let me know what to look for to properly check for its installation.

However, if I do

convert -list configure and look at the line starting with DELEGATES, I find only

DELEGATES bzlib freetype jpeg jp2 lcms lqr png tiff x11 xml zlib

and no mention of Ghostscript or gs!

How can I get IM to recognize that Ghostscript is installed? Do I need to modify my ./configuration file to tell it where to find Ghostscript and if so, what is the right syntax for doing so given where it is installed?

Thanks
Last edited by fmw42 on 2008-02-26T21:40:10-07:00, edited 3 times in total.
rmagick
Posts: 245
Joined: 2006-03-16T17:30:48-07:00
Location: Durham, NC, USA

Re: Build source on Mac OS X Tiger fails to find Ghostscript

Post by rmagick »

The config.log file will tell you what caused ImageMagick to think it can't use Ghostscript. The text may be a bit obtuse but the info is there. For example, here's the relevant portion of my most recent config.log file:

Code: Select all

configure:37289: result: -------------------------------------------------------------
configure:37291: result: Checking for Ghostscript support
configure:37293: result: -------------------------------------------------------------
configure:37308: checking ghostscript/iapi.h usability
configure:37325: gcc -c -g -Wall -W -pthread  -I/usr/include/freetype2   conftest.c >&5
configure:37332: $? = 0
configure:37346: result: yes
configure:37350: checking ghostscript/iapi.h presence
configure:37365: gcc -E -I/usr/include/freetype2   conftest.c
configure:37372: $? = 0
configure:37386: result: yes
configure:37419: checking for ghostscript/iapi.h
configure:37426: result: yes
configure:37447: checking ghostscript/ierrors.h usability
configure:37464: gcc -c -g -Wall -W -pthread  -I/usr/include/freetype2   conftest.c >&5
configure:37471: $? = 0
configure:37485: result: yes
configure:37489: checking ghostscript/ierrors.h presence
configure:37504: gcc -E -I/usr/include/freetype2   conftest.c
configure:37511: $? = 0
configure:37525: result: yes
configure:37558: checking for ghostscript/ierrors.h
configure:37565: result: yes
configure:37576: checking for gsapi_new_instance in Ghostscript framework
configure:37611: gcc -o conftest -g -Wall -W -pthread  -I/usr/include/freetype2      -lfreetype -lz conftest.c -framework Ghostscript  -ljpeg -lpng -lfreetype    -lSM -lICE -lX11  -lbz2 -lz -lm -ldl  -lpthread >&5
gcc: Ghostscript: No such file or directory
cc1: error: unrecognized command line option "-framework"
configure:37618: $? = 1
configure: failed program was:
| /* confdefs.h.  */
  ...lots of text omitted here...
| /* end confdefs.h.  */
| 
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char gsapi_new_instance ();
| int
| main ()
| {
| return gsapi_new_instance ();
|   ;
|   return 0;
| }
configure:37639: result: no
configure:37644: checking for gsapi_new_instance in -lgs
configure:37679: gcc -o conftest -g -Wall -W -pthread  -I/usr/include/freetype2      -lfreetype -lz conftest.c -lgs  -ljpeg -lpng -lfreetype    -lSM -lICE -lX11  -lbz2 -lz -lm -ldl  -lpthread >&5
configure:37686: $? = 0
configure:37707: result: yes
configure:37717: checking if Ghostscript package is complete
configure:37730: result: yes, using library.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: Build source on Mac OS X Tiger fails to find Ghostscript

Post by fmw42 »

Your log file says that it cannot find Ghostscript

"gcc: Ghostscript: No such file or directory"

But then at the end it says:

"configure:37717: checking if Ghostscript package is complete
configure:37730: result: yes, using library."

So, is Ghostscript installed on your computer and if so, does it show up in the list of Delegates when you do

convert -list configure

Thanks.
rmagick
Posts: 245
Joined: 2006-03-16T17:30:48-07:00
Location: Durham, NC, USA

Re: Build source on Mac OS X Tiger fails to find Ghostscript

Post by rmagick »

No, Ghostscript is not installed. However, I was not trying to say that my config.log file was an exemplar, just that the piece I posted shows the kind of text that the OP should be looking for.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: Build source on Mac OS X Tiger fails to find Ghostscript

Post by fmw42 »

OK, checking my config.log file, I find several errors when looking for Ghostscript, but I don't know where to find these files or why they were not installed with what looked like a good install of Ghostscript delegate.

configure:37283: result: Checking for Ghostscript support
configure:37285: result: -------------------------------------------------------------
configure:37300: checking ghostscript/iapi.h usability
configure:37317: gcc -c -g -O2 -Wall -W -D_THREAD_SAFE -I/usr/local/include/freetype2 -I/usr/local/include -I/Users/fred/Applications/ImageMagick-6.3.8-6source/magick -I/Users/fred/Applications/ImageMagick-6.3.8-6source/wand conftest.c >&5
conftest.c:215:30: error: ghostscript/iapi.h: No such file or directory

...

| #include <ghostscript/iapi.h>
configure:37378: result: no
configure:37411: checking for ghostscript/iapi.h
configure:37418: result: no
configure:37439: checking ghostscript/ierrors.h usability
configure:37456: gcc -c -g -O2 -Wall -W -D_THREAD_SAFE -I/usr/local/include/freetype2 -I/usr/local/include -I/Users/fred/Applications/ImageMagick-6.3.8-6source/magick -I/Users/fred/Applications/ImageMagick-6.3.8-6source/wand conftest.c >&5
conftest.c:215:33: error: ghostscript/ierrors.h: No such file or directory

...

| #include <ghostscript/iapi.h>
configure:37338: result: no
configure:37342: checking ghostscript/iapi.h presence
configure:37357: gcc -E -I/usr/local/include/freetype2 -I/usr/local/include -I/Users/fred/Applications/ImageMagick-6.3.8-6source/magick -I/Users/fred/Applications/ImageMagick-6.3.8-6source/wand conftest.c
conftest.c:182:30: error: ghostscript/iapi.h: No such file or directory

...

| #include <ghostscript/iapi.h>
configure:37378: result: no
configure:37411: checking for ghostscript/iapi.h
configure:37418: result: no
configure:37439: checking ghostscript/ierrors.h usability
configure:37456: gcc -c -g -O2 -Wall -W -D_THREAD_SAFE -I/usr/local/include/freetype2 -I/usr/local/include -I/Users/fred/Applications/ImageMagick-6.3.8-6source/magick -I/Users/fred/Applications/ImageMagick-6.3.8-6source/wand conftest.c >&5
conftest.c:215:33: error: ghostscript/ierrors.h: No such file or directory

...

| #include <ghostscript/ierrors.h>
configure:37477: result: no
configure:37481: checking ghostscript/ierrors.h presence
configure:37496: gcc -E -I/usr/local/include/freetype2 -I/usr/local/include -I/Users/fred/Applications/ImageMagick-6.3.8-6source/magick -I/Users/fred/Applications/ImageMagick-6.3.8-6source/wand conftest.c
conftest.c:182:33: error: ghostscript/ierrors.h: No such file or directory

...

| #include <ghostscript/ierrors.h>
configure:37517: result: no
configure:37550: checking for ghostscript/ierrors.h
configure:37557: result: no
configure:37568: checking for gsapi_new_instance in Ghostscript framework
configure:37603: gcc -o conftest -g -O2 -Wall -W -D_THREAD_SAFE -I/usr/local/include/freetype2 -I/usr/local/include -I/Users/fred/Applications/ImageMagick-6.3.8-6source/magick -I/Users/fred/Applications/ImageMagick-6.3.8-6source/wand -L/Users/fred/Applications/ImageMagick-6.3.8-6source/magick -L/Users/fred/Applications/ImageMagick-6.3.8-6source/wand -L/usr/X11R6/lib -L/usr/local/lib -lfreetype -lz conftest.c -framework Ghostscript -ljasper -ljpeg -lpng -lfreetype -lXext -lXt -lSM -lICE -lX11 -lbz2 -lz -lm -lpthread >&5
/usr/bin/ld: can't locate framework for: -framework Ghostscript


...


configure:37709: checking if Ghostscript package is complete
configure:37735: result: no

...

configure:42827: result: -------------------------------------------------------------
configure:42829: result: Checking for Ghostscript support
configure:42831: result: -------------------------------------------------------------
configure:42833: checking for Ghostscript version
configure:42840: result: 8.15
configure:42844: checking for gs alpha device
configure:42851: result: pngalpha
configure:42855: checking for gs color device
configure:42862: result: pnmraw
configure:42866: checking for gs CMYK device
configure:42873: result: bmpsep8
configure:42877: checking for gs mono device
configure:42884: result: pnmraw
configure:42888: checking for gs PDF writing device
configure:42895: result: pdfwrite
configure:42899: checking for gs PS writing device
configure:42906: result: pswrite
configure:42910: checking for gs EPS writing device
configure:42917: result: epswrite


So it appears that I am missing at least

ghostscript/iapi.h
hostscript/ierrors.h


Can anyone tell me how to correct this situation?

Thanks.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: Build IM 6.3.8-10 Mac OS X Tiger fails to find Ghostscript

Post by fmw42 »

I am still unable to build IM (now 6.3.8-10) from source and get it to recognize a (no-error) install of Ghostscript-8.15 (from the IM delegates library).

When doing my ./configure of IM, I get the following messages regarding Ghostscript:

Checking for Ghostscript support
-------------------------------------------------------------
checking ghostscript/iapi.h usability... no
checking ghostscript/iapi.h presence... no
checking for ghostscript/iapi.h... no
checking ghostscript/ierrors.h usability... no
checking ghostscript/ierrors.h presence... no
checking for ghostscript/ierrors.h... no
checking for gsapi_new_instance in Ghostscript framework... no
checking for gsapi_new_instance in -lgs... no
checking if Ghostscript package is complete... no
checking for GVC... no


I can find iapi.h and ierrors.h in the ghostscript-8.15/src directory from which the build takes place, but I cannot find iapi.h nor ierrors.h in my /usr/local/share/ghostscript/ directory.

I could manually move those files there, but I have no idea what the following messages mean nor what to do about them.

checking for gsapi_new_instance in Ghostscript framework... no
checking for gsapi_new_instance in -lgs... no

I also find that Ghostscript is up to version 8.61. I would try that, but I have no idea how to remove all the ghostscript-8.15 files on my system (other than one by one) and there does not seem to be a make uninstall for ghostscript-8.15.


Can anyone help me?

Thanks.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: IM Mac OS X Tiger can't find Ghostscript - Still Need Help

Post by fmw42 »

I have now solved this problem.

I needed to install the Mac framework for Ghostscript, even though the GS docs say that should not be necessary.


MacOS X

The unix source distribution (.tar.gz) builds fine on Darwin/MacOS X, albeit without a display device. You can generally just use the Makefile generated by ./configure or macosx.mak as your top-level makefile and get a reasonable default build. This will allow you to use Ghostscript from the command line as a BSD-layer tool to rasterize postscript and pdf to image files, and convert between the high-level formats supported by Ghostscript. See the instructions for the unix build below for details of how to customize this build.

There is also a support for building Ghostscript as a framework. This is a special encapsulated shared library format specific to MacOS X. To build the framework, copy macosx.mak to the top-level directory, rename it to makefile and issue 'make framework' from Terminal.app. This will result in a Ghostscript.framework in the sobin directory. It must be manually copied to /Library/Frameworks/ before applications can use it. You may need to create the Frameworks/ directory on some systems.
Post Reply