Comments (8)
It worked, thank you so much for all the help!
With
OMPSSTWO=/gpfs/users/massimof/mcxx/install/bin
export PATH=$OMPSSTWO:$PATH
make
make run
I was able to compile the example in https://pm.bsc.es/gitlab/ompss-2/examples/dot-product, the results seems ok:
./01.dot_product_seq $((1024*256)) 8192
size (K), 262144, chunk (K), 8192, time (ms), 2118
./02.dot_product_task+dep $((1024*256)) 8192
size (K), 262144, chunk (K), 8192, time (ms), 617
./03.dot_product_task+reduction $((1024*256)) 8192
size (K), 262144, chunk (K), 8192, time (ms), 209
from mcxx.
Hi @Z10Frank,
this is a bug caused by the absence of some tools at compile time. While we attempt to support this case, make
may be led to believe it needs to regenerate some files (I've looked into this issue a few times before, I seem to recall it looked like one file was regenerated using a script which requires no extra dependences but then this file is an input of one of those files that requires extra tools).
The tools I mean are those reported at the end of the configure:
configure: WARNING: flex files (*.l) will not be considered for regeneration
configure: WARNING: bison files (*.y) will not be considered for regeneration
configure: WARNING: gperf files (*.gperf) will not be considered for regeneration
Would it be possible for you to make sure flex
, bison
and gperf
are available at configure time and try again? This is not a full solution, more a workaround. Let me know if doing this solves this issue for you.
Thanks!
from mcxx.
Thank you!
I have installed the libraries (bison-2.6.5
, flex-2.6.4
, gperf-3.1
) on the cluster where I am working on. Since I have not the authorisations to install in the usual shared paths, they are installed in custom paths like $HOME/bison-2.6.5/install
.
The Mercurium compilation probably looks for them in the default shared paths, and I can't find dedicated flags for the ./configure
file.
Commands like export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/bison-2.6.5/install/
etc. do not seem to solve the issue, is there a way to make these dependencies visible to the configure
?
from mcxx.
Hi @Z10Frank,
You will have to set the environment variables BISON
, FLEX
GPERF
at the configure line (make them be the path to the corresponding tool).
There is a number of these kind of variables that you can list using configure --help
$ ./configure BISON=/path/to/bison FLEX=/path/to/flex GPERF=/path/to/gperf <rest of the configure flags>
Let me know if this helps.
Kind regards
from mcxx.
Thank you! I have used
export MERCURIUM=/gpfs/users/massimof/ompss-19.06/mcxx-2.3.0/install
export BISON=/gpfs/users/massimof/bison-2.6.5/install
export FLEX=/gpfs/users/massimof/flex-2.6.4/install
export GPERF=/gpfs/users/massimof/gperf-3.1/install
export NANOSSIX=/gpfs/users/massimof/nanos6/install
export GIT=/gpfs/softs/spack/opt/spack/linux-centos7-cascadelake/gcc-9.2.0/git-2.25.0-lojbmyepxnaay2yotcnyzwwty36rnjyq
./configure BISON=$BISON FLEX=$FLEX GPERF=$GPERF GIT=$GIT --prefix=$MERCURIUM --enable-ompss-2 --with-nanos6=$NANOSSIX
make -j 10
make install
Now the log file shows that the requirements are recognised:
* Tools configured:
Flex : /gpfs/users/massimof/flex-2.6.4/install
GNU bison : /gpfs/users/massimof/bison-2.6.5/install
GNU gperf : /gpfs/users/massimof/gperf-3.1/install
git content tracker: /gpfs/softs/spack/opt/spack/linux-centos7-cascadelake/gcc-9.2.0/git-2.25.0-lojbmyepxnaay2yotcnyzwwty36rnjyq
SQLite 3 cflags: -I/gpfs/softs/spack/opt/spack/linux-centos7-cascadelake/intel-19.0.3.199/sqlite-3.30.1-saq7stuwy6563nyakbi42nkwjpapha6g/include
SQLite 3 libs: -L/gpfs/softs/spack/opt/spack/linux-centos7-cascadelake/intel-19.0.3.199/sqlite-3.30.1-saq7stuwy6563nyakbi42nkwjpapha6g/lib -lsqlite3
I guess this will surely help, but the same error persists:
compilation_Mercurium_new.txt
from mcxx.
Hi @Z10Frank ,
try make clean
and then make- j$(nproc)
and let me know.
Kind regards,
from mcxx.
Thank you, but the main difference after a make clean
and make
seems the message CCBUILD lib/perish.o
at the end:
compilation_Mercurium_new2.txt
from mcxx.
Hi @Z10Frank,
Ok I didn't spot earlier what was going on, sorry about that.
checking for nvcc... no
checking for flex... /gpfs/users/massimof/flex-2.6.4/install
checking flex version... ./configure: line 25797: /gpfs/users/massimof/flex-2.6.4/install: Is a directory
error, could not guess flex version
checking for bison... /gpfs/users/massimof/bison-2.6.5/install
checking bison version... ./configure: line 25915: /gpfs/users/massimof/bison-2.6.5/install: Is a directory
error, could not guess bison version
checking for gperf... /gpfs/users/massimof/gperf-3.1/install
checking gperf version... ./configure: line 26015: /gpfs/users/massimof/gperf-3.1/install: Is a directory
error, could not guess gperf version
Don't specify the directory, do specify the binary itself as in /gpfs/users/massimof/gperf-3.1/install/bin/gperf
Try again like this.
You don't want these messages.
configure: WARNING: flex files (*.l) will not be considered for regeneration
configure: WARNING: bison files (*.y) will not be considered for regeneration
configure: WARNING: gperf files (*.gperf) will not be considered for regeneration
configure: WARNING: some tools are missing. The resulting build will not be useable for development of Mercurium
Kind regards,
from mcxx.
Related Issues (17)
- mfc compiler error HOT 1
- mfc kind statement error HOT 1
- mfc error with a constructor
- mfc does not support type bound procedures
- mfc class and self not supported
- mfc error with public enumerated types HOT 1
- mfc extend not supported?
- mfc select type is not supported
- missing libiconv HOT 1
- `error: ‘ICONV_CONST’ undeclared`, maybe a bug in the code? HOT 1
- undefined reference to `Codegen::FortranBase::codegen_type HOT 2
- Compilation with OmpSs-2 and OpenMP HOT 4
- Compilation with make and dependency files HOT 20
- No rule to make target 'src/frontend/cxx-asttype.def', needed by 'src/frontend/cxx-asttype.c'. Stop. HOT 11
- test failures
- TARGET statement is not handling array-spec correctly
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mcxx.