Talk:Development Environment Setup
Mac instructions
The Mac instructions are not working for me at all. I have the pre-built dependencies. Here's what I've worked through so far:
First, I ended up with a ld: library not found for -lcrt1.o
error, which in turn caused The C compiler "/Developer/usr/bin/cc" is not able to compile a simple test program.
, which ultimately caused the cmake
to fail. This is further than I got before, though, when I wasn't using the pre-built dependencies.
The two tips I found about this (an old one, to run xcode-select --install
, and a newer one to add some lines to qdevice.pri
) did not resolve the problem.
There's also couldn't understand kern.osversion `16.6.0'
. Some threads say it's just a warning and shouldn't matter. Another suggested using gcc from MacPorts, which brings me full circle. <sigh> Not sure what version of gcc this will want (MacPorts provides 4.3 through 4.9, and 5 through 8. The one in my path already is 4.2.1. Homebrew also offers 4.6 through 4.9, 5, and 6.
However, I noticed the gcc in my path was the one in /Developer/usr/bin rather than /usr/bin, so I changed the path to reverse this order. Got a little further; it doesn't produce that kern.osversion
warning or -lcrt1.o
error now.
But it still died with a We could not find development headers for LIBUNSHIELD
error, despite ../openmw-deps/lib/libunshield.1.4.dylib
existing with a libunshield.dylib
symlink pointing to it, and the build command starting with cmake -D CMAKE_PREFIX_PATH="../openmw-deps/bin;/usr/local/opt/[email protected]/bin" \
...
I fixed this by adding to the command line:
-D OMWDEPSINC="../openmw-deps/include" \ -D OMWDESPLIB="../openmw-deps/lib" \ -D LIBUNSHIELD_INCLUDE_DIR="$OMWDEPSINC" \ -D LIBUNSHIELD_LIBRARY="$OMWDEPSLIB" \
But it still spatt all kinds of errors along these lines:
-- Found LIBUNSHIELD -- Looking for stdint.h -- Looking for stdint.h - found -- Could NOT find osgDB (missing: OSGDB_LIBRARY OSGDB_INCLUDE_DIR) -- Could NOT find osgViewer (missing: OSGVIEWER_LIBRARY OSGVIEWER_INCLUDE_DIR) -- Could NOT find osgText (missing: OSGTEXT_LIBRARY OSGTEXT_INCLUDE_DIR) -- Could NOT find osgGA (missing: OSGGA_LIBRARY OSGGA_INCLUDE_DIR) -- Could NOT find osgParticle (missing: OSGPARTICLE_LIBRARY OSGPARTICLE_INCLUDE_DIR) -- Could NOT find osgUtil (missing: OSGUTIL_LIBRARY OSGUTIL_INCLUDE_DIR) -- Could NOT find osgFX (missing: OSGFX_LIBRARY OSGFX_INCLUDE_DIR) -- Could NOT find osg (missing: OSG_LIBRARY OSG_INCLUDE_DIR) -- Could NOT find OpenThreads (missing: OPENTHREADS_LIBRARY OPENTHREADS_INCLUDE_DIR) CMake Error at /opt/local/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message): Could NOT find OpenSceneGraph (missing: OPENSCENEGRAPH_LIBRARIES OPENSCENEGRAPH_INCLUDE_DIR OSGDB_FOUND OSGVIEWER_FOUND OSGTEXT_FOUND OSGGA_FOUND OSGPARTICLE_FOUND OSGUTIL_FOUND OSGFX_FOUND OSG_FOUND OPENTHREADS_FOUND) (Required is at least version "3.3.4")
The commands I've tried, to "forcibly inform" it where stuff is, only resolved about half of this, so I don't know what it wants. I've tried several variations on the following:
cmake \ -D CMAKE_PREFIX_PATH="../openmw-deps/bin;/usr/local/opt/[email protected]/bin" \ -D CMAKE_OSX_SYSROOT="macosx10.12" \ -D DESIRED_QT_VERSION=5 \ -D CMAKE_BUILD_TYPE=Debug \ -D BUILD_MYGUI_PLUGIN=FALSE \ -D OMWDEPSINC="../openmw-deps/include" \ -D OMWDESPLIB="../openmw-deps/lib" \ -D OSG_INCLUDE_DIR="$OWMDEPSINC/osg" \ -D OSG_LIBRARY="$OWMDEPSLIB" \ -D LIBUNSHIELD_INCLUDE_DIR="$OMWDEPSINC" \ -D LIBUNSHIELD_LIBRARY="$OMWDEPSLIB" \ -D OSGDB_INCLUDE_DIR="$OMWDEPSINC/osgDB" \ -D OSGDB_LIBRARY="$OSG_LIBRARY" \ -D OSGVIEWER_INCLUDE_DIR="$OMWDEPSINC/osgViewer" \ -D OSGVIEWER_LIBRARY="$OSG_LIBRARY" \ -D OSGTEXT_INCLUDE_DIR="$OWMDEPSINC/osgText" \ -D OSGTEXT_LIBRARY="$OSG_LIBRARY" \ -D OSGGA_INCLUDE_DIR="$OWMDEPSINC/osgGA" \ -D OSGGA_LIBRARY="$OSG_LIBRARY" \ -D OSGPARTICLE_INCLUDE_DIR="$OWMDEPSINC/osgParticle" \ -D OSGPARTICLE_LIBRARY="$OSG_LIBRARY" \ -D OSGUTIL_INCLUDE_DIR="$OWMDEPSINC/osgUtil" \ -D OSGUTIL_LIBRARY="$OSG_LIBRARY" \ -D OSGFX_INCLUDE_DIR="$OWMDEPSINC/osgFX" \ -D OSGFX_LIBRARY="$OSG_LIBRARY" \ -D OSGDB_INCLUDE_DIR="$OWMDEPSINC/osgDB" \ -D OSGDB_LIBRARY="$OSG_LIBRARY" \ -D OPENTHREADS_INCLUDE_DIR="$OWMDEPSINC/OpenThreads" \ -D OPENTHREADS_LIBRARY="$OMWDEPSLIB" \ -D OPENSCENEGRAPH_INCLUDE_DIR="$OWMDEPSINC" \ -D OPENSCENEGRAPH_LIBRARY="$OMWDEPSLIB" \ -G"Unix Makefiles" \ ../openmw/
I still get errors like these:
-- Could NOT find osgDB (missing: OSGDB_LIBRARY) -- Could NOT find osgViewer (missing: OSGVIEWER_LIBRARY) -- Could NOT find osgText (missing: OSGTEXT_LIBRARY) -- Could NOT find osgGA (missing: OSGGA_LIBRARY) -- Could NOT find osgParticle (missing: OSGPARTICLE_LIBRARY) -- Could NOT find osgUtil (missing: OSGUTIL_LIBRARY) -- Could NOT find osgFX (missing: OSGFX_LIBRARY) -- Could NOT find osg (missing: OSG_LIBRARY) -- Could NOT find OpenThreads (missing: OPENTHREADS_LIBRARY) CMake Error at /opt/local/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message): Could NOT find OpenSceneGraph: Found unsuitable version "..", but required is at least "3.3.4" (found )
I probably just don't know enough about these particular packages and their particulars to get this right by rather randomly guessing:
I would actually probably be happy enough with the pre-compiled nightlies for MacOS X, but they're compiled with someone's username in them. When I try to manually run OpenMW in gdb (per Testing#Debugger, so I can do bt
and get a backtrace log), I get this:
Reading symbols for shared libraries ........ warning: Could not find object file "/Users/nkasyanov/Projects/openmw/openmw-deps/src/boost/bin.v2/libs/system/build/darwin-4.2.1/release/threading-multi/error_code.o" - no debug information available for "error_code.cpp".
So, in the end, I'm still not able to produce the kind of error logs they want at bugs.openmw.org.
N. Kasyanov seems to be User:Corristo, so I'll ping his talk page about this thread. Dunno if he's active on the wiki though; might have to go try to find him on the forum or the bug tracker.