openbigdatagroup / plda

PLDA: Parallel Latent Dirichlet Allocation in C++
http://openbigdatagroup.github.io/plda
Apache License 2.0
85 stars 31 forks source link

Make All Failed #17

Open JSybrandt opened 7 years ago

JSybrandt commented 7 years ago

pldahelp

I am using mpich 3.2 and g++ (GCC) 6.1.0

JSybrandt commented 7 years ago

Attempted install on different system

Makefile:28: recipe for target 'mpi_lda' failed
make: *** [mpi_lda] Error 127

g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 mpich version (3.2-6build1)

stevemarin commented 7 years ago

Were you able to fix this issue?

JSybrandt commented 7 years ago

No actually. I ended up getting a binary from a friend of mine who figured something out almost a year ago and has been copying the same binary ever since. Of course he doesn't remember.

stevemarin commented 7 years ago

FWIW, I was able to resolve this issue using g++ 5.3.0 and openmpi 1.6.5 on Red Hat 4.4.7. I also added -D_GLIBCXX_USE_CXX11_ABI=0 to CFLAGS in the Makefile.

torchmike commented 7 years ago

Hey! I was having trouble getting this to compile on ubuntu 17.04 but on 16.04 it compiled fine. if you delete lines 37-39 from common.h ( the stderr print ) it compiles fine.

ghuls commented 1 year ago

Telling g++ to expect c++03 code worked for me:

❯  git diff
diff --git a/Makefile b/Makefile
index 7191995..1b56196 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 CC=g++
 MPICC=mpicxx

-CFLAGS=-O3 -Wall -Wno-sign-compare
+CFLAGS=-O3 -std=c++03 -Wall -Wno-sign-compare
 OBJ_PATH = ./obj

 all: lda infer mpi_lda
ghuls commented 1 year ago

Proper fix in: https://github.com/openbigdatagroup/plda/pull/24