Coder Social home page Coder Social logo

Comments (9)

wjakob avatar wjakob commented on July 30, 2024 2

Hi @kevenv,

I'm currently reviving the build system to work on modern machines and c++11/14 capable compiler. Note: The OSX version already sort of works but still has weird issues with Retina displays -- I'm on it, but it may still take 1-2 weeks..

Wenzel

from mitsuba.

arpit15 avatar arpit15 commented on July 30, 2024 1

@crekIron problem goes away for me on Ubuntu 20.04, if I add the following line to my config.py

GLINCLUDE = ['/home/arpita1/projects/dependencies_fedora/include']

where /home/arpita1/projects/dependencies_fedora is this repo.

from mitsuba.

stephane-lb avatar stephane-lb commented on July 30, 2024

Hi,

So just to give you some update, I went throw this error by changing my compiler and asking the compiler to use -std=gnu++14 :

ccmake .. -DCMAKE_C_COMPILER=/usr/local/Cellar/gcc/6.1.0_1/bin/gcc-6 -DCMAKE_CXX_COMPILER=/usr/local/Cellar/gcc/6.1.0_1/bin/g++-6

Then I got another error in boost library :

/Users/Stephane-lb/Projects/mitsuba/dependencies/include/boost/multi_index/sequenced_index.hpp:211:61: error: call of overloaded 'make_reverse_iterator(boost::multi_index::detail::sequenced_index<boost::multi_index::detail::nth_layer<2, mitsuba::detail::mutable_pair<void*, mitsuba::detail::TLSEntry>, boost::multi_index::indexed_by<boost::multi_index::hashed_unique<boost::multi_index::tag<mitsuba::detail::PerThreadData::key_tag>, boost::multi_index::member<mitsuba::detail::mutable_pair<void*, mitsuba::detail::TLSEntry>, void*, &mitsuba::detail::mutable_pair<void*, mitsuba::detail::TLSEntry>::first> >, boost::multi_index::sequenced<boost::multi_index::tag<mitsuba::detail::PerThreadData::seq_tag> > >, std::allocator<mitsuba::detail::mutable_pair<void*, mitsuba::detail::TLSEntry> > >, boost::mpl::v_item<mitsuba::detail::PerThreadData::seq_tag, boost::mpl::vector0<mpl_::na>, 0> >::iterator)' is ambiguous
  reverse_iterator       rend(){return make_reverse_iterator(begin());}

So I replaced it with the boost version installed using brew. And at the moment, I am here with a new kind of error concerning these files :

In file included from /usr/include/os/object.h:75:0,
                 from /usr/include/dispatch/dispatch.h:48,
                 from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:15,
                 from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFPropertyList.h:13,
                 from /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:55,
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6,
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,
                 from /Users/Stephane-lb/Projects/mitsuba/src/libcore/platform_darwin.mm:20:
/usr/include/objc/NSObject.h:22:4: error: 'instancetype' does not name a type
 - (instancetype)self;
    ^~~~~~~~~~~~
/usr/include/objc/NSObject.h:36:4: error: 'instancetype' does not name a type
 - (instancetype)retain OBJC_ARC_UNAVAILABLE;
    ^~~~~~~~~~~~
/usr/include/objc/NSObject.h:38:4: error: 'instancetype' does not name a type
 - (instancetype)autorelease OBJC_ARC_UNAVAILABLE;
    ^~~~~~~~~~~~
/usr/include/objc/NSObject.h:60:4: error: 'instancetype' does not name a type
 - (instancetype)init
    ^~~~~~~~~~~~
/usr/include/objc/NSObject.h:66:4: error: 'instancetype' does not name a type
 + (instancetype)new OBJC_SWIFT_UNAVAILABLE("use object initializers instead");
    ^~~~~~~~~~~~
/usr/include/objc/NSObject.h:67:4: error: 'instancetype' does not name a type
 + (instancetype)allocWithZone:(struct _NSZone *)zone OBJC_SWIFT_UNAVAILABLE("use object initializers instead");
    ^~~~~~~~~~~~
/usr/include/objc/NSObject.h:68:4: error: 'instancetype' does not name a type
 + (instancetype)alloc OBJC_SWIFT_UNAVAILABLE("use object initializers instead");

Followed of lot of error with these 3 frameworks :

/System/Library/Frameworks/Foundation.framework/*
/System/Library/Frameworks/AppKit.framework/*
/System/Library/Frameworks/CoreData.framework/*

and finally got this :

/System/Library/Frameworks/CoreData.framework/Headers/NSMergePolicy.h:153:67: error: expected identifier before '>' token
/System/Library/Frameworks/CoreData.framework/Headers/NSMergePolicy.h:153:67: error: expected ';' before '>' token
/Users/Stephane-lb/Projects/mitsuba/src/libcore/platform_darwin.mm: In function 'void mitsuba::__mts_init_cocoa()':
/Users/Stephane-lb/Projects/mitsuba/src/libcore/platform_darwin.mm:57:4: error: 'NSApp' was not declared in this scope
   [NSApp activateIgnoringOtherApps:YES]; /* Pop to front */
    ^~~~~
/Users/Stephane-lb/Projects/mitsuba/src/libcore/platform_darwin.mm: In function 'void mitsuba::__mts_set_appdefaults()':
/Users/Stephane-lb/Projects/mitsuba/src/libcore/platform_darwin.mm:63:7: error: 'NSApp' was not declared in this scope
  if ([NSApp respondsToSelector:@selector(invalidateRestorableState)])

I am going to investigate more and more until it will compile, if you have any suggestions, it would help !

Thanks,

Stéphane

P.S : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63651 a better detailed report of this bug.

from mitsuba.

wjakob avatar wjakob commented on July 30, 2024

Hi @stephane-lb,

apologies for the delay. Basically the CMake build system is semi-broken (and has only ever really worked on Windows in any case). I would try with SCons.

Best,
Wenzel

from mitsuba.

stephane-lb avatar stephane-lb commented on July 30, 2024

Hi @wjakob ,

It is absolutely O.K. I perfectly understand that you spent less time on Mitsuba, I supposed you were working on PBRT ( Thanks for the v3 by the way).

So I continue to investigate and based on your comment I tried to use scons, I wrote a new config files for 10.12 and I am close to get it down ... I just got an issue with openEXR during the linking process...

config.py

BUILDDIR       = '#build/release'
DISTDIR        = '#Mitsuba.app'
CXX            = 'clang++'
CC             = 'clang'
CCFLAGS        = ['-I/usr/local/include/', '-mmacosx-version-min=10.12', '-march=nocona', '-msse2', '-ftree-vectorize', '-funsafe-math-optimizations', '-fno-math-errno', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk', '-O3', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DSPECTRUM_SAMPLES=3', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fstrict-aliasing', '-fsched-interblock', '-fvisibility=hidden', '-ftemplate-depth=512', '-stdlib=libstdc++']
LINKFLAGS      = ['-L/usr/local/lib/', '-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'x86_64', '-mmacosx-version-min=10.12', '-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk', '-Wl,-headerpad,128', '-stdlib=libstdc++']
BASEINCLUDE    = ['#include', '/usr/local/include', '/usr/local/include/eigen3']
BASELIBDIR     = ['/usr/local/lib', '#dependencies']
BASELIB        = ['m', 'pthread', 'Half']
OEXRINCLUDE    = ['/usr/local/include/OpenEXR']
OEXRLIB        = ['IlmImf', 'Imath', 'Iex', 'z']
PNGLIB         = ['png']
JPEGLIB        = ['jpeg']
XERCESLIB      = ['xerces-c']
GLLIB          = ['GLEWmx', 'objc']
GLFLAGS        = ['-DGLEW_MX']
BOOSTINCLUDE   = ['/usr/local/include']
BOOSTLIB       = ['boost_filesystem', 'boost_system', 'boost_thread-mt']
PYTHON26INCLUDE= ['/System/Library/Frameworks/Python.framework/Versions/2.6/Headers']
PYTHON26LIBDIR = ['/System/Library/Frameworks/Python.framework/Versions/2.6/lib']
PYTHON26LIB    = ['boost_python26', 'boost_system']
PYTHON27INCLUDE= ['/System/Library/Frameworks/Python.framework/Versions/2.7/Headers']
PYTHON27LIBDIR = ['/System/Library/Frameworks/Python.framework/Versions/2.7/lib']
PYTHON27LIB    = ['boost_python27', 'boost_system']
PYTHON33INCLUDE= ['#dependencies/include/python3.3']
PYTHON33LIB    = ['boost_python33', 'boost_system']
PYTHON34INCLUDE= ['#dependencies/include/python3.4']
PYTHON34LIB    = ['boost_python34', 'boost_system']
COLLADAINCLUDE = ['#dependencies/include/collada-dom', '#dependencies/include/collada-dom/1.4']
COLLADALIB     = ['collada14dom24']
QTDIR          = '#dependencies'
FFTWLIB        = ['fftw3','fftw3_threads']

And the error is :

Undefined symbols for architecture x86_64:
  "Imf_2_2::TypedAttribute<std::string>::readValueFrom(Imf_2_2::IStream&, int, int)", referenced from:
      vtable for Imf_2_2::TypedAttribute<std::string> in bitmap.os
  "Imf_2_2::TypedAttribute<std::string>::staticTypeName()", referenced from:
      Imf_2_2::TypedAttribute<std::string>::typeName() const in bitmap.os
  "Imf_2_2::TypedAttribute<std::string>::writeValueTo(Imf_2_2::OStream&, int) const", referenced from:
      vtable for Imf_2_2::TypedAttribute<std::string> in bitmap.os
ld: symbol(s) not found for architecture x86_64

It is something you met in the past with Nori, I have not found how to solve it yet ... Any idea ?
(I am using the dependencies provided by homebrew for most of them)

Best,
Stephane-lb

from mitsuba.

stephane-lb avatar stephane-lb commented on July 30, 2024

Hi,

Just for those who will get the same issue, I just recompile openEXR from scratch and it passed.
( without using homebrew )

One last error I think and it would be finished :

In file included from include/mitsuba/mitsuba.h:51:
include/mitsuba/core/tls.h:140:14: error: allocation of incomplete type
      'GLEWContextStruct'
                return new ValueType();

I will let you know,

Thanks for your help,

Stephane-lb

from mitsuba.

kevenv avatar kevenv commented on July 30, 2024

Hi, I'm having a similar issue using the supported method described in Mitsuba's doc.

  1. git checkout Mitsuba/ 1de9467 (Qt4,v0.5.0)

I am using this version as dependencies for v0.6.0 has not been updated.

  1. hg clone https://www.mitsuba-renderer.org/hg/dependencies_macos
  2. cp build/config-macos10.12-clang-x86_64.py config.py
  3. scons

In file included from src/libbidir/manifold.cpp:24:
In file included from dependencies/include/Eigen/LU:4:
In file included from dependencies/include/Eigen/Core:28:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/complex:637:23: error: use of undeclared identifier 'INFINITY' __x = _Tp(INFINITY) * (__a * __c - __b * __d); ^

System: MacOS Sierra 10.12.6

Thank you,

Keven


EDIT:
Works with latest version of dependencies_macos (https://github.com/mitsuba-renderer/dependencies_macos) but not the version at (https://www.mitsuba-renderer.org/hg/dependencies_macos) as mentioned in the doc.
The documentation (https://www.mitsuba-renderer.org/releases/current/documentation_lowres.pdf) should be updated.

from mitsuba.

stephane-lb avatar stephane-lb commented on July 30, 2024

Hi @wjakob,

I suppose that the issue is on the Qt Client side, so you probably have issue with the pixel Ratio of your Retina displays. With Qt you have http://doc.qt.io/qt-5/qwindow.html#devicePixelRatio to get it and you will have to edit some plist files.

Thanks for all your work,

Stephane

from mitsuba.

crekIron avatar crekIron commented on July 30, 2024

Hi,

Just for those who will get the same issue, I just recompile openEXR from scratch and it passed.
( without using homebrew )

One last error I think and it would be finished :

In file included from include/mitsuba/mitsuba.h:51:
include/mitsuba/core/tls.h:140:14: error: allocation of incomplete type
      'GLEWContextStruct'
                return new ValueType();

I will let you know,

Thanks for your help,

Stephane-lb

Were you able to handle the GLEWContextStruct error @stephane-lb. I am getting the same error on arch linux.

from mitsuba.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.