oduwsdl / wsdlthesis

ODU WS-DL Thesis/Dissertation LaTeX Template
MIT License
3 stars 11 forks source link

Error when make #26

Closed hbake001 closed 6 years ago

hbake001 commented 6 years ago

After I clone the project and run make command. I got the following error:

process_begin: CreateProcess(NULL, rm -f main.{pdf,ps,log,lot,lof,toc,out,dvi,bb l,blg} *.aux, ...) failed. make (e=2): The system cannot find the file specified. make: *** [clean] Error 2

What's causing that? am I not ware about some dependencies? My OS is Windows 7.

hbake001 commented 6 years ago

I believe this error happens when the files that clean option attempts to remove are not there. run make build did the job.

ibnesayeed commented 6 years ago

I am afraid, this Makefile is not suitable for Windows. There are some assumptions in the Makefile that might not meet on Windows. Such as we expect to have Bash shell present to handle some RegExp-style file names in our Make targets. Also, \inputAllFiles macro defined in the custommacros.sty file is currently only suitable for *nix style systems. If you want to make it work in Windows, then change main.tex file so that

\inputAllFiles{chapters}

becomes

\input{chapters/01_introduction}
\input{chapters/02_background}
\input{chapters/03_relatedwork}

and

\inputAllFiles{appendices}

becomes

\input{appendices/a_species.tex}

From there you should be able to compile it using any standard LaTeX system you might have installed.

We might make our \inputAllFiles macro cross-platform one day. So far, we didn't have Windows users, so it was not an issue.

Alternatively, if you have Docker installed, you can avoid all this hassle, and follow the Docker instructions in the README.

hbake001 commented 6 years ago

@ibnesayeed I suspected that. I think the issue of trying to compile this on Windows is more complicated than changing these lines. There are Linux commands such as ls and rm that must be changed into their Windows command correspondings. For instance, I got the following logs from the last build run:

[1{C:/Users/engadmin/AppData/Local/MiKTeX/2.9/pdftex/config/pdftex.map}]
[2] [3] (pages/preface.tex [4]) [5] [6]

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `\uppercase' on input line 14.

[7]

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):
(hyperref)                removing `\uppercase' on input line 14.

[8]'ls' is not recognized as an internal or external command,
operable program or batch file.

No file main.bbl.
'ls' is not recognized as an internal or external command,
operable program or batch file.
[1]'rm' is not recognized as an internal or external command,
operable program or batch file.
'rm' is not recognized as an internal or external command,
operable program or batch file.
 (main.aux)

Package rerunfilecheck Warning: File `main.out' has changed.
(rerunfilecheck)                Rerun to get outlines right
(rerunfilecheck)                or use package `bookmark'.

LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.

 )
(see the transcript file for additional information)<C:/Users/engadmin/AppData/
Local/Programs/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmbx12.pfb><C:/Users/e
ngadmin/AppData/Local/Programs/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmr10.
pfb><C:/Users/engadmin/AppData/Local/Programs/MiKTeX 2.9/fonts/type1/public/ams
fonts/cm/cmr12.pfb><C:/Users/engadmin/AppData/Local/Programs/MiKTeX 2.9/fonts/t
ype1/public/amsfonts/cm/cmr8.pfb><C:/Users/engadmin/AppData/Local/Programs/MiKT
eX 2.9/fonts/type1/public/amsfonts/cm/cmti12.pfb>
Output written on main.pdf (9 pages, 73819 bytes).
Transcript written on main.log.
bibtex main
bibtex: warning: running with administrator privileges
This is BibTeX, Version 0.99d (MiKTeX 2.9.6730 64-bit)
The top-level auxiliary file: main.aux
The style file: ieeetr.bst
I found no \citation commands---while reading file main.aux
Database file #1: ref.bib
(There was 1 error message)
make: *** [build] Error 1

I will give it a shot and try Docker.

ibnesayeed commented 6 years ago

When I said making it cross-platform, I meant the source files and not necessarily the build script. If there is enough demand for Windows, contributions on that are welcome. Now the Windows allows Linux sub system installation, perhaps some of this should work without too many changes, but that needs to be tested and documented. On the other hand, Docker is the safest cross-platform path in my opinion.

hbake001 commented 6 years ago

I understand. Thanks for following up.