Bug 172664 - ports/graphics/xpdf WITH_X11 broken
Summary: ports/graphics/xpdf WITH_X11 broken
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Marcelo Araujo
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-13 17:00 UTC by Helge Oldach
Modified: 2012-10-15 10:02 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Helge Oldach 2012-10-13 17:00:00 UTC
Since SVN rev 305766 on 2012-10-12 09:08:50Z the xpdf build is broken
for the WITH_X11 case. This revision attempts to fix a bug for the
WITHOUT_X11 case (see PRs ports/169196 and ports/170525), but it breaks
the WITH_X11 case.

Specifically, the freetype2 include files are no longer located by the
configure script, consequently no xpdf binary is being built, as the
configure script assumes no X11 is available. Here's a "make configure"
trace:

===>  Found saved configuration for xpdf-3.03_2
===>  Extracting for xpdf-3.03_2
=> SHA256 Checksum OK for xpdf-3.03.tar.gz.
===>  Patching for xpdf-3.03_2
===>  Applying extra patch /usr/ports/distfiles/xpdf-3.03-hmo.diff
===>  Applying FreeBSD patches for xpdf-3.03_2
/usr/bin/sed -i.bak -e 's|undef USE_COMBO_BOX|define USE_COMBO_BOX 1|'  /usr/obj/usr/ports/graphics/xpdf/work/xpdf-3.03/xpdf/XPDFViewer.h
===>   xpdf-3.03_2 depends on executable: gmake - found
===>   xpdf-3.03_2 depends on file: /usr/local/libdata/pkgconfig/xpm.pc - found
===>   xpdf-3.03_2 depends on shared library: freetype.9 - found
===>   xpdf-3.03_2 depends on shared library: Xm.4 - found
===>  Configuring for xpdf-3.03_2
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking for cc option to accept ISO C99... -std=gnu99
checking for cc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking for ranlib... ranlib
checking for OS/2 (with EMX)... no
checking for DOS (with DJGPP)... no
checking how to run the C preprocessor... cpp
checking for X... libraries /usr/local/lib, headers /usr/local/include
checking whether -R must be followed by a space... no
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for gethostbyname... (cached) yes
checking select() and fd_set in sys/select.h and sys/bsdtypes.h... not needed
checking FD_ZERO and strings.h or bstring.h... not needed
checking for rewinddir... yes
checking for popen... yes
checking for mkstemp... yes
checking for mkstemps... yes
checking whether select takes fd_set arguments... yes
checking for std::sort... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for fseek64... no
checking for ftell64... no
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether to use Xpm library... maybe
checking where to find the Xpm header files... 
checking X11/xpm.h usability... yes
checking X11/xpm.h presence... yes
checking for X11/xpm.h... yes
checking for XpmCreatePixmapFromData in -lXpm... yes
using Xpm library
checking whether to use Xext library... maybe
checking where to find the Xext header files... 
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking for XextAddDisplay in -lXext... yes
using Xext library
checking whether to use Xp library... maybe
checking where to find the Xp header files... 
checking X11/extensions/Print.h usability... yes
checking X11/extensions/Print.h presence... yes
checking for X11/extensions/Print.h... yes
checking for XpStartPage in -lXp... yes
using Xp library
checking whether to use Xt library... maybe
checking where to find the Xt header files... 
checking X11/Intrinsic.h usability... yes
checking X11/Intrinsic.h presence... yes
checking for X11/Intrinsic.h... yes
checking for XtAppInitialize in -lXt... yes
using Xt library
checking whether to use Xm library... maybe
checking where to find the Xm header files... 
checking Xm/XmAll.h usability... yes
checking Xm/XmAll.h presence... yes
checking for Xm/XmAll.h... yes
checking for XmCreateForm in -lXm... yes
using Xm library
checking whether to use Sgm library... maybe
checking where to find the Sgm header files... 
checking Sgm/HPanedW.h usability... no
checking Sgm/HPanedW.h presence... no
checking for Sgm/HPanedW.h... no
not using Sgm library
checking for XtAppSetExitFlag in -lXt... yes
checking whether to use freetype2 library... (cached) /usr/local/lib
checking where to find the freetype2 header files... (cached) /usr/local/include/
checking ft2build.h usability... no
checking ft2build.h presence... no
checking for ft2build.h... no
configure: WARNING: requested freetype2 library not found!
checking whether to use libpaper library... (cached) no
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating goo/Makefile
config.status: creating fofi/Makefile
config.status: creating splash/Makefile
config.status: creating xpdf/Makefile
config.status: creating aconf.h
configure: WARNING: Couldn't find FreeType
configure: WARNING: -- You will be able to compile pdftops, pdftotext,
        pdfinfo, pdffonts, pdfdetach, and pdfimages, but not xpdf
        or pdftoppm

Please note that SVN rev 305766 is wrong IMHO. While the include file
ft2build.h is indeed in ${LOCALBASE}/include/ft2build.h, the actual
headers are still in ${LOCALBASE}/include/freetype2/freetype - in
contrast to what is mentioned in the above PRs.

The CONFIGURE_ARGS should really still contain:

	--with-freetype2-includes="${LOCALBASE}/include/freetype2/

rather than

	--with-freetype2-includes="${LOCALBASE}/include/

Fix: 

Revert SVN rev 305766
How-To-Repeat: 
make configure :-)
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2012-10-13 17:00:13 UTC
Responsible Changed
From-To: freebsd-ports-bugs->araujo

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Sam Sirlin 2012-10-14 21:44:37 UTC
I have the same problem. Seems to be fixed by fixing the Makefile to 
specify the correct path for the freetype2 includes:

#CONFIGURE_ARGS=        --enable-opi \
#               --with-freetype2-library="${LOCALBASE}/lib" \
#               --with-freetype2-includes="${LOCALBASE}/include/" \
#               --bindir="${PREFIX}/libexec/xpdf"
CONFIGURE_ARGS= --enable-opi \
                 --with-freetype2-library="${LOCALBASE}/lib" \
--with-freetype2-includes="${LOCALBASE}/include/freetype2" \
                 --bindir="${PREFIX}/libexec/xpdf"

then configure, build, install ok.

Sam Sirlin
Comment 3 Marcelo Araujo freebsd_committer freebsd_triage 2012-10-15 10:02:24 UTC
State Changed
From-To: open->closed

Committed revision 305907.