NVlabs/timeloop

error when I do "make install_timeloop"

Opened this issue · 6 comments

Hi,
I am following the native install steps from this link: https://timeloop.csail.mit.edu/v4/installation#to-do-need-an-install-script-for-pytimeloop . But when I do "make install_timeloop" I am getting below error:

/usr/bin/ld: cannot find -lboost_log_setup: No such file or directory
/usr/bin/ld: cannot find -lboost_filesystem: No such file or directory
/usr/bin/ld: cannot find -lboost_log: No such file or directory
/usr/bin/ld: cannot find -lboost_thread: No such file or directory
collect2: error: ld returned 1 exit status
scons: *** [build/timeloop-compound-config-test] Error 1
scons: building terminated because of errors.
make: *** [Makefile:121: install_timeloop] Error 2

Thanks!

Would you be able to check the makefile commands and run those apt-get install commands from before the failed scons command? Do they execute successfully?

Yep, those apt-get commands run successfully. I think the Makefile is looking for a specific path and I need to maybe modify the Makefile to point to a specific path. I will see how to set those paths, somehow it is not able to find lboost.

Hi I met the same issue.

g++ -o build/timeloop-compound-config-test -std=c++17 -pthread -static-libgcc -static-libstdc++ -Wl,--whole-archive -static -lpthread -Wl,--no-whole-archive build/unit-tests/compound-config/test-compound-config.o -Lbuild -Lsrc -ltimeloop-mapper -lconfig++ -lyaml-cpp -lncurses -ltinfo -lbarvinok -lisl -lntl -lpthread -lpolylibgmp -lgmp -ltinfo -lgpm -lboost_iostreams -lboost_serialization -lboost_log_setup -lboost_filesystem -lboost_log -lboost_thread
/usr/bin/ld: cannot find -lboost_log_setup
/usr/bin/ld: cannot find -lboost_filesystem
/usr/bin/ld: cannot find -lboost_log
/usr/bin/ld: cannot find -lboost_thread
collect2: error: ld returned 1 exit status
scons: *** [build/timeloop-compound-config-test] Error 1
scons: building terminated because of errors.
make: *** [Makefile:121: install_timeloop] Error 2

#And with below command to fix the above issues. Paste here for a reference.
sudo apt-get install -y --no-install-recommends libboost-filesystem-dev
sudo apt-get install -y --no-install-recommends libboost-log-dev
sudo apt-get install -y --no-install-recommends libboost-thread-dev

I recommend checking that this command was executed correctly

git clone --recurse-submodules https://github.com/Accelergy-Project/accelergy-timeloop-infrastructure.git

I had the same problem as you and realized that some of the repositories were incomplete, so I re-downloaded them and finished the installation.

@tanner-andrulis have you ever encountered this? Can we incorporate some error checking in the install script?

I think I have encountered this. Would you be able to check the Docker file in the same directory and copy the lines that install the boost libraries? Those should work.

Long term, I think this issue is due to divergence between the Makefile and Dockerfile over time. We should change the Dockerfile to use the Makefile, such that there's only one copy of the install code.