Sample segfault on Ubuntu 15.10

Hello All,

I’ve built and used cinder a bit on a VM a few months ago, but upon installing it on a real ubuntu machine, I’m having some issues. All of the samples immediately segfault. Here is a stack trace from gdb for BasicApp:

#0  0x00000000009a199e in boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*) ()
#1  0x0000000000686be9 in boost::filesystem::exists (p=...) at /home/konneker/code/libcinder/include/boost/filesystem/operations.hpp:404
#2  0x000000000068654b in cinder::app::Platform::findAndAddDefaultAssetPath (this=0xd769a0) at /home/konneker/code/libcinder/src/cinder/app/Platform.cpp:149
#3  0x0000000000685fb5 in cinder::app::Platform::initAssetDirectories (this=0xd769a0) at /home/konneker/code/libcinder/src/cinder/app/Platform.cpp:98
#4  0x0000000000685f15 in cinder::app::Platform::initialize (this=0xd769a0) at /home/konneker/code/libcinder/src/cinder/app/Platform.cpp:84
#5  0x0000000000685eca in cinder::app::Platform::get () at /home/konneker/code/libcinder/src/cinder/app/Platform.cpp:67
#6  0x0000000000677cc9 in cinder::app::AppBase::prepareLaunch () at /home/konneker/code/libcinder/src/cinder/app/AppBase.cpp:172
#7  0x0000000000674083 in cinder::app::AppLinux::main<BasicApp>(std::shared_ptr<cinder::app::Renderer> const&, char const*, int, char* const*, std::function<void (cinder::app::AppBase::Settings*)> const&) (defaultRenderer=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr<cinder::app::RendererGl*, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr<cinder::app::RendererGl*, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr (count 1, weak 0) 0xd76910, title=0x9a66d4 "BasicApp", argc=1, argv=0x7fffffffddf8, settingsFn=...)
    at /home/konneker/code/libcinder/include/cinder/app/linux/AppLinux.h:73
#8  0x00000000006739f1 in main (argc=1, argv=0x7fffffffddf8) at /home/konneker/code/libcinder/samples/BasicApp/src/BasicApp.cpp:84

Is there anything obvious here to people that know what they’re doing (i.e. not me) ?

That’s an odd message about ‘RTTI symbol not found’ (at least I’ve never seen it). Are you building from a fresh clone?

The RTTI warning comes from gdb and I think it can be ignored – Are you using the current android_linux branch from the github repo?

Yes, I just compiled from github on a fresh clone of the andoid_linux branch.

I’m not sure yet what you’re doing differently as to others here (like myself, as those samples work fine on ubuntu), but the end of that stacktrace looks like an exception might be getting thrown from boost::filesystem::exists()? If so, can you break on the exception to get more information, or if not you can step through ci::app::Platform::findAndAddDefaultAssetPath() to see why it is failing. This information would be very valuable.

For debugging, I use CLion (you currently need to be on the cmake branch), although you could also use gdb from the command line.

Good spotting on the asset directory search. Since empty directories are ignored by git, I’ve had some confusion with work projects when Cinder fails to find the default asset directory after a clone to a new machine.

You may need to use system boost; I did.
See Cinder on Linux - the newb frontier... ( moved from old forum )

I take that back. Now it feels like the problem was having git submodules out of sync.
I seem to have better luck now that I remember to do “git submodule update” after
"git checkout android_linux".