[metapost] mpost interactive prompt

Nicola nvitacolonna at gmail.com
Fri Nov 25 15:58:08 CET 2016


On 25/11/2016 15:34, luigi scarso wrote:
> On Fri, Nov 25, 2016 at 12:43 PM, Nicola <nvitacolonna at gmail.com> wrote:
>> On 25/11/2016 11:49, luigi scarso wrote:
>>>
>>> On Fri, Nov 25, 2016 at 11:16 AM, Nicola <nvitacolonna at gmail.com> wrote:
>>>>
>>>> On 25/11/2016 10:36, Nicola wrote:
>>>>
>>>>> gcc-6  -L./1.9991/build/texk/web2c -L./1.9991/build/libs/pixman -lgmp
>>>>> \ -lmplib -lcairo -lpng -lmpfr -lmputil -lz -lpixman -I./1.9991/buil
>>>>> \ /texk/web2c/ main.c
>>>>
>>>>
>>>>
>>>> Sorry, the command got garbled. This is it:
>>>>
>>>> gcc-6 -L./1.9991/build/texk/web2c -L./1.9991/build/libs/pixman \
>>>>   -lgmp -lmplib -lcairo -lpng -lmpfr -lmputil -lz -lpixman \
>>>>   -I./1.9991/build/texk/web2c/ main.c
>>>
>>>
>>>
>>> gcc -I./build/texk/web2c/ -L./build/texk/web2c -L./build/libs/pixman
>>> main.c build/texk/web2c/libmplib.a build/texk/web2c/libmputil.a
>>> build/libs/libpng/libpng.a build/texk/kpathsea/.libs/libkpathsea.a -o
>>> main  -lgmp  -lcairo  -lmpfr  -lz -lpixman  -lm
>>
>>
>> Ah ok, libkpathsea was hidden. Thanks, that got me up and running.
>>
>> Now, I have to figure out why it doesn't find a plain mem file. I have
>> added:
>>
>>   opt->ini_version = 0;
>>   opt->mem_name = "plain";
>>
>> but it says "I can't find the 'plain' preload file!". Do I just need to
>> dig more into the documentation?
>>
>> Nicola
>>
>>
>> --
>> http://tug.org/metapost/
>
> #include "mplib.h"
> int main (int argc, char **argv) {
>   MP mp;
>   MP_options *opt = mp_options();
>   opt->command_line = argv[1];
>   opt->ini_version = 0;
>   opt->mem_name =  "mpost";
>   mp = mp_initialize(opt);
>   if (mp) {
>     int history = mp_run(mp);
>     mp_finish(mp);
>     exit (history);
>   } else {
>     exit (EXIT_FAILURE);
>   }
> }
>
> then copy texmf-dist/metapost/base/mpost.mp in the same location of main.
> You can use kpathsea to locate the file.

OK, I've got it to compile and run.

> Hint:
> compile mpost and main with debug symbols
>
>
> export CFLAGS='-O0 -ggdb -g3'
> ./build.sh --parallel  --nostrip
>
>
> gcc -O0 -ggdb -g3  -I./build/texk/web2c/ -L./build/texk/web2c
> -L./build/libs/pixman main.c build/texk/web2c/libmplib.a
> build/texk/web2c/libmputil.a build/libs/libpng/libpng.a
> build/texk/kpathsea/.libs/libkpathsea.a -o main  -lgmp  -lcairo
> -lmpfr  -lz -lpixman  -lm
>
> You can use gdb to go on step by step.

Nice, thanks for the tip!

Nicola




More information about the metapost mailing list