make error while building GNU Octave from sources - makefile

mkdir .build && \
cd .build && \
./../configure --prefix=$HOME/my_octave && \ [1]
make -j2 && \ [2]
make check && \
make install
While running make -j2 I get the error as
error: print: error opening file 'extended.tex'
error: called from print>latex_standalone at line 1029 column 5
__opengl_print__ at line 214 column 5
print at line 759 column 16 plotimages at line 109 column 7
GEN doc/interpreter/gplot.pdfMakefile:27911: recipe for target `'doc/interpreter/extended.pdf' failedmake[2]: *** [doc/interpreter/extended.pdf] Error `1make[2]: *** Waiting for unfinished jobs....make[2]: Leaving directory `'/home/bhanu/octave/.build'Makefile:26305: recipe for target 'all-recursive' failedmake[1]: *** `[all-recursive] Error 1make[1]: Leaving directory '/home/bhanu/octave/.build'Makefile:9916:
recipe for target 'all' failedmake: *** [all] Error 2
Can someone help me solve the error? I am running it on Ubuntu 18.04 system.

Some times the build process tries to rebuild all the documentation.
I am building from the source octave-5.2.0.tar.lz file and
the usual workaround is just
touch AUTHORS BUGS INSTALL.OCTAVE
between configure and the first make in the
build tree.
At the end of build phase I have only two PDFs
./doc/interpreter/octave.pdf
./doc/liboctave/liboctave.pdf

Create file named 'extended.tex' like this:
touch doc/interpreter/extended.tex
You have to do this inside the octave/.build/ directory.
Do this for any errors similar to this in the future. It worked for me this way.

Related

Trying to make sonic annotator *keeps* failing

Trying to make install sonic annotator. I've added a lot of dependencies. The error I'm getting now is
supportprogs: test succeeded
helpfulflags: terminate called after throwing an instance of 'Dataquay::RDFIncompleteURI'
what(): Uri::Uri: Given string is not a complete absolute URI [with string "doap:download-page"]
./test-helpfulflags.sh: line 24: 125839 Aborted (core dumped) $r --skeleton $percplug > /dev/null
Test failed: Fails to run with --skeleton vamp:vamp-example-plugins:percussiononsets
*** Test FAILED
make[1]: *** [Makefile.runner:182: sonic-annotator] Error 1
make[1]: Leaving directory '/home/luke/Desktop/sonic-annotator-1.6'
make: *** [Makefile:164: sub-runner-pro-make_first-ordered] Error 2
I am, as I ask the question, trying to use
vamp-rdf-template-generator doap:http://vamp-plugins.org/rdf/plugins/vamp-example-plugins vamp:vamp-example-plugins:percussiononsets
In the following folder
/usr/local/lib/vamp$ ls
libvamp-hostsdk.so vamp-example-plugins.cat vamp-test-plugin.cat
libvamp-sdk.so vamp-example-plugins.n3 vamp-test-plugin.so
plugins.cpp vamp-example-plugins.so
pyin.so vamp-rdf-template-generator
I am not optimistic.
B4fore running ./configure and make, again. Another thing that is annoying me, is that whenever make fails to complete, trying make install or make again, shows there is nothing to do: but I still can't run sonic-annotator. Meaning I go and delete the folder and start from the beginning again...
It seems to be the case that vamp-rdf-template-generator will not overwrite its previous actions, so I had to delete vamp-example-plugins, which was inside the vamp folder, and run the former command with the uri, correct above.
The uri I provided is fine, an absolute one. I checked it by running the java code here Convert relative path to absolute using JavaScript via jnode.
So make finishes without errors. I then ran make install, and there was nothing to do again. Have tried running make and make install with sudo, and nothing changes
~/Downloads/sonic-annotator-1.6$ sudo make install
( test -e Makefile.base || /usr/lib/qt5/bin/qmake -o Makefile.base /home/luke/Downloads/sonic-annotator-1.6/base.pro ) && make -f Makefile.base install
make[1]: Entering directory '/home/luke/Downloads/sonic-annotator-1.6'
make[1]: Nothing to be done for 'install'.
make[1]: Leaving directory '/home/luke/Downloads/sonic-annotator-1.6'
( test -e Makefile.test-svcore-base || /usr/lib/qt5/bin/qmake -o Makefile.test-svcore-base /home/luke/Downloads/sonic-annotator-1.6/test-svcore-base.pro ) && make -f Makefile.test-svcore-base install
make[1]: Entering directory '/home/luke/Downloads/sonic-annotator-1.6'
make[1]: Nothing to be done for 'install'.
make[1]: Leaving directory '/home/luke/Downloads/sonic-annotator-1.6'
( test -e Makefile.test-svcore-system || /usr/lib/qt5/bin/qmake -o Makefile.test-svcore-system /home/luke/Downloads/sonic-annotator-1.6/test-svcore-system.pro ) && make -f Makefile.test-svcore-system install
make[1]: Entering directory '/home/luke/Downloads/sonic-annotator-1.6'
make[1]: Nothing to be done for 'install'.
make[1]: Leaving directory '/home/luke/Downloads/sonic-annotator-1.6'
( test -e Makefile.test-svcore-data-fileio || /usr/lib/qt5/bin/qmake -o Makefile.test-svcore-data-fileio /home/luke/Downloads/sonic-annotator-1.6/test-svcore-data-fileio.pro ) && make -f Makefile.test-svcore-data-fileio install
make[1]: Entering directory '/home/luke/Downloads/sonic-annotator-1.6'
make[1]: Nothing to be done for 'install'.
make[1]: Leaving directory '/home/luke/Downloads/sonic-annotator-1.6'
( test -e Makefile.runner || /usr/lib/qt5/bin/qmake -o Makefile.runner /home/luke/Downloads/sonic-annotator-1.6/runner.pro ) && make -f Makefile.runner install
make[1]: Entering directory '/home/luke/Downloads/sonic-annotator-1.6'
make[1]: Nothing to be done for 'install'.
make[1]: Leaving directory '/home/luke/Downloads/sonic-annotator-1.6'
So the issue is solved without installation / success.

Make threw out an error but no detailed error message

Here's the last few lines from the output of running "make install" at root level /home/gm/TEST/:
make[3]: Leaving directory `/home/gm/TEST/tppf/tm/ipmgt'
ld ipfac.o ipfacV.o ipfac_rset.o ipfac_args.o ipfac_d2a.o ipfac_a2d.o ipfac_modr.o ipfac_mod.o ipfac_read.o ipfac_add.o ipfac_del.o ipfac_list.o ipfac_unlk.o ipfac_lock.o ipfac_util.o ipfac_lkid.o -r -o /home/gm/TEST/tppf/lib/ipfac_tppf.o
make[3]: Leaving directory `/home/gm/TEST/tppf/tm/ipfac'
make[2]: Leaving directory `/home/gm/TEST/tppf/tm'
make[1]: *** [i_tm] Error 2
make[1]: Leaving directory `/home/gm/TEST/tppf'
make: *** [i_tppf] Error 2
And the Makefile under /home/gm/TEST/tppf/tm/ipfac contains this rule:
install: ipfac.h $(TPPLIB)/ipfac_tppf.o
$(TPPLIB)/ipfac_tppf.o: $(PROPOBJS)
ld $(PROPOBJS) -r -o $(TPPLIB)/ipfac_tppf.o
Is there something wrong with the linking process? Make should've told me what the error actually is, but it didn't.
BTW, I think /home/gm/TEST/tppf/lib/ipfac_tppf. O was linked and created successfully, or at least it was there in directory /home/gm/TEST/tppf/lib/ after make failed and exited.
That line is not the error line. You can tell that it succeeded because there was no error message there, for building the target /home/gm/TEST/tppf/lib/ipfac_tppf.o.
The error is here:
make[1]: *** [i_tm] Error 2
The [1] means that it was the first level of makefile (note the recipe you are quoting here was in the 3rd level of makefile) and the [i_tm] means that the build of the target i_tm failed. You need to look back up further in the output of make, earlier than what you've shown us, and find the *** error line for building the i_tm target and see what errors were generated there.

Linux-kernel: make isoimage fails due to missing certs. Proceed how?

I tried make isoimage but got:
kernel/Makefile:135: *** No X.509 certificates found ***
CHK kernel/config_data.h
Kernel: arch/x86/boot/bzImage is ready (#1)
rm -rf arch/x86/boot/isoimage
mkdir arch/x86/boot/isoimage
for i in lib lib64 share end ; do \
if [ -f /usr/$i/syslinux/isolinux.bin ] ; then \
cp /usr/$i/syslinux/isolinux.bin arch/x86/boot/isoimage ; \
[...]
done
arch/x86/boot/Makefile:160: rule for target „isoimage“ failed
make[1]: *** [isoimage] error 1
arch/x86/Makefile:236: rule for target „isoimage“ failed
make: *** [isoimage] error 2
while using AUR build system.
So where does one get those certs from and where to put them?
on Arch-Linux & derivates, the certs will be put in place by:
pacman -S linux
That linux package should have "mkisolinux" as a dependency, because the
make isoimage
requires it. Still, one needs to manually copy
cp /usr/lib/syslinux/bios/isolinux.bin /usr/include/syslinux/isolinux.bin
for the target to actually succeed.
"make isoimage" does work after these measures usually.
The issue is reproducible and could be easily fixed in Arch.

curl make error: "missing separator (did you mean TAB instead of 8 spaces?)"

I'm trying to build curl 7.38.0 on debian wheezy and keep getting this error after running ./configure.
$ make
Making all in lib
make[1]: Entering directory '/home/abc/curl-7.38.0/lib'
Makefile:2833: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.
make[1]: Leaving directory '/home/abc/curl-7.38.0/lib'
Makefile:846: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
I tried looking at/around lines 2833 or 846 to see if there were excess spaces, but I didn't find any problems. Everything looks fine, so I don't understand why there would be any problems. Any help much appreciated!
I've encountered this error a few times before. The error message can be misleading a bit. What I found was that the timestamps of the files in the source directory were messed up for me, so I used touch to update them.
touch ./*
If that doesn't work, try updating all of the files except the Makefile.
for i in ./*; do [[ $i != ./Makefile ]] && touch $i; done
Then run make, and the config.status should recheck and proceed with compilation.

How do I build camlp5-6.11 on Windows 8 under cygwin with OCaml 4.01.0?

I installed OCaml 4.01.0 from http://protz.github.io/ocaml-installer/. I am now trying to build camlp5-6.11. When I run ./configure && make world.opt in cygwin, I get
...
sed -e "s|#VERSION#|6.11|" -e "s|#CAMLP5DIR#|D:\OCaml\lib/camlp5|" META.tpl > META
make[2]: Leaving directory '/cygdrive/d/Downloads/camlp5-6.11/etc'
make[2]: Entering directory '/cygdrive/d/Downloads/camlp5-6.11/top'
ocamlrun.exe ../boot/camlp5r.exe -nolib -I ../boot -mode S -o camlp5_top.ppo camlp5_top.ml
ocamlc.opt -warn-error A -I ../main -I ../boot -I ../ocaml_stuff/4.01.0/utils -I ../ocaml_stuff/4.01.0/parsing -I D:OCamllib/compiler-libs -c -impl camlp5_top.ppo
File "camlp5_top.ml", line 51, characters 14-32:
Error: Unbound module Toploop
../config/Makefile:20: recipe for target 'camlp5_top.cmo' failed
make[2]: *** [camlp5_top.cmo] Error 2
make[2]: Leaving directory '/cygdrive/d/Downloads/camlp5-6.11/top'
Makefile:26: recipe for target 'out' failed
make[1]: *** [out] Error 2
make[1]: Leaving directory '/cygdrive/d/Downloads/camlp5-6.11'
Makefile:141: recipe for target 'world.opt' failed
make: *** [world.opt] Error 2
How do I fix this?
I suspect the Makefile of Camlp5 hasn't been tested on Windows. It probably doesn't deal properly with backslashes: indeed, in your output, I can see D:OCamllib/compiler-libs which leads me to think that the error lies on the Camlp5 side: the path should obviously be D:\OCaml\lib....
Little-known fact about windows: / works as a path separator just as well, so if that's an option, you could probably try to hardcode d:/ocaml/ somewhere in the Makefile as the root dir for your OCaml installation, but you'd also have to fix the Makefile to generate d:/ocaml/lib as the library directory.

Resources