Re: [EXT]Re: Beginner question: How to build meta post only

Vincenzo Mantova <[email protected]>
Newsgroups gmane.comp.tex.live
Message-ID <CAM6y5te1L3vK8aKbc7_FQ1gEKsRLnPYfLZ4bsQ=TPfE7G22bmQ@mail.gmail.com>
Hi Patrick,

MetaPost depends on the libraries mpfi, mpfr, cairo, libpng. You will need
to add --with-system-libpng --with-system-cairo etc when you call
../configure if you want to use your system libraries. I don't think the
dependencies of each program are documented, but the ultimate source are
the values of kpse_tex_progs and kpse_mf_progs in texk/web2c/ac/web2c.ac.

If you want to rely on the libraries vendored by TeX Live, the following
will work:

../configure --disable-all-pkgs --enable-web2c --disable-xetex
--disable-luatex [...] --enable-mp --without-x
make


This ensures that the dependencies of the web2c package, which contains mp,
are built first. It will also build all the engines in web2c by default
(and their dependencies!), so you need to disable those if you only want
mp. You must disable each engine separately because there is no
'--disable-all-engines' flag. The output of configure --help within
texk/web2c will show all the flags.

An alternative that might work, but I haven't tried, is to run:

../configure --disable-all-pkgs --enable-web2c --disable-xetex
--disable-luatex --disable-luajittex --disable-luahbtex
--disable-luajithbtex --disable-pdftex

make -C libs

make -C texk/web2c mpost


In theory, this will build only libraries and mpost, in the right order.
You still want to disable some engines to avoid building too many libraries.

Best,
Vincenzo


On Sat, 13 Dec 2025 at 10:03, std300 <[email protected]> wrote:

> Am Fr., 12. Dez. 2025 um 23:58 Uhr schrieb Karl Berry <
> [email protected]>:
> >
> > std300, please see:
> > https://tug.org/texlive/doc/tlbuild.html#Build-one-engine
> >
> > The missing, and unfortunate, step is having to run a separate make to
> > build the engine (make mpost in your case) after the main make.
>
> Thank you, Karl, I get closer.
>
> Now I get an error:
>
> cd texk/web2c
> make mpost
>
> ...
> (mplibps.h).
> Done.
> (No errors were found.)
> CWEBINPUTS=../../../texk/web2c/mplibdir AM_V_P=: /bin/sh ./tangle-sh
> mplibps.h ./ctangle psout
> tangle-sh: checking for mplibps.h ... ok
> gcc -DHAVE_CONFIG_H -I. -I../../../texk/web2c -I./w2c
> -I/Users/patrick/tmp/tex/texlive-source/work/libs/libpng/include
> -I/Users/patrick/tmp/tex/texlive-source/work/libs/zlib/include
> -I/Users/patrick/tmp/tex/texlive-source/work/texk
> -I/Users/patrick/tmp/tex/texlive-source/texk -DNO_DEBUG
> -I../../../texk/web2c/mplibdir  -Wimplicit -Wreturn-type -g -O2 -MT
> libmplibcore_a-tfmin.o -MD -MP -MF .deps/libmplibcore_a-tfmin.Tpo -c
> -o libmplibcore_a-tfmin.o `test -f 'tfmin.c' || echo
> '../../../texk/web2c/'`tfmin.c
> mv -f .deps/libmplibcore_a-tfmin.Tpo .deps/libmplibcore_a-tfmin.Po
> gcc -DHAVE_CONFIG_H -I. -I../../../texk/web2c -I./w2c
> -I/Users/patrick/tmp/tex/texlive-source/work/libs/libpng/include
> -I/Users/patrick/tmp/tex/texlive-source/work/libs/zlib/include
> -I/Users/patrick/tmp/tex/texlive-source/work/texk
> -I/Users/patrick/tmp/tex/texlive-source/texk -DNO_DEBUG
> -I../../../texk/web2c/mplibdir  -Wimplicit -Wreturn-type -g -O2 -MT
> libmplibcore_a-mp.o -MD -MP -MF .deps/libmplibcore_a-mp.Tpo -c -o
> libmplibcore_a-mp.o `test -f 'mp.c' || echo
> '../../../texk/web2c/'`mp.c
> ../../../texk/web2c/mplibdir/mp.w:191:10: fatal error: 'png.h' file not
> found
>   191 | #include <png.h>
>       |          ^~~~~~~
> 1 error generated.
>
> I assume that a system png library is not used. Any idea?
>
>
> Thanks
> Patrick
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.