Trying to set up multi-locale Chapel on a Raspberry Pi cluster - raspberry-pi

I am wondering if anyone could provide me with guidance on how to set up multi-locale on a cluster of Raspberry Pi -- a procedure or walk through or even just hints would be welcome.
Chapel compiles successfully on a single node and I can run all the tutorial code. I re-made chapel with the suggested environment variables in place for multi-locale but I just can't get it to work.
The output from printenv looks like this:
CHPL_HOME: /home/mpiu/chapel/chapel-1.23.0 *
script location: /home/mpiu/chapel/chapel-1.23.0/util/chplenv
CHPL_TARGET_PLATFORM: linux64
CHPL_TARGET_COMPILER: gnu
CHPL_TARGET_ARCH: aarch64
CHPL_TARGET_CPU: aarch64 *
CHPL_LOCALE_MODEL: flat
CHPL_COMM: gasnet *
CHPL_COMM_SUBSTRATE: udp *
CHPL_GASNET_SEGMENT: everything
CHPL_TASKS: qthreads
CHPL_LAUNCHER: amudprun
CHPL_TIMERS: generic
CHPL_UNWIND: none
CHPL_MEM: jemalloc
CHPL_ATOMICS: cstdlib
CHPL_NETWORK_ATOMICS: none
CHPL_GMP: gmp
CHPL_HWLOC: hwloc
CHPL_REGEXP: re2
CHPL_LLVM: none
CHPL_AUX_FILESYS: none
My environment variables look like this:
CHPL_HOME=/home/mpiu/chapel/chapel-1.23.0
CHPL_TARGET_CPU=aarch64
CHPL_COMM_SUBSTRATE=udp
CHPL_COMM=gasnet
GASNET_WORKERIP=192.168.1.0
GASNET_SPAWNFN=S
GASNET_SSH_CMD=ssh
GASNET_SSH_OPTIONS=-o LogLevel=Error -x
GASNET_SSH_SERVERS=oc2-a oc2-b
GASNET_MASTERIP=192.168.1.146
Using this example code:
use Memory;
for loc in Locales do
on loc {
writeln("locale #", here.id, "...");
writeln(" ...is named: ", here.name);
writeln(" ...has ", here.numPUs(), " processor cores");
writeln(" ...has ", here.physicalMemory(unit=MemUnits.GB, retType=real), " GB of memory");
writeln(" ...has ", here.maxTaskPar, " maximum parallelism");
}
And compiling it like this:
chpl --no-local -o printLocales printLocales.chpl
When I run the executable:
./printLocales -nl 2
I get the following error:
bash: line 1: 22782 Illegal instruction env 'AMUDP_SLAVE_ARGS=1,192,168,1,146,159,52,192.168.1.0' '/home/mpiu/Code/chapel/printLocales_real' '-nl' '1' '-E' 'SHELL=/bin/bash' '-E' 'GASNET_WORKERIP=192.168.1.0' '-E' 'CHPL_HOME=/home/mpiu/chapel/chapel-1.23.0' '-E' 'CHPL_TARGET_CPU=aarch64' '-E' 'GASNET_SPAWNFN=S' '-E' 'PWD=/home/mpiu/Code/chapel' '-E' 'LOGNAME=mpiu' '-E' 'XDG_SESSION_TYPE=tty' '-E' 'MANPATH=/home/mpiu/chapel/chapel-1.23.0/man:' '-E' 'HOME=/home/mpiu' '-E' 'LANG=en_US.UTF-8' '-E' 'GASNET_SSH_CMD=ssh' '-E' 'GASNET_SSH_OPTIONS=-o LogLevel=Error -x' '-E' 'GASNET_SSH_SERVERS=oc2-a oc2-b' '-E' 'CHPL_COMM_SUBSTRATE=udp' '-E' 'SSH_CONNECTION=192.168.1.47 53342 192.168.1.146 22' '-E' 'GASNET_MASTERIP=192.168.1.146' '-E' 'CHPL_COMM=gasnet' '-E' 'XDG_SESSION_CLASS=user' '-E' 'TERM=xterm-256color' '-E' 'USER=mpiu' '-E' 'SHLVL=1' '-E' 'XDG_SESSION_ID=c3' '-E' 'XDG_RUNTIME_DIR=/run/user/1002' '-E' 'SSH_CLIENT=192.168.1.47 53342 22' '-E' 'LC_ALL=en_US.UTF-8' '-E' 'PATH=/home/mpiu/chapel/chapel-1.23.0/bin/linux64-aarch64:/home/mpiu/chapel/chapel-1.23.0/util:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games' '-E' 'MAIL=/var/mail/mpiu' '-E' 'SSH_TTY=/dev/pts/0' '-E' 'OLDPWD=/home/mpiu' '-E' '_=./printLocales'
I have tried many different things (including using the MPI conduit as well), I just can't figure out what I am doing wrong. If it matters, MPI works fine on this cluster.
( An original error one-liner slightly re-formatted for faster readability )
bash: line 1: 22782 Illegal instruction \
env \
'AMUDP_SLAVE_ARGS=1,192,168,1,146,159,52,192.168.1.0' \
'/home/mpiu/Code/chapel/printLocales_real' \
'-nl' '1' \
'-E' 'SHELL=/bin/bash' \
'-E' 'GASNET_WORKERIP=192.168.1.0' \
'-E' 'CHPL_HOME=/home/mpiu/chapel/chapel-1.23.0' \
'-E' 'CHPL_TARGET_CPU=aarch64' \
'-E' 'GASNET_SPAWNFN=S' \
'-E' 'PWD=/home/mpiu/Code/chapel' \
'-E' 'LOGNAME=mpiu' \
'-E' 'XDG_SESSION_TYPE=tty' \
'-E' 'MANPATH=/home/mpiu/chapel/chapel-1.23.0/man:' \
'-E' 'HOME=/home/mpiu' \
'-E' 'LANG=en_US.UTF-8' \
'-E' 'GASNET_SSH_CMD=ssh' \
'-E' 'GASNET_SSH_OPTIONS=-o LogLevel=Error -x' \
'-E' 'GASNET_SSH_SERVERS=oc2-a oc2-b' \
'-E' 'CHPL_COMM_SUBSTRATE=udp' \
'-E' 'SSH_CONNECTION=192.168.1.47 53342 192.168.1.146 22' \
'-E' 'GASNET_MASTERIP=192.168.1.146' \
'-E' 'CHPL_COMM=gasnet' \
'-E' 'XDG_SESSION_CLASS=user' \
'-E' 'TERM=xterm-256color' \
'-E' 'USER=mpiu' \
'-E' 'SHLVL=1' \
'-E' 'XDG_SESSION_ID=c3' \
'-E' 'XDG_RUNTIME_DIR=/run/user/1002' \
'-E' 'SSH_CLIENT=192.168.1.47 53342 22' \
'-E' 'LC_ALL=en_US.UTF-8' \
'-E' 'PATH=/home/mpiu/chapel/chapel-1.23.0/bin/linux64-aarch64:/home/mpiu/chapel/chapel-1.23.0/util:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games' \
'-E' 'MAIL=/var/mail/mpiu' \
'-E' 'SSH_TTY=/dev/pts/0' \
'-E' 'OLDPWD=/home/mpiu' \
'-E' '_=./printLocales'

Related

Plantuml generates interface from Doxygen group

I would like to generate an interface diagram using Plantuml in Doxygen. Instead of typing the interfaces one by one as below, is it possible to generate the interface from the Doxygen group? I have created a group called "ExportInterface".
#startuml
interface "interface.h" as interface
{
function1(void): void
function2(void): void
function3(void): int
}
#enduml
doxygen -x Doxyfile
# Difference with default Doxyfile 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
OUTPUT_DIRECTORY = ms
ALWAYS_DETAILED_SEC = YES
STRIP_FROM_PATH = .
STRIP_FROM_INC_PATH = .
ALIASES = "project=\par Project: \n" \
"subsystem=\par Subsystem: \n" \
"history=\par History: \n\htmlonly <pre>" \
endhistory=</pre>\endhtmlonly \
"startuml{1}=\image html \1\n\image latex \1\n\if DontIgnorePlantUMLCode" \
enduml=\endif \
"xrefreq{2}=#ref \1 \"\1\" #anchor \1 <a href='\2' target='_blank'>Requirements Object Link</a>\n" \
"satisfyreq{2}=#xrefitem satisfy \"Satisfies requirement\" \"Requirement Satisfaction\" #xrefreq{\1,\2}" \
"verifyreq{2}=#xrefitem verify \"Verifies requirement\" \"Requirement Verification\" #xrefreq{\1,\2}" \
"xrefarc{2}=#ref \1 \"\1\" #anchor \1 <a href='\2' target='_blank'>Containing Rhapsody Model</a>\n" \
"xrefarc_path{3}=#ref \1 \"\2\" #anchor \1 <a href='\3' target='_blank'>Containing Rhapsody Model</a>\n" \
"tracearc{2}=#xrefitem architecture \"Architecture\" \"Traced Architecture\" #xrefarc{\1,\2}" \
"tracearc_path{3}=#xrefitem architecture \"Architecture\" \"Traced Architecture\" #xrefarc{\1,\2,\3}" \
"startTraceIt{1}=<B>\anchor \1\nTraceIt data: \1</B><PRE>" \
endTraceIt=</PRE> \
"reftrace{1}=#anchor ref_\1 #ref \1" \
"reftrace{2}=#anchor ref\1_\2 #ref \2"
EXTENSION_MAPPING = fidl=IDL
DISTRIBUTE_GROUP_DOC = YES
TYPEDEF_HIDES_STRUCT = YES
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_ANON_NSPACES = YES
CASE_SENSE_NAMES = YES
SORT_MEMBER_DOCS = NO
WARN_LOGFILE = doxygen-build/warnings.log
INPUT = ../adapt \
../core \
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.idl \
*.ddl \
*.odl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.cs \
*.d \
*.php \
*.php4 \
*.php5 \
*.phtml \
*.inc \
*.m \
*.markdown \
*.md \
*.mm \
*.dox \
*.pyw \
*.f90 \
*.f \
*.for \
*.tcl \
*.vhd \
*.vhdl \
*.ucf \
*.qsf \
*.as \
and \
*.js \
*.fidl \
*.fdepl
RECURSIVE = YES
EXCLUDE_PATTERNS = *_Template.c
IMAGE_PATH = images
FILTER_PATTERNS = *.fidl=
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = NO
HTML_TIMESTAMP = YES
GENERATE_ECLIPSEHELP = YES
GENERATE_TREEVIEW = YES
GENERATE_LATEX = NO
MACRO_EXPANSION = YES
SEARCH_INCLUDES = NO
PREDEFINED = "FUNC(type, memclass)=type" \
"VAR(type, memclass)=type" \
"CONST(type, memclass)=const type" \
"P2CONST(type, memclass, ptrclass)=const type *" \
"CONSTP2CONST(ptrtype, memclass, ptrclass)=ptrtype * const" \
DOXYGEN_SHOULD_SKIP_THIS \
__declspec(x)=
CLASS_DIAGRAMS = NO
HAVE_DOT = YES
UML_LOOK = YES
CALL_GRAPH = YES
DOT_IMAGE_FORMAT = svg
PLANTUML_JAR_PATH = C:\ProgramData\chocolatey\lib\plantuml\tools\plantuml.jar
DOT_GRAPH_MAX_NODES = 500

If YAD is a fork of Zenity why is there no --imagelist?

Zenity is used in many of my bash projects, but looking at the advanced features of YAD there are many reasons to switch. After some testing unfortunately I discovered there is no --imagelist option for the list type dialog. This is a major problem as most of my projects use imagelists.
The below example runs on zenity version 3.28.1
#!/bin/bash
table=(~/image.png " " "Title1" " " "description1" "output1" ~/image.png " " "Title2" " " "description2" "output2" ~/image.png " " "Title3" " " "description3" "output3")
zenity --list --title="page title" --text="some random text" --imagelist --ok-label=Open --cancel-label=Home --print-column=6 --hide-column=6 --separator=' ' --width=600 --height=400 \
--column="Cover image" \
--column=" " \
--column="Name" \
--column=" " \
--column="details" \
--column="Folder" \
"${table[#]}"
the dialog should look like this:
In this example ${table[#]} is an array that contains all the data for each row including the file-path to the image in column 1. Is there a way to do this in YAD?
I installed YAD and looked at all the help pages provided in terminal, also tried to run similar imagelist examples, but it seems to be not supported (syntax is mostly the same as YAD is a fork of zenity)
With yad the columns can have a type associated with them. In your case you want to use the :IMG type for the first column, and the other two can remain as plain text.
table=(
~/image.png "" "Title1" "" "description1" "output1"
~/image.png "" "Title2" "" "description2" "output2"
~/image.png "" "Title3" "" "description3" "output3"
)
yad \
--list \
--title="page title" \
--text="some random text" \
--imagelist \
--print-column=6 \
--hide-column=6 \
--separator=' ' \
--width=600 \
--height=400 \
--column="Cover image:IMG" \
--column=" " \
--column="Name" \
--column=" " \
--column="details" \
--column="Folder" \
--button="Home":1 \
--button="Open":20 \
--response=20 \
"${table[#]}"
The output, missing your images
That will set the exit code to 20 if you press Enter or click Open on a list item, as well as outputting "output1" or "output2" etc.
That said, I have been experiencing issues with the exit codes or output text not appearing correctly. The above example works fine for me, but if I change the the Open exit code to "25" instead of "20" it stops working. No idea why it behaves inconsistently.

error while opening CHM after compiling help using doxygen

I am recently getting the following error while opening CHM file generated by Doxywizard version 1.8.16.
On a Win 7 m/c, I get the following error on all pages:
'$' is undefined
for every page.
it comes from the following line in index.html
$(function() {
initMenu('',false,false,'search.php','Search');
});
UPDATED LATER:
On a Win 10 m/c, i didn't get the above error, but a different error in some pages in the CHM as follows :
Unable to get property 'style' of undefined or null reference
This error happens within the jquery.js file.
--
Diff of configuration is the following (note that I have replaced some names with '...'):
# Difference with default Doxyfile 1.8.16 (cfd73d5c4d1a66c620a3b7c08b72a3f3c3f9
255*)
PROJECT_NAME = ...
PROJECT_NUMBER = x.y.z.w
PROJECT_BRIEF = "..."
PROJECT_LOGO = .../....png
FULL_PATH_NAMES = NO
TAB_SIZE = 8
OPTIMIZE_OUTPUT_FOR_C = YES
TOC_INCLUDE_HEADINGS = 0
EXTRACT_ALL = YES
HIDE_SCOPE_NAMES = YES
SHOW_USED_FILES = NO
INPUT = ../src/ \
../src/main.c \
...
...
../docs/....md \
\docs
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.d \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.idl \
*.odl \
*.cs \
*.php \
*.php3 \
*.inc \
*.m \
*.markdown \
*.md \
*.mm \
*.dox \
*.py \
*.f90 \
*.f \
*.for \
*.vhd \
*.vhdl
RECURSIVE = YES
EXAMPLE_PATTERNS = *.c \
*.h
HTML_TIMESTAMP = YES
GENERATE_DOCSET = YES
GENERATE_HTMLHELP = YES
CHM_FILE = mydoc.chm
HHC_LOCATION = "C:/Program Files (x86)/HTML Help Workshop/hhc.exe"
GENERATE_TREEVIEW = YES
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
LATEX_CMD_NAME = latex
LATEX_MAKEINDEX_CMD = \makeindex
INCLUDE_PATH = ../include
HAVE_DOT = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
DOT_PATH = "C:/Program Files (x86)/Graphviz2.38/bin"

do_compile error while running bitbake on poky

iam using poky to build a BSP for my imxsabreauto board. i got the following error. please help me on this.
error log:
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Function failed: do_compile (log file is located at /home/viswanath/SabreAuto_error/build-wayland/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/busybox/1.22.1-r32/temp/log.do_compile.15410)
ERROR: Logfile of failure stored in: /home/viswanath/SabreAuto_error/build-wayland/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/busybox/1.22.1-r32/temp/log.do_compile.15410
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
| DEBUG: Executing shell function do_compile
| grep: .config: No such file or directory
| cp: cannot stat '.config': No such file or directory
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/viswanath/SabreAuto_error/build-wayland/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/busybox/1.22.1-r32/temp/log.do_compile.15410)
ERROR: Task 2086 (/home/viswanath/SabreAuto_error/sources/poky/meta/recipes-core/busybox/busybox_1.22.1.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2014 tasks of which 16 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:
Summary: 1 task failed:
/home/viswanath/SabreAuto_error/sources/poky/meta/recipes-core/busybox/busybox_1.22.1.bb, do_compile
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
bitbake file:
require busybox.inc
PR = "r32"
SRC_URI =
"http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://get_header_tar.patch \
file://busybox-appletlib-dependency.patch \
file://busybox-udhcpc-no_deconfig.patch \
file://find-touchscreen.sh \
file://busybox-cron \
file://busybox-httpd \
file://busybox-udhcpd \
file://default.script \
file://simple.script \
file://hwclock.sh \
file://mount.busybox \
file://syslog \
file://syslog-startup.conf \
file://syslog.conf \
file://busybox-syslog.default \
file://mdev \
file://mdev.conf \
file://umount.busybox \
file://defconfig \
file://busybox-syslog.service.in \
file://busybox-klogd.service.in \
file://fail_on_no_media.patch \
file://run-ptest \
file://inetd.conf \
file://inetd \
file://login-utilities.cfg \
file://0001-build-system-Specify-nostldlib-when-linking-to-.o-fi.patch \
file://recognize_connmand.patch \
file://busybox-cross-menuconfig.patch \
"
SRC_URI[tarball.md5sum] = "337d1a15ab1cb1d4ed423168b1eb7d7e"
SRC_URI[tarball.sha256sum] = "ae0b029d0a9e4dd71a077a790840e496dd838998e4571b87b60fed7462b6678b"
EXTRA_OEMAKE += "V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX} SKIP_STRIP=y"
do_install_ptest () {
cp -r ${B}/testsuite ${D}${PTEST_PATH}/
cp ${B}/.config ${D}${PTEST_PATH}/
ln -s /bin/busybox ${D}${PTEST_PATH}/busybox
}
inherit autotools gettext
the error seems to there is no ".config file".
if you need p-test click the link p-test yocto
for busybox see the link busybox.bb

Postgresql extension Makefile returning error

I wrote a SQL extension following the instructions on PGXN, but I always get a make install error as following:
/bin/mkdir -p '/usr/share/postgresql/9.5/extension'
/bin/mkdir -p '/usr/share/postgresql/9.5/extension'
/bin/mkdir -p '/usr/share/doc/postgresql-doc-9.5/extension'
/usr/bin/install -c -m 644 .//myextname.control '/usr/share/postgresql/9.5/extension/'
/usr/bin/install -c -m 644 .//sql/myextname--1.0.0.sql .//sql/myextname--1.0.0.sql '/usr/share/postgresql/9.5/extension/'
/usr/bin/install: will not overwrite just-created ‘/usr/share/postgresql/9.5/extension/myextname--1.0.0.sql’ with ‘.//sql/myextname--1.0.0.sql’
make: *** [install] Error 1
My Makefile is as following:
EXTENSION = myextname
EXTVERSION = $(shell grep default_version $(EXTENSION).control | \
sed -e "s/default_version[[:space:]]*=[[:space:]]*'\([^']*\)'/\1/")
DATA = $(filter-out $(wildcard sql/*--*.sql),$(wildcard sql/*.sql))
TESTS = $(wildcard test/sql/*.sql)
REGRESS = $(patsubst test/sql/%.sql,%,$(TESTS))
REGRESS_OPTS = --inputdir=test
DOCS = $(wildcard doc/*.md)
MODULES = $(patsubst %.c,%,$(wildcard src/*.c))
PG_CONFIG = pg_config
PG91 = $(shell $(PG_CONFIG) --version | grep -qE " 8\\.| 9\\.0" && echo no || echo yes)
ifeq ($(PG91),yes)
all: sql/$(EXTENSION)--$(EXTVERSION).sql
sql/$(EXTENSION)--$(EXTVERSION).sql: $(strip sql/tables.sql \
sql/types.sql \
sql/domains.sql \
)
cat $^ > $#
DATA = $(wildcard sql/*--*.sql) sql/$(EXTENSION)--$(EXTVERSION).sql
EXTRA_CLEAN = sql/$(EXTENSION)--$(EXTVERSION).sql
endif
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
This blog says this error is caused by this line:
DATA = $(wildcard sql/*--*.sql) sql/$(EXTENSION)--$(EXTVERSION).sql
which evaluates into the same filename twice (and /usr/bin/install refuses to overwrite the first instance of the file).
But how can I fix it?
You seem to have copied the Makefile from PGXN, and it is probably much more complicated than you need.
For example, do you target PostgreSQL versions below 9.1?
You'll be much better off with a small, simple custom tailored Makefile like this:
MODULES = src/myextname
EXTENSION = myextname
DATA = sql/myextname--1.0.sql
DOCS = doc/myextname.md
REGRESS = myextname
REGRESS_OPTS = --inputdir=test
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
This (untested) Makefile sticks with the file organization suggested by PGXN.