Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vt fails to build on OSX, cf. issue #28 #89

Closed
asluk opened this issue Oct 27, 2016 · 4 comments
Closed

Vt fails to build on OSX, cf. issue #28 #89

asluk opened this issue Oct 27, 2016 · 4 comments

Comments

@asluk
Copy link
Collaborator

asluk commented Oct 27, 2016

After f5d73aa#diff-a3c1820c344553f04552258f508b35a1 , issue #28 now manifests when building Vt.

A workaround is to move the pyLock.h include in vt/value.h to come after pyObjWrapper.h , once again violating coding conventions as in the fix for #28 , but maybe it's better to require python 2.7.13+ for OSX so that we don't have to inject workarounds every time this manifests.

I'll upgrade my local python to 2.7.13 for now and verify that everything builds properly.


In file included from /Users/asluk/Desktop/bin/usd-dev/USD/pxr/base/lib/vt/dictionary.cpp:24:
In file included from /Users/asluk/Desktop/bin/usd-dev/USD/build/include/pxr/base/vt/dictionary.h:31:
In file included from /Users/asluk/Desktop/bin/usd-dev/USD/build/include/pxr/base/vt/keyValue.h:27:
In file included from /Users/asluk/Desktop/bin/usd-dev/USD/build/include/pxr/base/vt/value.h:32:
In file included from /Users/asluk/Desktop/bin/usd-dev/USD/build/include/pxr/base/tf/pyObjWrapper.h:27:
In file included from /usr/local/include/boost/functional/hash.hpp:6:
In file included from /usr/local/include/boost/functional/hash/hash.hpp:558:
In file included from /usr/local/include/boost/functional/hash/extensions.hpp:22:
In file included from /usr/local/include/boost/detail/container_fwd.hpp:98:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/complex:247:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/sstream:174:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:468:15: error: C++ requires a type specifier for all declarations
char_type toupper(char_type __c) const
^
In file included from /Users/asluk/Desktop/bin/usd-dev/USD/pxr/base/lib/vt/dictionary.cpp:24:
In file included from /Users/asluk/Desktop/bin/usd-dev/USD/build/include/pxr/base/vt/dictionary.h:31:
In file included from /Users/asluk/Desktop/bin/usd-dev/USD/build/include/pxr/base/vt/keyValue.h:27:
In file included from /Users/asluk/Desktop/bin/usd-dev/USD/build/include/pxr/base/vt/value.h:31:
In file included from /Users/asluk/Desktop/bin/usd-dev/USD/build/include/pxr/base/tf/pyLock.h:27:
In file included from /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:58:
/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/pyport.h:731:29: note: expanded from macro 'toupper'

define toupper(c) towupper(btowc(c))

@asluk
Copy link
Collaborator Author

asluk commented Oct 27, 2016

Ah, I see python 2.7.13 has not been released, so we'd have to use the workaround to keep the OSX build going. I'll make a pull request.

@jtran56
Copy link

jtran56 commented Oct 27, 2016

Filed as internal issue #139262.

@meshula
Copy link
Member

meshula commented Oct 28, 2016

macOS currently ships with 2.7.10, so this workaround is a good solution from my perspective.

pixar-oss pushed a commit that referenced this issue Oct 28, 2016
Move Python-related includes to the top and also
switch the ordering. This is a minimal fix for build
issues on OSX due to the requirement that Python
headers always be included first. Ideally, we would
find some way to remove these headers from
vt/value.h entirely so that we don't impose a
requirement that vt/value.h be included first
as well.

Fixes #89

(Internal change: 1668848)
@asluk
Copy link
Collaborator Author

asluk commented Oct 31, 2016

Verified on latest cut of dev.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants