yochju / latex-makefile

Automatically exported from code.google.com/p/latex-makefile
Other
0 stars 0 forks source link

.d file has incorrect .SECONDEXPANSION content #85

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Using pdflatex with the Makefile, here's the output after an initial run:

$ make
NOTE: You may ignore warnings about the following files:

     ascat_doc_report.d

Makefile:2181: ascat_doc_report.d: No such file or directory
= ascat_doc_report.tex --> ascat_doc_report.d ascat_doc_report.pdf.1st.make
(0-1) =
make: *** No rule to make target `$(call)', needed by `ascat_doc_report.d'.
 Stop.

When I open up ascat_doc_report.d, here are the lines at the bottom:

.SECONDEXPANSION:
-include images/swath.pdf.gpi.d
ascat_doc_report.d: $$(call graphics-source,images/swath.pdf)
ascat_doc_report.pdf ascat_doc_report._graphics: $$(call
graphics-target,images/swath.pdf)
-include images/slice_shapes_closer.pdf.gpi.d
ascat_doc_report.d: $$(call graphics-source,images/slice_shapes_closer.pdf)
ascat_doc_report.pdf ascat_doc_report._graphics: $$(call
graphics-target,images/slice_shapes_closer.pdf)
ascat_doc_report.bbl ascat_doc_report.aux ascat_doc_report.aux.make:
./ascat.bib

When I change the $$(call ...) to $(call ...) and re-run make, then it
works.  When I run make one more time, then the .d file reverts to the
$$(call ...) lines and require manual changing again before make will work.

Original issue reported on code.google.com by onion.av...@gmail.com on 14 May 2010 at 9:53

GoogleCodeExporter commented 9 years ago
What version of make are you running?  The double $ in there is important, and 
the only reason it works for you 
to change it to a single $ is that the rest of the dependency files have 
already been created by the makefile...

I would be very interested if you were to change the code that *generates* 
those $$ to only output a single $.  I'm 
almost 100% sure that it won't work

I'd love to fix this, but I strongly suspect that there is a "make" program 
version issue.

Original comment by shiblon on 17 May 2010 at 5:32

GoogleCodeExporter commented 9 years ago
~> make --version
GNU Make 3.80
Copyright (C) 2002  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Original comment by onion.av...@gmail.com on 17 May 2010 at 5:36

GoogleCodeExporter commented 9 years ago
Ah, that may be it.  Make 3.80 has weird escaping issues compared to 3.81.  Is 
it possible to try 3.81 on your 
system?

Original comment by shiblon on 17 May 2010 at 5:40

GoogleCodeExporter commented 9 years ago
Yup, that did the trick!  For various reasons, this computer has older Linux
software, but I downloaded, compiled, and locally installed Make 3.81.

Thanks for the help!
A BYU EE student :)

Original comment by onion.av...@gmail.com on 17 May 2010 at 5:48

GoogleCodeExporter commented 9 years ago
Whew.  That's actually really good to know - I might be able to make it work 
properly on 3.80 by using $$$$ 
instead - there's one place in the code that does this already.  :-)

It's worth a try, if you still have the old version of make hanging around.

Go Cougars!

Original comment by shiblon on 17 May 2010 at 7:23

GoogleCodeExporter commented 9 years ago
I do indeed still have 3.80 available.  I'm happy to test with it.  

Original comment by onion.av...@gmail.com on 17 May 2010 at 8:01

GoogleCodeExporter commented 9 years ago
I apologize for being so slow here.  Life has intervened and I haven't had a 
moment to look at this.  Rest assured that you are not forgotten, and thanks 
for your patience.

Original comment by shiblon on 17 Jun 2010 at 8:38

GoogleCodeExporter commented 9 years ago
I wonder if it would make sense to just have the makefile fail to work (with a 
helpful error message indicating that an upgrade is necessary) when using 
pdflatex and a version less than 3.81.  How would you feel about that as a 
solution?

Original comment by shiblon on 30 Jun 2010 at 1:52

GoogleCodeExporter commented 9 years ago
It's been four years since 3.81 came out.  Seems fair enough to not support old 
versions of make.  Having an error messaging saying that the version of make is 
too old is a good idea.

Original comment by onion.av...@gmail.com on 30 Jun 2010 at 1:59

GoogleCodeExporter commented 9 years ago
Sounds good to me.  Try ra1160a11c1ce and let me know if the warning is 
prominent enough, or if I should change it to an error.

Original comment by shiblon on 28 Jul 2010 at 2:12

GoogleCodeExporter commented 9 years ago

Original comment by shiblon on 28 Jul 2010 at 2:32

GoogleCodeExporter commented 9 years ago
The warning works for me using make 3.80.  Everything looks good, thanks again.

Original comment by onion.av...@gmail.com on 2 Aug 2010 at 3:31

GoogleCodeExporter commented 9 years ago

Original comment by shiblon on 11 Nov 2010 at 3:09