openai/coinrun

QT build errors

act65 opened this issue · 6 comments

act65 commented

Hey,

I am having some issues...
I created a new conda env, with py3.6. I installed deps as advised,
apt-get install qtbase5-dev mpich, pip install -r requirements.txt.

On linux = 16.04. gcc = 5.4.

Running python -m coinrun.interactive returns the following

Logging to /tmp/openai-2018-12-09-12-30-34-701961
make: Entering directory '/home/act65/repos/coinrun/coinrun'
gcc -std=c++11 -Wall -Wno-unused-variable -Wno-unused-function -Wno-deprecated-register -fPIC -g -O3 -march=native -I/usr/include `pkg-config --cflags Qt5Widgets` -c coinrun.cpp  -o.build-release/coinrun.o -MMD -MF .build-release/coinrun.o.dep
In file included from coinrun.cpp:2234:0:
.generated/coinrun.moc:21:1: error: ‘QT_WARNING_DISABLE_DEPRECATED’ does not name a type
 QT_WARNING_DISABLE_DEPRECATED
 ^
.generated/coinrun.moc:31:14: error: ‘qt_meta_stringdata_TestWindow_t’ does not name a type
 static const qt_meta_stringdata_TestWindow_t qt_meta_stringdata_TestWindow = {
              ^
.generated/coinrun.moc:65:35: error: ‘qt_meta_stringdata_TestWindow’ was not declared in this scope
     { &QWidget::staticMetaObject, qt_meta_stringdata_TestWindow.data,
                                   ^
.generated/coinrun.moc: In member function ‘virtual void* TestWindow::qt_metacast(const char*)’:
.generated/coinrun.moc:78:26: error: ‘qt_meta_stringdata_TestWindow’ was not declared in this scope
     if (!strcmp(_clname, qt_meta_stringdata_TestWindow.stringdata0))
                          ^
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-register’
Makefile:66: recipe for target '.build-release/coinrun.o' failed
make: *** [.build-release/coinrun.o] Error 1
make: Leaving directory '/home/act65/repos/coinrun/coinrun'
coinrun: make failed

Not sure how to debug this. Any hints are welcome

Please and thank you
Alex

I tested this on a GCE Ubuntu 16.04 image with miniconda using python 3.6.7. I've updated the installation instructions to have more dependencies but I could not reproduce your issue. Since it works on a stock install, it's likely you have something customized about your system that is causing the build failure.

From the error message it looks like the moc compilation happened successfully. Do you have multiple versions of Qt installed? If you uninstall all qts and then reinstall qt5, please run make clean in the coinrun\coinrun directory to remove the generated files before trying again.

act65 commented

Awesome thanks.
It was qt5, I simply reinstalled qt5 and created a clean env. It works!
Thanks again!

image

hi, I am facing the same issue while running from a google cloud VM. is it due to not having a display?
Let me know even if it is possible to train on the cloud and run on my system at all.

image

Note: It is working on my desktop machine but not on the cloud one.

This looks like another install issue, delete coinrun and any installed qt copies and reinstall everything (including unmodified coinrun directly from github) and try the build again.

@christopherhesse Thanks for the quick help.
Uninstalling qt from system (apt-get and conda) then installing only apt-get helped :)
also needed to fix to GL lib for some reason. https://stackoverflow.com/questions/33447653/usr-bin-ld-cannot-find-lgl-ubuntu-14-04/33447739

Is there anyone know how to install these dependencies without root access?