ATLAS on ARM configuration failure [closed] - configuration

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm trying to install the ATLAS library (v3.10.1) on my Tegra3 ARM CPU (cortex-a9) under an Ubuntu 11.04 OS but I cannot passed the configuration step..
When I launch the "./configure" executable I get this following output:
make: `xconfig' is up to date.
./xconfig -d s /home/ubuntu/Libraries/ATLAS/build/.././ -d b /home/ubuntu/Libraries/ATLAS/build -D c -DATL_ARM_HARDFP=1 -Ss ADdir /Libraries/ATLAS/build/ARMHARDFP -Si archdef 0 -Fa alg -mfloat-abi=hard
OS configured as Linux (1)
Assembly configured as GAS_ARM (7)
Vector ISA Extension configured as NEON (10,1024)
Architecture configured as ARMv7 (46)
Bad CPU MHZ value=0, res='CPU MHZ=0
'
Clock rate configured as 0Mhz
Maximum number of threads configured as 4
Parallel make command configured as '$(MAKE) -j 4'
Pointer width configured as 32
Cannot detect CPU throttling.
rm -f config1.out
make atlas_run atldir=/home/ubuntu/Libraries/ATLAS/build exe=xprobe_comp redir=config1.out \
args="-v 0 -o atlconf.txt -O 1 -A 46 -Si nof77 0 -V 1024 -Fa ic '-mfloat-abi=hard' -Fa sm '-mfloat-abi=hard' -Fa dm '-mfloat-abi=hard' -Fa sk '-mfloat-abi=hard' -Fa dk '-mfloat-abi=hard' -Fa xc '-mfloat-abi=hard' -Fa gc '-mfloat-abi=hard' -Fa if '-mfloat-abi=hard' -b 32 -d b /home/ubuntu/Libraries/ATLAS/build"
make[1]: Entering directory `/home/ubuntu/Libraries/ATLAS/build'
cd /home/ubuntu/Libraries/ATLAS/build ; ./xprobe_comp -v 0 -o atlconf.txt -O 1 -A 46 -Si nof77 0 -V 1024 -Fa ic '-mfloat-abi=hard' -Fa sm '-mfloat-abi=hard' -Fa dm '-mfloat-abi=hard' -Fa sk '-mfloat-abi=hard' -Fa dk '-mfloat-abi=hard' -Fa xc '-mfloat-abi=hard' -Fa gc '-mfloat-abi=hard' -Fa if '-mfloat-abi=hard' -b 32 -d b /home/ubuntu/Libraries/ATLAS/build > config1.out
sh: Syntax error: EOF in backquote substitution
sh: Syntax error: EOF in backquote substitution
sh: Syntax error: EOF in backquote substitution
/usr/bin/ld: error: /tmp/cck4AYUv.o uses VFP register arguments, xctest does not
/usr/bin/ld: failed to merge target specific data of file /tmp/cck4AYUv.o
collect2: ld returned 1 exit status
make[2]: *** [IRunCComp] Error 1
/usr/bin/ld: error: /tmp/ccuMjBW4.o uses VFP register arguments, xctest does not
/usr/bin/ld: failed to merge target specific data of file /tmp/ccuMjBW4.o
collect2: ld returned 1 exit status
make[2]: *** [IRunCComp] Error 1
Unable to find usable compiler for ICC; abortingMake sure compilers are in your path, and specify good compilers to configure
(see INSTALL.txt or 'configure --help' for details)make[1]: *** [atlas_run] Error 1
make[1]: Leaving directory `/home/ubuntu/Libraries/ATLAS/build'
make: *** [IRun_comp] Error 2
ERROR 512 IN SYSCMND: 'make IRun_comp args="-v 0 -o atlconf.txt -O 1 -A 46 -Si nof77 0 -V 1024 -Fa ic '-mfloat-abi=hard' -Fa sm '-mfloat-abi=hard' -Fa dm '-mfloat-abi=hard' -Fa sk '-mfloat-abi=hard' -Fa dk '-mfloat-abi=hard' -Fa xc '-mfloat-abi=hard' -Fa gc '-mfloat-abi=hard' -Fa if '-mfloat-abi=hard' -b 32"'
mkdir src bin tune interfaces
mkdir: cannot create directory `src': File exists
mkdir: cannot create directory `bin': File exists
mkdir: cannot create directory `tune': File exists
mkdir: cannot create directory `interfaces': File exists
make: *** [make_subdirs] Error 1
make -f Make.top startup
make[1]: Entering directory `/home/ubuntu/Libraries/ATLAS/build'
Make.top:1: Make.inc: No such file or directory
Make.top:325: warning: overriding commands for target `/AtlasTest'
Make.top:76: warning: ignoring old commands for target `/AtlasTest'
make[1]: *** No rule to make target `Make.inc'. Stop.
make[1]: Leaving directory `/home/ubuntu/Libraries/ATLAS/build'
make: *** [startup] Error 2
mv: cannot stat `lib/Makefile': No such file or directory
.././configure: 450: cannot create lib/Makefile: Directory nonexistent
.././configure: 451: cannot create lib/Makefile: Directory nonexistent
.././configure: 452: cannot create lib/Makefile: Directory nonexistent
.././configure: 453: cannot create lib/Makefile: Directory nonexistent
.././configure: 509: cannot create lib/Makefile: Directory nonexistent
DONE configure
So, I have three questions:
First: Why "Bad CPU MHZ value=0, res='CPU MHZ=0" ? I precise that the CPU throttling of all the cores is set on 0 (I checked the /sys/devices/system/cpu/cpu*/cpufreq/throttle files). Is there a way to pass the clock frequency of the ARM cpu as argument ?
Second: Why "sh: Syntax error: EOF in backquote substitution" ?
Third: "Unable to find usable compiler for ICC; abortingMake.." Is there a way to say at the ./configure executable to not looking for ICC ? Because I'm trying to build ATLAS on ARM therefore ICC is not available.
Thanks in advance for your help !
Guix

The ATLAS configuration environment is broken for ARM, and not very fault tolerant in general:
first it attempts to determine system performance by grepping in /proc/cpuinfo (which has never been intended for anything other than some human-readable information dump). You can override this by specifying a frequency on the configure command line: -m <MHz>
then it probes for whether power management is enabled - if it is, it bails out again. Can't see a configure option, but if you make ProbeThrottle() in CONFIG/src/backend/archinfo_linux.c return 0, it gets past that.
You're then hit by the fact that there seems to have actually been some work done for some Cortex-A8 platform several years ago, and the compiler flags set by default for ARMv7 in CONFIG/src/atlcomp.txt include -mfloat-abi=softfp. Change this to 'hard' and it will actually work on a modern ARM Linux distribution.
The syntax error is fallout from trying to look for compilers in /opt/bin and /opt/sbin and not handling errors.
With the above workarounds, I don't see any ICC errors, and the build gets a fair bit along before crashing and burning.
In short, there will be some porting effort required in order for it to work properly on ARM. Maybe you can start by sending an error report to their developer mailing list?

Related

sbatch: error: Batch job submission failed: Requested node configuration is not available

The problem is not related to the number of the CPU assigned to the job. Before this problem, I had an error with the Nvidia driver configuration in a way that I couldn't detect the GPUs by 'nvidia-smi', after solving that error by running 'NVIDIA-Linux-x86_64-410.79.run --no-drm' I have encountered this error. Appreciate very much any help!
PS
Before the first problem, I could run similar jobs smoothly
command: sbatch md.s
sbatch: error: Batch job submission failed: Requested node configuration is not available
command: 'sinfo -o "%g %.10R %.20l %.10c"'
GROUPS PARTITION TIMELIMIT CPUS
all gpucompute infinite 32
command:'sinfo -Nl'
Thu Sep 24 21:06:35 2020
NODELIST NODES PARTITION STATE CPUS S:C:T MEMORY TMP_DISK WEIGHT AVAIL_FE REASON
fwb-lab-tesla1 1 gpucompute* down* 32 32:1:1 64000 0 1 (null) Not responding
md.s
!/bin/bash
SBATCH --job-name=Seq1_md1
SBATCH --nodes=1
SBATCH --cpus-per-task=2
SBATCH --mem=3GB
SBATCH --mem-per-cpu=1gb
SBATCH --gres=gpu:Titan
SBATCH --mail-user=shirin.jamshidi#kcl.ac.uk
SBATCH --mail-type=ALL
module purge
module load amber/openmpi/intel/16.06
Navigate where data is
cd /home/SCRATCH/Seq1
mpirun -np 1 pmemd.cuda.MPI -O -i md1.in -o Seq1_md1.out -p Seq1.prmtop -c Seq1_min2.rst -r Seq1_md1.rst -x Seq1_md1.mdcrd -e Seq1_md1.mden -ref Seq1_min2.rst > md1.log
You sinfo command reports the node as down*, which means it is marked as down by slurm and the slurmd is not reachable. So there is definitely something wrong with the node, which you cannot solve from the user side.

Compiling MariaDB Connector v1.0.5 and/or Mysql Connection v 5.3.4

I am trying to compile MariaDB Connector v1.0.5 and/or Mysql Connection v 5.3.4.
I have MariaDB Server v.10.0.21 installed on a Slackware server. I just need to get a MYSQL connector working, doesn't matter which one.
Also applied the patch mentioned in Is there compatible ODBC driver with Mariadb 10 on Linux?
When I compile the MariaDB Connector I get an error saying "MariaDB not found".
When I compile the Mysql Connector I get the following error:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
MYSQL_LIB
linked by target "myodbc5a" in directory /downloads/mysql-connector-odbc-5.3.4-src/driver
linked by target "myodbc5w" in directory /downloads/mysql-connector-odbc-5.3.4-src/driver
linked by target "myodbc5S" in directory /downloads/mysql-connector-odbc-5.3.4-src/setupgui
linked by target "myodbc-installer" in directory /downloads/mysql-connector-odbc-5.3.4-src/installer
OUTOUT from Error File
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /downloads/mysql-connector-odbc-5.3.4-src/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/gmake "cmTryCompileExec3523358880/fast"
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec3523358880.dir/build.make CMakeFiles/cmTryCompileExec3523358880.dir/build
gmake1: Entering directory /downloads/mysql-connector-odbc-5.3.4-src/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /downloads/mysql-connector-odbc-5.3.4-src/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec3523358880.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTryCompileExec3523358880.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunct
ionExists.c
Linking C executable cmTryCompileExec3523358880
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3523358880.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTryCompileExec3523358880.dir/CheckFunctionExists.c.o -o cmTryCompileExec3523358880 -rdynamic -lpth
reads
/usr/lib64/gcc/x86_64-slackware-linux/4.8.2/../../../../x86_64-slackware-linux/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTryCompileExec3523358880] Error 1
gmake[1]: Leaving directory/downloads/mysql-connector-odbc-5.3.4-src/CMakeFiles/CMakeTmp'
gmake: *** [cmTryCompileExec3523358880/fast] Error 2
Determining if the function dlopen exists failed with the following output:
Change Dir: /downloads/mysql-connector-odbc-5.3.4-src/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/gmake "cmTryCompileExec1888052970/fast"
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec1888052970.dir/build.make CMakeFiles/cmTryCompileExec1888052970.dir/build
gmake1: Entering directory /downloads/mysql-connector-odbc-5.3.4-src/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /downloads/mysql-connector-odbc-5.3.4-src/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec1888052970.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=dlopen -o CMakeFiles/cmTryCompileExec1888052970.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExist
s.c
Linking C executable cmTryCompileExec1888052970
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1888052970.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=dlopen CMakeFiles/cmTryCompileExec1888052970.dir/CheckFunctionExists.c.o -o cmTryCompileExec1888052970 -rdynamic
CMakeFiles/cmTryCompileExec1888052970.dir/CheckFunctionExists.c.o: In functionmain':
CheckFunctionExists.c:(.text+0x15): undefined reference to dlopen'
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTryCompileExec1888052970] Error 1
gmake[1]: Leaving directory/downloads/mysql-connector-odbc-5.3.4-src/CMakeFiles/CMakeTmp'
gmake: *** [cmTryCompileExec1888052970/fast] Error 2
Blockquote
Just use the precompiled versions. Copy the libraries to the lib and include directories.

R library RMySQL doesn't start

I have installed R3.0.1. Rtools is also installed. MySQL version 5.7 is installed. I want to connect R to MySQL, and I am trying to do that through RMySQL package in R.
While the installation of RMySQL is finally done after looking at various SO questions, the library command gives error. Please see below complete R logs. Please help.
> install.packages("RMySQL",type="source")
trying URL 'http://cran.rstudio.com/src/contrib/RMySQL_0.9-3.tar.gz'
Content type 'application/x-gzip' length 165363 bytes (161 Kb)
opened URL
downloaded 161 Kb
* installing *source* package 'RMySQL' ...
** package 'RMySQL' successfully unpacked and MD5 sums checked
checking for $MYSQL_HOME... C:/Program Files/MySQL/MySQL Server 5.7
cygwin warning:
MS-DOS style path detected: C:/Program
Preferred POSIX equivalent is: /cygdrive/c/Program
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
test: Files/MySQL/MySQL: unknown operand
** libs
Warning: this package has a non-empty 'configure.win' file,
so building only the main architecture
cygwin warning:
MS-DOS style path detected: D:/SOFTWA~1/R-30~1.3/etc/x64/Makeconf
Preferred POSIX equivalent is: /cygdrive/d/SOFTWA~1/R-30~1.3/etc/x64/Makeconf
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
gcc -m64 -I"D:/SOFTWA~1/R-30~1.3/include" -DNDEBUG -I"C:/Program Files/MySQL/MySQL Server 5.7"/include -I"d:/RCompile/CRANpkg/extralibs64/local/include" -O2 -Wall - std=gnu99 -mtune=core2 -c RS-DBI.c -o RS-DBI.o
RS-DBI.c: In function 'RS_na_set':
RS-DBI.c:1219:11: warning: variable 'c' set but not used [-Wunused-but-set-variable]
gcc -m64 -I"D:/SOFTWA~1/R-30~1.3/include" -DNDEBUG -I"C:/Program Files/MySQL/MySQL Server 5.7"/include -I"d:/RCompile/CRANpkg/extralibs64/local/include" -O2 -Wall - std=gnu99 -mtune=core2 -c RS-MySQL.c -o RS-MySQL.o
RS-MySQL.c: In function 'RS_MySQL_fetch':
RS-MySQL.c:657:13: warning: variable 'fld_nullOk' set but not used [-Wunused-but-set- variable]
RS-MySQL.c: In function 'RS_DBI_invokeBeginGroup':
RS-MySQL.c:1137:30: warning: variable 'val' set but not used [-Wunused-but-set-variable]
RS-MySQL.c: In function 'RS_DBI_invokeNewRecord':
RS-MySQL.c:1158:20: warning: variable 'val' set but not used [-Wunused-but-set-variable]
RS-MySQL.c: In function 'RS_MySQL_dbApply':
RS-MySQL.c:1219:38: warning: variable 'fld_nullOk' set but not used [-Wunused-but-set-variable]
gcc -m64 -shared -s -static-libgcc -o RMySQL.dll tmp.def RS-DBI.o RS-MySQL.o C:/Program Files/MySQL/MySQL Server 5.7/bin/libmySQL.dll - Ld:/RCompile/CRANpkg/extralibs64/local/lib/x64 -Ld:/RCompile/CRANpkg/extralibs64/local/lib -LD:/SOFTWA~1/R-30~1.3/bin/x64 -lR
installing to D:/Softwares/R-3.0.3/library/RMySQL/libs/x64
** R
** inst
** preparing package for lazy loading
Creating a generic function for 'format' from package 'base' in package 'RMySQL'
Creating a generic function for 'print' from package 'base' in package 'RMySQL'
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
MYSQL_HOME defined as C:/Program Files/MySQL/MySQL Server 5.7
* DONE (RMySQL)
The downloaded source packages are in
‘C:\Users\mitrabhanu.panda\AppData\Local\Temp\RtmpgZHT8R\downloaded_packages’
> library(RMySQL)
Looking in C:\Program Files/MySQL, C:/MySQL, D:/MySQL, E:/MySQL, F:/MySQL, G:/MySQL, C:/xampp/MySQL, D:/xampp/MySQL, E:/xampp/MySQL, F:/xampp/MySQL, G:/xampp/MySQL, C:/Apps/MySQL, D:/Apps/MySQL, E:/Apps/MySQL, F:/Apps/MySQL, G:/Apps/MySQL
Found C:\Program Files/MySQL
Error : .onLoad failed in loadNamespace() for 'RMySQL', details:
call: setwd(bin)
error: character argument expected
Error: package or namespace load failed for ‘RMySQL’
Please let me know what I have done wrong.
As written in my comment, here is the sample code for reading a table from mysql:
require(RJDBC)
j <- JDBC(classPath='/path/to/mysql/jdbc/jar', driverClass='com.mysql.jdbc.Driver')
connection <- dbConnect(j, 'jdbc:mysql://localhost/databasename', 'myusername','mypassword')
on.exit(dbDisconnect(connection))
data.frame.from.sql <- dbReadTable(connection, 'tablename')
This will read the table named tablename from databasename into data.frame.from.sql as an R data frame that you can manipulate as you see fit. I hope this helps.

Root access required for CUDA?

I am using GeForce 8400M GS on Ubuntu 10.04 and I am learning CUDA programming. I am writing and running few basic programs. I was using cudaMalloc, and it kept giving me an error until I ran the code as root. However, I had to run the code as root only once. After that, even if I run the code as normal user, I do not get an error on malloc. What's going on?
This is probably due to your GPU not being properly initialized at boot. I've come across this problem when using Ubuntu Server and other installations where an X server isn't being started automatically. Try the following to fix it:
Create a directory for a script to initialize your GPUs. I usually use /root/bin. In this directory, create a file called cudainit.sh with the following code in it (this script came from the Nvidia forums).
#!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
N3D=`/usr/bin/lspci | grep -i NVIDIA | grep "3D controller" | wc -l`
NVGA=`/usr/bin/lspci | grep -i NVIDIA | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i;
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
Now we need to make this script run automatically at boot. Edit /etc/rc.local to look like the following.
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#
# Init CUDA for all users
#
/root/bin/cudainit.sh
exit 0
Reboot your computer and try to run your CUDA program as a regular user. If I'm right about what the problem is, then it should be fixed.
To work with Ubuntu 14.04 I followed https://devtalk.nvidia.com/default/topic/699610/linux/334-21-driver-returns-999-on-cuinit-cuda-/ to add nvidia-uvm to etc/modules, and to add a line to a custom udev rule. Create /etc/udev/rules.d/70-nvidia-uvm.rules with this line:
KERNEL=="nvidia_uvm", RUN+="/bin/bash -c '/bin/mknod -m 666 /dev/nvidia-uvm c $(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0;'"
I don't understand why sudo modprobe nvidia-uvm works to create a proper /dev/nvidia-uvm (as does sudo cuda_program) but the /etc/modules listing requires the udev rule.

Compile mysql client under cygwin with cmake

I need a mysql-client for Eclipse Helios/Perl EPIC, running under windows7. Perl5.10 is running under cygwin on the same machine. I'm really strugglying to compile mysql sources with cmake under cygwin. I have also read the transition guide from "configure" to "cmake".
Here is the last test I tried among dozen of previous variants :
Libraries and source Preparation :
apt-cyg install make cmake gcc4-core gcc4-g++ libncurses-devel libncursesw-devel readline libstdc++6 libstdc++6-devel
mkdir -p /usr/local/src
mkdir -p /usr/local/mysql
cd /usr/local/src
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.9.tar.gz/from/http://mirrors.ircam.fr/pub/mysql/
find . -type f -name "*.tar.gz" -exec tar -zxvf {} \;
find . -type d -name "mysql-*" -exec cd {} \;
Build/Install
CC=gcc; CFLAGS=-O3 ; CXX=gcc ; CXXFLAGS=-O3; export CC CFLAGS CXX CXXFLAGS
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_EMBEDDED_SERVER=0 -DWITH_LIBEDIT=0 -DISABLE_SHARED=1
Build is stopped at 86% with
[ 86%] Building CXX object sql/CMakeFiles/mysqld.dir/main.cc.o
Linking CXX executable mysqld.exe
Creating library file: libmysqld.dll.a
libsql.a(mysqld.cc.o):mysqld.cc:(.rdata$_ZTV12Comp_creator[vtable for Comp_creator]+0x10): undefined reference to `___cxa_pure_virtual'
collect2: ld returned 1 exit status
make[2]: *** [sql/mysqld.exe] Error 1
make[1]: *** [sql/CMakeFiles/mysqld.dir/all] Error 2
I read 100's of threads but blindly as lacking compilation skills.
Maybe is there also an alternative or better solution to run my existing mysql debugging server hosted in a Debian's VM (as guest on my windows machine) from Eclipse.. ?
Suggestions are more than welcome.
Thx in advance
hum, looks like that there is no absolute need to do that to use perl epic with Eclipse, as cygwin perl embeds already the DBI modules (to be loaded with CPAN). So it's a way to get around this problem.