[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#632658: /usr/bin/mpost: fails to create .mpx files for .mp files not in current dir



Package: texlive-binaries
Version: 2009-8
Severity: normal
File: /usr/bin/mpost
Tags: patch upstream fixed-upstream

Hi,

The following metapost file demonstrates a bug in metapost

===== subdir.mp =====
beginfig(0)

picture p;
write "btex foo etex" to "tmp.mp";
write EOF to "tmp.mp";
p:=input "tmp.mp";
write "btex foo etex" to "/var/tmp/vartmp.mp";
write EOF to "/var/tmp/vartmp.mp";
p:=input "/var/tmp/vartmp.mp";

endfig;

end;
==========

$ mpost subdir.mp
This is MetaPost, version 1.208 (kpathsea version 5.0.0)
(./subdir.mp (./tmp.mp) (/var/tmp/vartmp.mp
>> vartmp.mp
>> vartmp.mpx
! Unable to make mpx file.
l.1 btex
         foo etex
Transcript written on subdir.log.

I found a patch for this problem in metapost upstream svn repository and
rediffed it for the 1.2 branch (because of formatting/whitespace changes).
As this was a very recent commit, I don't think it has reached the
texlive repository, yet.

I verified that this fixes the problem, my masters thesis (from the
tetex-2 age) compiles again.

Andreas

-- System Information:
Debian Release: 6.0.2
  APT prefers stable
  APT policy: (800, 'stable'), (700, 'testing'), (600, 'unstable'), (500, 'stable-updates'), (130, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages texlive-binaries depends on:
ii  ed                      1.4-3            The classic UNIX line editor
ii  libc6                   2.13-7           Embedded GNU C Library: Shared lib
ii  libfontconfig1          2.8.0-2.1        generic font configuration library
ii  libfreetype6            2.4.2-2.1        FreeType 2 font engine, shared lib
ii  libgcc1                 1:4.6.1-1        GCC support library
ii  libkpathsea5            2009-8           TeX Live: path search library for 
ii  libncurses5             5.7+20100313-5   shared libraries for terminal hand
ii  libpng12-0              1.2.44-1         PNG library - runtime
ii  libpoppler5             0.12.4-1.2       PDF rendering library
ii  libstdc++6              4.6.1-1          GNU Standard C++ Library v3
ii  libx11-6                2:1.3.3-4        X11 client-side library
ii  libxaw7                 2:1.0.7-1        X11 Athena Widget library
ii  libxmu6                 2:1.0.5-2        X11 miscellaneous utility library
ii  libxpm4                 1:3.5.8-1        X11 pixmap library
ii  libxt6                  1:1.0.7-1        X11 toolkit intrinsics library
ii  perl                    5.12.3-7+b1      Larry Wall's Practical Extraction 
ii  tex-common              2.08.1           common infrastructure for building
ii  texlive-common          2009-11          TeX Live: Base component
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

texlive-binaries recommends no packages.

texlive-binaries suggests no packages.

-- no debconf information
based on http://foundry.supelec.fr/svn/metapost/trunk@1695, rediffed for 1.2 branch
------------------------------------------------------------------------
r1695 | taco | 2011-06-24 11:34:56 +0200 (Fri, 24 Jun 2011) | 2 lines
Changed paths:
   M /trunk/source/texk/web2c/mplibdir/mp.w

fix makempx for files not in the current dir

------------------------------------------------------------------------
Index: b/texk/web2c/mplibdir/mp.w
===================================================================
--- a/texk/web2c/mplibdir/mp.w	2011-07-02 18:06:09.000000000 +0200
+++ b/texk/web2c/mplibdir/mp.w	2011-07-02 18:08:05.650352607 +0200
@@ -16785,9 +16785,9 @@
 
 @c void mp_start_mpx_input (MP mp) {
   char *origname = NULL; /* a copy of nameoffile */
-  mp_pack_file_name(mp, in_name, "", in_ext);
+  mp_pack_file_name(mp, in_name, in_area, in_ext);
   origname = xstrdup(mp->name_of_file);
-  mp_pack_file_name(mp, in_name, "", ".mpx");
+  mp_pack_file_name(mp, in_name, in_area, ".mpx");
   if (!(mp->run_make_mpx)(mp, origname, mp->name_of_file))
     goto NOT_FOUND;
   mp_begin_file_reading(mp);

Reply to: