Compile error, no diagnostic message


#1

I’m building from source on ubuntu 12.10.

the build was chugging along, but suddenly failed, but printed no specific error message.

Can anyone help?

Thanks,
Whit

...
Linking CXX shared library ../../bin/plugins/libmpi.so
[ 32%] Built target mpi
/home/warmstrong/Downloads/scidb/scidb-12.12.0/src/query/FunctionLibrary.cpp: In member function ‘void scidb::FunctionLibrary::registerBuiltInFunctions()’:
/home/warmstrong/Downloads/scidb/scidb-12.12.0/src/query/FunctionLibrary.cpp:118:6: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without
Linking CXX shared library ../../bin/libscidbclient.so
[ 32%] Built target scidbclient
make: *** [all] Error 2
warmstrong@mongodb:~/Downloads/scidb$ 

#2

I think I found the issue, but shouldn’t cmake catch this by throwing an error when it tries to find the libs before the build step?

-Whit

[ 72%] Reaping winning child 0x022d0410 PID 5635 
Live child 0x022d0410 (src/mpi/slaving/CMakeFiles/mpi_slave_common.dir/__/__/linear_algebra/scalapackUtil/test/slaving/mpiCopySlave.cpp.o) PID 5636 
Building CXX object src/mpi/slaving/CMakeFiles/mpi_slave_common.dir/__/__/linear_algebra/scalapackUtil/test/slaving/mpiCopySlave.cpp.o
Reaping winning child 0x022d0410 PID 5636 
Live child 0x022d0410 (src/mpi/slaving/CMakeFiles/mpi_slave_common.dir/__/__/linear_algebra/scalapackUtil/test/slaving/mpiCopySlave.cpp.o) PID 5638 
/bin/sh: 1: /usr/bin/mpic++.mpich2: not found
Reaping losing child 0x022d0410 PID 5638 
make[2]: *** [src/mpi/slaving/CMakeFiles/mpi_slave_common.dir/__/__/linear_algebra/scalapackUtil/test/slaving/mpiCopySlave.cpp.o] Error 127
Removing child 0x022d0410 PID 5638 from chain.
Reaping losing child 0x014a5460 PID 5634 
make[1]: *** [src/mpi/slaving/CMakeFiles/mpi_slave_common.dir/all] Error 2
Removing child 0x014a5460 PID 5634 from chain.
Reaping losing child 0x00fad240 PID 2772 
make: *** [all] Error 2
Removing child 0x00fad240 PID 2772 from chain.

#3

I had the same issue.
On Ubuntu, I installed mpich2-dev package and solved the problem.

When using parallel build, make -j n, it is hard to see the error, just a thread dies and throw the error message in the middle. I thought CMake should catch this problem but it didn’t.


#4

Hi Guys

I got the same error when I tried to make sciDB in Ubuntu environment.

The whole process freezes at [76%] Built target mpi_slave_common
it says that there is no rule to make target libscalapack.a needed by mpi_slave_direct.

Any suggestions?


#5

On Ubuntu 12.04, I also get stuck on:

[ 74%] Built target mpi_slave_common
make[2]: *** No rule to make target src/mpi/local_scalapack/container/src/scalapackForMPICH2-build/install/lib/libscalapack.a', needed bybin/plugins/mpi_slave_direct’. Stop.
make[1]: *** [src/mpi/slaving/CMakeFiles/mpi_slave_direct.dir/all] Error 2
make: *** [all] Error 2

What am I missing?


#6

Did you run the prepare toolchain command? This installs the necessary dependencies onto your system.

cd /<scidbtrunk> deployment/deploy.sh prepare_toolchain <host>

If you are building on the same machine where the source is located, you can use localhost for the host.

Also, SciDB has only been tested and verified on Ubuntu 12.04.


#7

Thanks! When I try this, I see:

[code]Source path: /home/edzer/scidb/scidb-13.12.0.6872
Script common path: /home/edzer/scidb/scidb-13.12.0.6872/deployment/common
Build path: /home/edzer/scidb/scidb-13.12.0.6872
SciDB version: 13.12
Executing: prepare_toolchain localhost

Prepare toolchain @localhost
Register SciDB 3rdparty repository on localhost
spawn ssh -o StrictHostKeyChecking=no root@localhost rm -rf /tmp/root/deployment && mkdir -p /tmp/root
root@localhost’s password:
Permission denied, please try again.
root@localhost’s password:
Permission denied, please try again.
root@localhost’s password:
Permission denied (publickey,password).[/code]
Which, I assume, indicates an error in my setup, but which one?

The error I reported on Feb 28 was preceded by another one:

[code]Creating directory /home/edzer/scidb/scidb-13.12.0.6872/stage/build/src/mpi/local_scalapack/container/src/scalapackForMPICH2-build/build
Build directory is… /home/edzer/scidb/scidb-13.12.0.6872/stage/build/src/mpi/local_scalapack/container/src/scalapackForMPICH2-build/build
Checking if mpicc works…

COMMON: mpicc not working! aborting…
stderr:


/bin/sh: 1: /opt/scidb/13.12/3rdparty/mpich2/bin/mpicc.mpich2: not found


setup.py exited with 0
[ 72%] No install step for ‘scalapackForMPICH2’
[ 72%] Completed ‘scalapackForMPICH2’
[ 72%] Built target scalapackForMPICH2
Scanning dependencies of target mpi_slave_common
[ 72%] Building CXX object src/mpi/slaving/CMakeFiles/mpi_slave_common.dir///linear_algebra/scalapackUtil/test/slaving/mpiCopySlave.cpp.o
/bin/sh: 1: /opt/scidb/13.12/3rdparty/mpich2/bin/mpic++.mpich2: not found
make[2]: *** [src/mpi/slaving/CMakeFiles/mpi_slave_common.dir///linear_algebra/scalapackUtil/test/slaving/mpiCopySlave.cpp.o] Error 127
make[1]: *** [src/mpi/slaving/CMakeFiles/mpi_slave_common.dir/all] Error 2
make: *** [all] Error 2
./run.py: ERROR: Command make failed: Abnormal return code: 2 on command [’/usr/bin/make’, ‘-j1’]
Make sure commands setup,make,install,start are performed (in that order) before stop,stopForce,tests[/code]
which I had worked-around by

sudo mkdir -p /opt/scidb/13.12/3rdparty/mpich2/bin/ sudo ln -s /usr/bin/mpic++.mpich2 /opt/scidb/13.12/3rdparty/mpich2/bin/mpic++.mpich2
Was that a good idea? This is still Ubuntu 12.04.


#8

There is a script that is used for building from source, deploy.sh. It is in the /deployment folder, and contains detailed usage instructions. (One of the steps is the prepare_toolchain that I mentioned, but there are prior steps that I forgot to mention.).

./deploy.sh         # gives usage information
./deploy.sh help    # gives more detailed usage information

Give that a try and let me know how it goes.


#9

With the deploy.sh script things worked out. Two small points:

needs the public key itself, not the public key file name as one of its arguments (this is not well documented). But before that, I needed to give root a password:

sudo su passwd
did the trick (Ubuntu roots come without password by default).

Thanks a lot! Will do the postgresql things tomorrow.


#10

I managed to set up SciDB from source on ubuntu 12.04 now (except for shim where I used the binary distro from github).

The USAGE section obtained by deployment/deploy.sh help is helpful, the EXAMPLE section contains some errors. In particular:
[ul]
[li] EXAMPLE step 3, ./deploy.sh build_fast /tmp/my_packages_path did not generate the .deb’s in /tmp/my_package_path but in the home directory[/li]
[li] after moving the .deb files to /tmp/my_package_path manually, step 5 worked[/li]
[li] step 6 seems to install SciDB from a remote repository, i.e. not from the self compiled binary distro, and wants to install 13.6 instead of 13.12 – maybe remove this step, or modify it such that the self compiled version is installed on the cluster?[/li]
[li] in step 7 the number of arguments is wrong; if “default” is replaced by “default default” it works (I hope this is right)[/li][/ul]


#11

At the bottom of the same forum page where you downloaded the SciDB source code (e.g. viewtopic.php?f=14&t=1265 for the 13.12 SciDB release), there is a PDF file telling you the exact steps to follow in order to build SciDB from source. The command ‘prepare_toolchain’ that Scott mentioned is just one of the steps.