Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Nov 2002 18:29:50 +0300 (MSK)
From:      Seva Gluschenko <gvs@rinet.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/45567: XFree86-4-clients port fails to compile properly because of FreeType
Message-ID:  <200211211529.gALFTo5I007054@road.demos.su>

next in thread | raw e-mail | index | archive | help

>Number:         45567
>Category:       ports
>Synopsis:       XFree86-4-clients port fails to compile properly because of FreeType
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 21 07:30:05 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Seva Gluschenko
>Release:        FreeBSD 4.7-STABLE i386
>Organization:
JSC Demos-Internet
>Environment:
System: FreeBSD road.demos.su 4.7-STABLE FreeBSD 4.7-STABLE #1: Mon Oct 14 18:39:28 MSD 2002 gvs@road.demos.su:/usr/local/obj/usr/local/src/sys/ROAD i386


	
>Description:
	The XFree86 Server version 4.2.1 and its apps needs FreeType2 library
	to compile certain elements. For this purpose it has its own copy of
	FreeType2 library which is being installed into /usr/X11R6.4/lib and
	refers as libfreetype.so.8. On the other hand, FreeBSD packages and
	ports use another (and maybe more recent) copy of FreeType2 library
	which is installed onto /usr/local/lib and refers as libfreetype.so.9.

	FreeBSD ports of XFree86 components don't build or install internal
	XFree86's FreeType2 library, introducing dependance from local one.
	The port's configure script doesn't specify includes and libraries,
	however, so make fails in x11perf first and in many apps later (when
	tryin' to correct makefiles).
>How-To-Repeat:
	Try to build x11/XFree86-4-clients port from scratch. After few tons
	of screens with compiling progress you'll finish with smth like

cc -o x11perf -O -pipe -march=pentiumpro -ansi -pedantic -Dasm=__asm -Wall -Wpointer-arith     -L/usr/local/ports/x11/XFree86-4-clients/work/xc/exports/lib x11perf.o bitmaps.o do_tests.o            do_simple.o do_rects.o do_valgc.o               do_lines.o do_segs.o                do_dots.o do_windows.o do_movewin.o do_text.o                   do_blt.o do_arcs.o              do_tris.o do_complex.o do_traps.o -lXft -lfreetype -lXrender -lXrender -lXmuu -lXext -lX11 -L/usr/X11R6/lib  -lm   -Wl,-rpath,/usr/X11R6/lib
/usr/libexec/elf/ld: cannot find -lfreetype
*** Error code 1

	As you can see, no -L/usr/local/lib presented. If you try to link
	it manually by reexecuting the last line adding -L/usr/local/lib,
	the same problem will occur few apps later and finally you'll lack
	of needed header files somewhere in xterm. That all happens because
	no includes/library path had been specified for FreeType2 library.
>Fix:
	Apply the patch below:

	cd /usr/ports/x11/XFree86-4-clients
	patch < /path/to/patch

	Now you can build the package typing

	make

	The patch follows:

--- scripts/configure.orig	Thu Nov 21 17:45:41 2002
+++ scripts/configure	Thu Nov 21 18:00:11 2002
@@ -70,7 +70,8 @@
     echo "#define LibInstallBuild  YES" >> $LOCALDEF
     echo "#define FreeBSDBuildXlib NO" >> $LOCALDEF
     echo "#define FreeBSDBuildXbin YES" >> $LOCALDEF
-    echo "#define StandardIncludes -I$PREFIX/include -I/usr/local/include" >> $LOCALDEF
+    echo "#define StandardIncludes -I$PREFIX/include -I/usr/local/include -I/usr/local/include/freetype2" >> $LOCALDEF
+    echo "#define ExtraLibraries -L/usr/local/lib" >> $LOCALDEF
     echo "#define DontUseLibPathVar YES" >> $LOCALDEF
     echo "#define PreloadSetup" >> $LOCALDEF
     echo "#define BuildPlugin NO" >> $LOCALDEF
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200211211529.gALFTo5I007054>