cmuparlay/pbbsbench

Error while installing PBBS

Upasna55 opened this issue · 5 comments

Hello Team

I am getting the following error while installing PBBS. Would be grateful if anyone can help me to proceed further.

Screenshot from 2024-02-14 19-34-37

Best Regards
Upasna

Apparently your compiler does not support the "#pragma once" directive. Can you say what compiler you are using (it would use your g++ by default). You can get the version using "g++ --version".

We are moving away from that directive, but currently there are still many files that use it. It tells the compiler to include the file just once in a single compilation unit.

Hello Gblelloch

Thank you for your response. g++ version on my system is 7.5.0

Gblelloch, Would be grateful if you could guide me further, to resolve this issue.

We are not able to reproduce your bug on an ubuntu system (which you seem to be running). In particular if we do:

git clone git@github.com:cmuparlay/pbbsbench.git
git submodule init
git submodule update
cd benchmarks/integerSort/parallelRadixSort/
make

all works well. That being said, what is causing your problem is that somehow your compiler thinks the files:
./parlay/internal/get_time.h
and
./benmarks/integerSort/bench/common/parlay/internal/get_time.h
are different. They should be symlinks of each other. If somehow the parlay directory got copied instead of symlinked it would cause this problem. You could fix it by replacing #pragma once with

#ifndef PARLAY_TIMER_H_
#define PARLAY_TIMER_H_

at the start of the get_time.h file, and

#endif

at the end of the file. There might be other such cases. We will be making this kind of replacement throughout, but it wont happen immediately.

Thank you Gblelloch!