"No rule to make target" compiling c++ module for Apache Ignite - build

When compiling the c++ module from sources I am getting the following error, which seems to arise because the file "ignite/impl/interop/interop_target.h" is missing. Any suggestions where I should go from here?
Making all in include
make[3]: Entering directory `/work/apache-ignite-1.7.0-src/modules/platforms/cpp/core/include'
make[3]: Leaving directory `/work/apache-ignite-1.7.0-src/modules/platforms/cpp/core/include'
make[3]: *** No rule to make target `ignite/impl/interop/interop_target.h', needed by `all-am'. Stop.
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/work/apache-ignite-1.7.0-src/modules/platforms/cpp/core'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/work/apache-ignite-1.7.0-src/modules/platforms/cpp'
make: *** [all] Error 2
The command '/bin/sh -c cd /work/apache-ignite-1.7.0-src/modules/platforms/cpp && libtoolize && aclocal && autoheader && automake --add-missing && autoreconf && ./configure && make -j4' returned a non-zero code: 2
Where the build process I am following, leading up to the error, is
cd /work
curl -L -O https://archive.apache.org/dist/ignite/1.7.0/apache-ignite-1.7.0-src.zip
unzip -q apache-ignite-1.7.0-src.zip
cd apache-ignite-1.7.0-src
mvn clean package -DskipTests
cd modules/platforms/cpp
libtoolize && aclocal && autoheader && automake --add-missing && autoreconf
./configure
make -j4
Incidentally I am getting the same error if I repeat the build process on apache-ignite-1.8.0-src.zip.

This is a known issue with the sources releases. As a solution, you can use sources from project repository.

Related

/usr/bin/ld: cannot find -l<library> error while compiling (without sudo)

I'll share with you my problem:
Basically I need to compile a tool (Freebayes: https://github.com/ekg/freebayes) in a cluster running rhel fedora 6.5 where I do not have sudo permissions.
When I compile with 'make' it gives me this error:
/usr/bin/ld: cannot find -llzma
collect2: ld returned 1 exit status
make[4]: *** [libhts.so] Error 1
make[4]: Leaving directory `/home/gspirito/freebayes/SeqLib/htslib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/gspirito/freebayes/SeqLib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/gspirito/freebayes/SeqLib'
make[1]: *** [../SeqLib/src/libseqlib.a] Error 2
make[1]: Leaving directory `/home/gspirito/freebayes/src'
make: *** [all] Error 2
It should mean that it cannot find liblzma.so, in fact if I run 'locate liblzma.so' it gives me this:
/usr/lib64/liblzma.so.0
/usr/lib64/liblzma.so.0.0.0
The liblzma.so is in a folder in my home (es: /home/usr/packages/lib), which I already added to the LD_LIBRARY_PATH in the .bashrc file
(export LD_LIBRARY_PATH=/home/gspirito/packages/lib:/usr/lib64/:$LD_LIBRARY_PATH).
And also to the C_INCLUDE_PATH and CPLUS_INCLUDE_PATH.
I searched for a solution and in many forum it is suggested to link the two files like so:
ln -s /usr/lib64/liblzma.so.0 /home/usr/packages/lib/liblzma.so.0
But I do not have permissions to do that.
I thought about changing my Makefile in order to make it look for libraries in my /home, but I have no experience in that. This is my Makefile:
all: vcflib/Makefile log
cd src && $(MAKE)
wbamtools: vcflib/Makefile log
cd src && $(MAKE) -f Makefile.bamtools
log: src/version_git.h
wget -q http://hypervolu.me/freebayes/build/$(shell cat src/version_git.h | grep v | cut -f 3 -d\ | sed s/\"//g) &
src/version_git.h:
cd src && $(MAKE) autoversion
touch src/version_git.h
vcflib/Makefile:
#echo "To build freebayes you must use git to also download its submodules."
#echo "Do so by downloading freebayes again using this command (note --recursive flag):"
#echo " git clone --recursive git://github.com/ekg/freebayes.git"
#error
debug:
cd src && $(MAKE) debug
install:
cp bin/freebayes bin/bamleftalign /usr/local/bin/
uninstall:
rm /usr/local/bin/freebayes /usr/local/bin/bamleftalign
test:
cd test && make test
clean:
cd src && $(MAKE) clean
rm -fr bin/*
.PHONY: all install uninstall clean test
How would I change it to tell it to look for -liblzma in /home/usr/packages/lib/ ?
Thanks a lot to anyone willing to respond.

Install GCC: fatal error: gnu/stubs-32.h: No such file or directory

I'm using a server with Centos 6.6. I don't have root access and I want to install the gcc-4.8.1 to my own directory. I found a solution and I run the following commands:
wget http://www.netgull.com/gcc/releases/gcc-4.8.1/gcc-4.8.1.tar.gz
tar zxvf gcc-4.8.1.tar.gz
cd gcc-4.8.1
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-4.8.1/configure --prefix=$HOME/gcc-4.8.1 --enable-languages=c,c++,fortran,go
make
I got errors when running the make command. It reports the following information:
configure: error: `CC' has changed since the previous run:
configure: former value: `/home/mypath/software/try_gcc2/objdir/./gcc/xgcc -B/home/mypath/software/try_gcc2/objdir/./gcc/ -B/home/mypath/software/try_gcc2/installed/x86_64-unknown-linux-gnu/bin/ -B/home/mypath/software/try_gcc2/installed/x86_64-unknown-linux-gnu/lib/ -isystem /home/mypath/software/try_gcc2/installed/x86_64-unknown-linux-gnu/include -isystem /home/mypath/software/try_gcc2/installed/x86_64-unknown-linux-gnu/sys-include '
configure: current value: `/home/mypath/software/try_gcc2/objdir/./gcc/xgcc -B/home/mypath/software/try_gcc2/objdir/./gcc/ -B/home/mypath/gcc-4.8.1/x86_64-unknown-linux-gnu/bin/ -B/home/mypath/gcc-4.8.1/x86_64-unknown-linux-gnu/lib/ -isystem /home/mypath/gcc-4.8.1/x86_64-unknown-linux-gnu/include -isystem /home/mypath/gcc-4.8.1/x86_64-unknown-linux-gnu/sys-include '
configure: error: in `/home/mypath/software/try_gcc2/objdir/x86_64-unknown-linux-gnu/libgcc':
configure: error: changes in the environment can compromise the build
configure: error: run `make distclean' and/or `rm ./config.cache' and start over
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/home/mypath/software/try_gcc2/objdir'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/mypath/software/try_gcc2/objdir'
make: *** [all] Error 2
I cannot figure what's wrong with my command. Thank you all for helping me!!!
I think I have found the solution. When I'm trying to build gcc-5.2.0, it reports that my server does not have 32-bit libraries. It also informs that if I still want to install anyway, I can add --disable-multilib when building. I tried and now the build is running normally.

build/org/qore/jni/QoreJavaApi.class: No such file or directory

make[2]: Entering directory
/export/home/build/src/el7/develop/qore/git/module-jni/build'
/usr/bin/cmake -E cmake_progress_report /export/home/build/src/el7/develop/qore/git/module-jni/build/CMakeFiles 36
[ 22%] unhandled QORE System exception thrown in TID 1 at 2017-01-10 07:23:45.694794 Tue +01:00 (CET) in FileInputStream::constructor() (/export/home/build/src/el7/develop/qore/gi
t/module-jni/make-inc:53, builtin code)
FILE-OPEN2-ERROR: cannot open '/export/home/build/src/el7/develop/qore/git/module-jni/build/org/qore/jni/QoreJavaApi.class': No such file or directory
call stack:
2: FileInputStream::constructor() (/export/home/build/src/el7/develop/qore/git/module-jni/make-inc:53, builtin code)
1: MakeInc::constructor() (line -1, user code)
make[2]: *** [JavaClassQoreJavaApi.inc] Error 3
make[2]: Leaving directory /export/home/build/src/el7/develop/qore/git/module-jni/build
make[1]: *** [CMakeFiles/jni.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
does anybody know why the class is not exported?
it looks like you just have to run cmake again from the build directory - try:
rm -rf * && cmake .. && make
from the build directory - if you are building from the develop branch, this should work on centos7 / rhel7 (just tried it myself)

Makefile install target sometimes working, sometimes not

I'm currently working on a project that should also provide a source package to be packaged into linux systems. Since I'm using monodevelop, I used
mdtool generate-makefiles AudioCuesheetEditor.sln --simple-makefiles
to generate makefiles,etc. But there is a little problem. On some system everything works fine when running the last step
make install
but sometimes not. The output then says
[root#VMFedora17 Downloads]# make install
make[1]: Entering directory `/home/sven/Downloads'
make[1]: Leaving directory `/home/sven/Downloads'
make[1]: Entering directory `/home/sven/Downloads'
make pre-install-local-hook prefix=/usr/local
make[2]: Entering directory `/home/sven/Downloads'
make[2]: Leaving directory `/home/sven/Downloads'
make install-satellite-assemblies prefix=/usr/local
make[2]: Entering directory `/home/sven/Downloads'
mkdir -p '/usr/local/lib'
cp bin/Release /usr/local/lib/AudioCuesheetEditor
cp: omitting directory `bin/Release'
make[2]: *** [/usr/local/lib/AudioCuesheetEditor] Error 1
make[2]: Leaving directory `/home/sven/Downloads'
make[1]: *** [install-local] Error 2
make[1]: Leaving directory `/home/sven/Downloads'
make: *** [install-recursive] Error 1
This was run on a Fedora 17 Linux with KDE installed. On another Fedora 17 KDE everything went perfect.
Could somebody help me, where the error is?
Makefile can be found here: http://sourceforge.net/p/audiocuesheet/code/140/tree/trunk/Quellcode/AudioCuesheetEditor.make
Thanks for your help!
From your output and the link you provided, I found the error in the following snippet:
install-local: $(ASSEMBLY) $(ASSEMBLY_MDB)
make pre-install-local-hook prefix=$(prefix)
make install-satellite-assemblies prefix=$(prefix)
mkdir -p '$(DESTDIR)$(libdir)/$(PACKAGE)'
$(call cp,$(ASSEMBLY),$(DESTDIR)$(libdir)/$(PACKAGE))
I guess $(ASSEMBLY) was a directory, but I am not sure. And the command cp without the parameter -r will not copy the directory recursively. You can try to modify
$(call cp,$(ASSEMBLY),$(DESTDIR)$(libdir)/$(PACKAGE))
to
$(call cp,-r,$(ASSEMBLY),$(DESTDIR)$(libdir)/$(PACKAGE))
or
cp -r $(ASSEMBLY) $(DESTDIR)$(libdir)/$(PACKAGE)
Additionally, if you want to find out why the original works on one machine but not on the another, you can add a command:
echo $(ASSEMBLY)
before the above command to see if the output of them are different on different machines.

gcc 4.5 installation problem under ubuntu

I tried to install gcc 4.5 on ubuntu 10.04 but failed.
Here is a compile error that I don't know how to solve. Is there anyone successfully install the latest gcc on ubuntu?
Following is my steps and the error message, I'd like to know where is the problem....
Step1: download these files:
gcc-core-4.5.0.tar.gz
gcc-g++-4.5.0.tar.gz
gmp-4.3.2.tar.bz2
mpc-0.8.1.tar.gz
mpfr-2.4.2.tar.gz
Step2: Unzip above files
Step3: move gmp, mpc, mpfr to the gcc-4.5.0/ directory.
mv gmp-4.3.2 gcc-4.5.0/gmp
mv mpc-0.8.1 gcc-4.5.0/mpc
mv mpfr-2.4.2 gcc-4.5.0/mpfr
Step4: go to gcc-4.5.0 directory and do configuration:
sudo ./configure
Step5: compile and install
sudo make
sudo make install
The first 4 steps is OK, I can configure it successfully. However, when I try to compile it, following error message comes out, I cannot figure out what the problem is. Should I change the name from "gcc 4.5" to "gcc"?? It's a little strange that we need to do this by ourself. Is there anything I missed during the installation?
xxx#xxx-laptop:/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0$ sudo make
[sudo] password for xxx:
[ -f stage_final ] || echo stage3 > stage_final
/bin/bash: line 2: test: /media/Data/Tool/linux/gcc: binary operator expected
/bin/bash: /media/Data/Tool/linux/gcc: No such file or directory
make[1]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[2]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[3]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
rm -f stage_current
make[3]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[2]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[2]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
Configuring stage 1 in host-x86_64-unknown-linux-gnu/intl
/bin/bash: /media/Data/Tool/linux/gcc: No such file or directory
make[2]: *** [configure-stage1-intl] Error 127
make[2]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0'
make: *** [all] Error 2
It might not be a good idea to have a space in your path - it's kind of rare and can easily mess up shell scripts that aren't specially designed to deal with it (which is a bad combination!)
Another potential problem is that you're running configure inside the gcc source directory - this isn't recommended (and didn't work at all for me on at least one version of gcc 4). Instead make an empty build directory, parallel to the source directory, so you have something like:
gcc 4.5 <- but might want to avoid the space
gcc-4.5.0
...
build
Then cd into build and run
../gcc-4.5.0/configure
You may also need to start from a freshly unzipped source directory, as the previous failed build may have broken it.