Opened 7 years ago

Last modified 5 years ago

#54783 assigned defect

Inventor @2.1.5-10: error: redefinition of 'getCenter'

Reported by: Blokkendoos (Johan) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.4.1
Keywords: Cc: Blokkendoos (Johan)
Port: Inventor

Description

Inventor port fails to install on OS X 10.10.5, Macports 2.4.1. Tried: Clean install, no success. Compile error (more in the attached Main.log)

:info:build In file included from ppp.c++:118:
:info:build In file included from ./../../lib/database/src/sb/Sb.c++:55:
:info:build ./../../lib/database/src/sb/SbBox.c++:67:10: error: redefinition of 'getCenter'
:info:build SbBox3f::getCenter() const

Attachments (1)

main.log (144.8 KB) - added by Blokkendoos (Johan) 7 years ago.
Inventor installation main.log

Download all attachments as: .zip

Change History (8)

Changed 7 years ago by Blokkendoos (Johan)

Attachment: main.log added

Inventor installation main.log

comment:1 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to css@…
Status: newassigned
Summary: Inventor does not instal in OS X 10.10Inventor @2.1.5-10: error: redefinition of 'getCenter'

comment:2 Changed 7 years ago by cssdev

This might be a larger scope language compatibility issue with the Open Inventor source code, which AFAIK is completely unmaintained upstream. I'm going to see if I can at least get my development environment setup again to get more details on how extensive the compiler compatibility issues may be.

comment:3 Changed 7 years ago by Blokkendoos (Johan)

This is my workaround (to be able to build FreeCAD)

CPP_FLAGS += " -I/opt/local/libexec/qt4/include/Qt/ -I/opt/local/libexec/qt4/include/"

  • create symlink: sudo ln -s /opt/local/Library/Frameworks/Inventor.framework/Headers/ /opt/local/Library/Frameworks/Inventor

comment:4 in reply to:  3 Changed 7 years ago by cssdev

Replying to Blokkendoos:

This is my workaround (to be able to build FreeCAD)

  • install port SoQt which installs the Coin-framework port as well.

"Use Coin3D instead" has been my workaround for many years. ;)

The compilation failure does indeed result from code that predates the newer standards by many years. The level of effort may be extensive, as the changes would likely need to touch a huge number of files. Or maybe the compiler can be switched to conform to an older spec? (Would that cause linking conflicts with other libraries?)

comment:5 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

The only linking conflict would be if Inventor uses C++ (looks like it does) and tries to use a different C++ standard library than its C++ dependencies. So don't do that.

But do something. The port doesn't build. It either should be fixed or removed.

According to WikiPedia, "In 2016, FEI Company was acquired by Thermo Fisher Scientific (Materials & Structural Analysis Division), which continues to develop and support Open Inventor." On the new web site, it claims to support macOS 10.10-10.12 with clang 6. However, it also appears to now be commercial software requiring a license key.

comment:6 Changed 6 years ago by cssdev

This port is based on the SGI Open Inventor code that predates FEI's subsequent support for macOS. It took lots of headaches to make it work for gcc on the Mac, and I think the code base is not friendly to clang's more strict enforcement of compliance with newer standards. Should I try to figure out building with gcc? Moving a code base this large to a new compiler with new C++ standards is going to likely fall beyond the boundaries of available effort.

comment:7 Changed 5 years ago by mf2k (Frank Schima)

Owner: cssdev deleted

See #50332

Note: See TracTickets for help on using tickets.