[tlbuild] FreeType2 Issue on OpenBSD

Jonathan Kew jonathan_kew at sil.org
Wed May 14 14:31:52 CEST 2008


Hi Edd,

On 14 May 2008, at 12:46 pm, Edd Barrett wrote:

> Hi Jonathan,
>
> On Tue, May 13, 2008 at 2:42 PM, Jonathan Kew  
> <jonathan_kew at sil.org> wrote:
>> You're not doing this via actual Build script from TL, are you?  
>> Please try
>> that and see what happens.... and in case of failure, let us see the
>> build.log file that it'll create (in the Work tree, IIRC).
>
> I was completely unaware of this script.

See http://tug.org/texlive/build.html

> The first thing i notice about it is that lots of errors like this  
> scroll up:
> ---8<---
> "config.mk", line 29: Need an operator
> "config.mk", line 36: Could not find /builds/freetype.mk
> "config.mk", line 52: Need an operator
> "config.mk", line 54: Need an operator
> "config.mk", line 57: Could not find /builds/unix/install.mk
> "config.mk", line 59: Need an operator
> "./builds/toplevel.mk", line 143: Need an operator
> "./builds/toplevel.mk", line 158: Could not find /builds/modules.mk
> "./builds/toplevel.mk", line 167: Missing dependency operator
> "./builds/toplevel.mk", line 176: Need an operator
> ---8<---
>
> It's assuming make==gmake. On OpenBSD it is not.
>
> --- /tmp/source/Build   Wed May  7 22:32:49 2008
> +++ /tl/source/Build    Tue May 13 14:47:14 2008
> @@ -28,7 +28,7 @@
>  if test "x$1" = x--no-clean; then
>    shift
>  else
> -  test -f Makefile && make clean
> +  test -f Makefile && $TL_MAKE clean
>    rm -rf $TL_WORKDIR $TL_INSTALL_DEST
>  fi

This looks like an oversight; I've just patched it to use $TL_MAKE.

(I think you only ran into this because you had previously run ./ 
configure directly in the source tree; we normally do out-of-source  
builds so this wouldn't arise. But anyhow, it should be fixed now.)

>
> After patching:
>
> ---8<---
> export TL_MAKE=gmake && ./Build --with-fontconfig=/usr/X11R6
> *snip*
>    19m31.56s real    14m4.99s user     2m12.25s system
>
> ./Build:      274  binaries in /tl/source/inst/bin.
> ---8<---
>
> Great! It builds fine, so as far as test builds go its fine on  
> OpenBSD.
>
> However you can break the ./Build script by changing --prefix and
> setting --disable-multiplatform.

I think someone was working on --disable-multiplatform, but am not  
sure of the current status.

> I am trying to thing how this is going to fit into porting. I would
> prefer to use ./configure && make && make install method, as it would
> integrate far better with our ports system. This method is still
> supported? If so I need to look at what magic ./Build is performing to
> make the build complete.

You should be able to do ./configure [--with-whatever-options-you- 
like] && gmake && gmake install; note that you will definitely need  
GNU make, not BSD make.

(This is a requirement for both the ICU and Freetype2 build systems,  
which are out of our control; see

    http://www.icu-project.org/userguide/icufaq.html
       "You need GNU's make program version 3.7 or later..."

    http://freetype.sourceforge.net/download.html
       "GNU Make is required to use the FreeType 2 build system..."

If it's a problem, you'd need to submit patches to those upstream  
projects, but I suspect it'd be a waste of time; just go with the  
flow and use gmake. You'll need to declare that as a build-time  
dependency of the port, presumably.)

JK



More information about the tlbuild mailing list