Skip to Content.
Sympa Menu

charm - Re: [charm] Problem building tests in charm++ 6.7.1

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] Problem building tests in charm++ 6.7.1


Chronological Thread 
  • From: "Groner, Robert" <rug262 AT psu.edu>
  • To: "White, Samuel T" <white67 AT illinois.edu>, "charm AT lists.cs.illinois.edu" <charm AT lists.cs.illinois.edu>
  • Subject: Re: [charm] Problem building tests in charm++ 6.7.1
  • Date: Fri, 11 Aug 2017 15:02:54 +0000
  • Accept-language: en-US
  • Authentication-results: illinois.edu; spf=none smtp.mailfrom=rug262 AT psu.edu

It seems like I can't have everything....


If I build with LIBS, then everything in tests does indeed build.


But trying to build examples gives these errors:



make[2]: Entering directory `/storage/home/rug262/development/charmxx/charm-6.7.1/examples/ampi/Cjacobi3D'
../../../bin/ampicxx  -c jacobi.C 
../../../bin/ampicxx  -o jacobi jacobi.o -module CommonLBs -lm
../../../bin/ampicxx  -c -DNO_PUP jacobi.C -o jacobi.iso.o
../../../bin/ampicxx  -o jacobi.iso jacobi.iso.o -module CommonLBs -memory isomalloc
../../../bin/ampicxx  -c -tlsglobal jacobi.C -o jacobi.tls.o 
../../../bin/ampicxx  -o jacobi.tls jacobi.tls.o -tlsglobal -module CommonLBs #-memory isomalloc
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lpthread
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -ldl
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lm
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lnuma
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -ldl
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lrt
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -ltorque
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lpsm_infinipath
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lutil
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lm
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lpthread
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lc
collect2: error: ld returned 1 exit status
Fatal Error by charmc in directory /storage/home/rug262/development/charmxx/charm-6.7.1/examples/ampi/Cjacobi3D


<snip>


../../../bin/charmc -language bigsim  -o jacobi3D common.o jacobi3D.C
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lconv-bigsim
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lconv-bigsim-logs
collect2: error: ld returned 1 exit status
Fatal Error by charmc in directory /storage/home/rug262/development/charmxx/charm-6.7.1/examples/bigsim/emulator
   Command mpicxx -m64 -fPIC -D_REENTRANT -rdynamic -L/opt/aci/sw/openmpi/1.10.1_gcc-5.3.1/lib -fpic -L/opt/aci/sw/openmpi/1.10.1_gcc-5.3.1/lib -o jacobi3D -L../../../bin/../lib -I../../../bin/../include common.o jacobi3D.o moduleinit16250.o -lconv-bigsim -lconv-bigsim-logs -lmemory-default -lthreads-default -lconv-cplus-y -lconv-core -lconv-util -lconv-partition -ltrace-converse -lmemory-default -lthreads-default -lldb-rand -lconv-ldb -lpthread -lckqt -ldl -lm returned error code 1
charmc exiting...
make[2]: *** [jacobi3D] Error 1
make[2]: Leaving directory `/storage/home/rug262/development/charmxx/charm-6.7.1/examples/bigsim/emulator'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/storage/home/rug262/development/charmxx/charm-6.7.1/examples/bigsim'
make: *** [all] Error 1


That first set of errors appears to be for C standard libraries, so I'm not sure why it would not be able to find them.  Is that really the first place that those libraries were looked for?  It's hard to believe compilation would have succeeded this far if those libraries couldn't be found.


The second set of errors is where compilation finally ends/breaks.  I'm assuming those are charm++ related libs.


Thanks for the help!



Rob Groner
Software Engineer

Institute for CyberScience
The Pennsylvania State University
222E Computer Building
University Park, PA 16802
Phone: 814.867.6074


From: White, Samuel T <white67 AT illinois.edu>
Sent: Thursday, August 10, 2017 5:04 PM
To: Groner, Robert; charm AT lists.cs.illinois.edu
Subject: RE: Problem building tests in charm++ 6.7.1
 
You only need to build once with LIBS. The LIBS target builds Charm++ first, then a suite of libraries for it.

-Sam

From: Groner, Robert [rug262 AT psu.edu]
Sent: Thursday, August 10, 2017 3:53 PM
To: White, Samuel T; charm AT lists.cs.illinois.edu
Subject: Re: Problem building tests in charm++ 6.7.1

Sam,


Great, thanks for the help.  I did the build command you suggested with LIBS and the tests then built.  


The build help seemed to indicate that if I use the LIBS target, then it would build the additional libraries along with the charm++ core.  Do I understand that correct, or will I have to execute a build statement for the LIBS and then another one for charm++?


Thanks,


Rob Groner
Software Engineer

Institute for CyberScience
The Pennsylvania State University
222E Computer Building
University Park, PA 16802
Phone: 814.867.6074


From: White, Samuel T <white67 AT illinois.edu>
Sent: Thursday, August 10, 2017 4:35 PM
To: Groner, Robert; charm AT lists.cs.illinois.edu
Subject: RE: Problem building tests in charm++ 6.7.1
 
Hi Rob,

The EveryLB module is only built when you specify the "LIBS" target to the build script rather than the "charm++" target (./build LIBS mpi-linux-x86_64). We can fix our make test to not rely on EveryLB being built by default.

Thanks,
Sam White


From: Groner, Robert [rug262 AT psu.edu]
Sent: Thursday, August 10, 2017 3:17 PM
To: charm AT lists.cs.illinois.edu
Subject: [charm] Problem building tests in charm++ 6.7.1

I extracted the 6.7.1 archive, executed this build statement:


./build charm++ mpi-linux-x86_64 mpicxx smp --with-production --build-shared --basedir=$MPI_ROOT


That appeared to build without issue.


I then changed to the examples directory and executed "make".  That appeared to build without issue.


I then changed to the tests directory and executed "make".  It failed at this point:


../../../../bin/charmc -optimize -production  -language charm++ -o lb_test lb_test.o Topo.o -module CommonLBs
../../../../bin/charmc -optimize -production  -language charm++ -o lb_test.every lb_test.o Topo.o -module EveryLB
/opt/rh/devtoolset-4/root/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/ld: cannot find -lmoduleEveryLB
collect2: error: ld returned 1 exit status
Fatal Error by charmc in directory /storage/home/rug262/development/charmxx/charm-6.7.1/tests/charm++/load_balancing/lb_test
   Command mpicxx -m64 -fPIC -D_REENTRANT -rdynamic -O2 -L/opt/aci/sw/openmpi/1.10.1_gcc-5.3.1/lib -fpic -O2 -L/opt/aci/sw/openmpi/1.10.1_gcc-5.3.1/lib -o lb_test.every -L../../../../bin/../lib -I../../../../bin/../include lb_test.o Topo.o moduleinit23929.o -lmoduleEveryLB -lckmain -lck -lmemory-default -lthreads-default -lconv-cplus-y -lconv-core -lconv-util -lconv-partition -lmemory-default -lthreads-default -lldb-rand -lconv-ldb -lpthread -lckqt -ldl -lmoduleEveryLB -lm returned error code 1


I went back to the output of the build command, and found this for EveryLB:

../bin/charmc -intrinsic -optimize -production  -build-shared EveryLB.ci && touch EveryLB.ci.stamp

After softlinking the headers, there was a section where dynamic libs were being built:


Performing '/usr/bin/gmake charm++ OPTS=-optimize -production QUIET=' in mpi-linux-x86_64-smp-mpicxx/tmp
../bin/charmc  -optimize -production  -build-shared -I.   -c -o DummyLB.o DummyLB.C
../bin/charmc  -optimize -production  -build-shared -o ../lib/libmoduleDummyLB.a DummyLB.o 
Warning: creating ../lib_so/libmoduleDummyLB.so 
ar: creating ../lib/libmoduleDummyLB.a
../bin/charmc  -optimize -production  -build-shared -I.   -c -o GreedyLB.o GreedyLB.C
../bin/charmc  -optimize -production  -build-shared -o ../lib/libmoduleGreedyLB.a GreedyLB.o 
Warning: creating ../lib_so/libmoduleGreedyLB.so ​

but EveryLB does not appear in this output.

Is there some additional parameter I need to add to "make" to make the tests build correctly?

Also, am I building the examples and tests correctly?  i could not find any parameter to add to the build statement to make it build examples and tests along with everything else.

Thanks.


Rob Groner
Software Engineer

Institute for CyberScience
The Pennsylvania State University
222E Computer Building
University Park, PA 16802
Phone: 814.867.6074




Archive powered by MHonArc 2.6.19.

Top of Page