Project

General

Profile

Bug #2268

Build Error - incorp assimp commit (PPC)

Added by caseyac about 6 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
3rd party compatibility
Target version:
-
Start date:
2018-01-24
% Done:

100%

Tags:

Description

assimp included with DE 2.0.0 to 2.1 causes a build fail on PowerPC (A-eon Cyrus Plus, based on Freescale P5020, running Ubuntu 16.04.3 LTS, gcc 5.3.1)

This issue was closed via assimp commit f0d03ec (https://github.com/assimp/assimp/commit/f0d03ec6b8400cfde29bc460ad8dd69d6623be9c). Could you incorporate this into Doomsday?

Build fail:

/home/casey/Documents/Sources/doomsday-2.0.0/doomsday/external/assimp/code/Bitmap.cpp: In instantiation of ‘std::size_t Assimp::Copy(uint8_t*, T&) [with T = short unsigned int; std::size_t = unsigned int; uint8_t = unsigned char]’:
/home/casey/Documents/Sources/doomsday-2.0.0/doomsday/external/assimp/code/Bitmap.cpp:95:50: required from here
/home/casey/Documents/Sources/doomsday-2.0.0/doomsday/external/assimp/code/Bitmap.cpp:87:27: error: lvalue required as unary ‘&’ operand
std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field);
^
/home/casey/Documents/Sources/doomsday-2.0.0/doomsday/external/assimp/code/Bitmap.cpp: In instantiation of ‘std::size_t Assimp::Copy(uint8_t*, T&) [with T = unsigned int; std::size_t = unsigned int; uint8_t = unsigned char]’:
/home/casey/Documents/Sources/doomsday-2.0.0/doomsday/external/assimp/code/Bitmap.cpp:96:50: required from here
/home/casey/Documents/Sources/doomsday-2.0.0/doomsday/external/assimp/code/Bitmap.cpp:87:27: error: lvalue required as unary ‘&’ operand
/home/casey/Documents/Sources/doomsday-2.0.0/doomsday/external/assimp/code/Bitmap.cpp: In instantiation of ‘std::size_t Assimp::Copy(uint8_t*, T&) [with T = int; std::size_t = unsigned int; uint8_t = unsigned char]’:
/home/casey/Documents/Sources/doomsday-2.0.0/doomsday/external/assimp/code/Bitmap.cpp:110:48: required from here
/home/casey/Documents/Sources/doomsday-2.0.0/doomsday/external/assimp/code/Bitmap.cpp:87:27: error: lvalue required as unary ‘&’ operand
sdk/libgui/assimp/code/CMakeFiles/assimp.dir/build.make:518: recipe for target 'sdk/libgui/assimp/code/CMakeFiles/assimp.dir/Bitmap.cpp.o' failed
make[2]: * [sdk/libgui/assimp/code/CMakeFiles/assimp.dir/Bitmap.cpp.o] Error 1
CMakeFiles/Makefile2:592: recipe for target 'sdk/libgui/assimp/code/CMakeFiles/assimp.dir/all' failed
make[1]:
[sdk/libgui/assimp/code/CMakeFiles/assimp.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *
* [all] Error 2

History

#1 Updated by skyjake about 6 years ago

  • Category set to 3rd party compatibility
  • Status changed from New to In Progress
  • Assignee set to skyjake
  • Target version set to 72

I'll check out the patch. If it can't be incorporated as-is, maybe the version of Assimp that Doomsday uses could be upgraded as a whole.

#2 Updated by skyjake about 6 years ago

I've now patched the Assimp used in both the stable and master branches of Doomsday. Could you give one or both of these a try and see if the problem has been solved, please?

#3 Updated by skyjake about 6 years ago

  • % Done changed from 0 to 100

#4 Updated by caseyac about 6 years ago

Sorry for the delay! I tried build 2586; unfortunately it was not successful.

Build fail:

[ 22%] Building CXX object sdk/libgui/assimp/code/CMakeFiles/assimp.dir/SIBImporter.cpp.o
<command-line>:0:0: warning: "DENG_LIBRARY_DIR" redefined
<command-line>:0:0: note: this is the location of the previous definition
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/SIBImporter.cpp:88:16: warning: ‘SIBPair makePair(uint32_t, uint32_t)’ defined but not used [-Wunused-function]
static SIBPair makePair(uint32_t a, uint32_t b) { return (a<b) ? SIBPair(a, b)
^
[ 22%] Building CXX object sdk/libgui/assimp/code/CMakeFiles/assimp.dir/glTFImporter.cpp.o
<command-line>:0:0: warning: "DENG_LIBRARY_DIR" redefined
<command-line>:0:0: note: this is the location of the previous definition
In file included from /home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAsset.h:65:0,
from /home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFImporter.cpp:55:
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAsset.inl: In member function ‘void glTF::Asset::ReadBinaryHeader(Assimp::IOStream&)’:
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/ByteSwapper.h:217:24: error: ‘ByteSwap’ has not been declared # define AI_SWAP4(p) ByteSwap::Swap4(&(p))
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAsset.inl:906:5: note: in expansion of macro ‘AI_SWAP4’
AI_SWAP4(header.version);
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/ByteSwapper.h:217:24: error: ‘ByteSwap’ has not been declared # define AI_SWAP4(p) ByteSwap::Swap4(&(p))
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAsset.inl:912:5: note: in expansion of macro ‘AI_SWAP4’
AI_SWAP4(header.sceneFormat);
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/ByteSwapper.h:217:24: error: ‘ByteSwap’ has not been declared # define AI_SWAP4(p) ByteSwap::Swap4(&(p))
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAsset.inl:917:5: note: in expansion of macro ‘AI_SWAP4’
AI_SWAP4(header.length);
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/ByteSwapper.h:217:24: error: ‘ByteSwap’ has not been declared # define AI_SWAP4(p) ByteSwap::Swap4(&(p))
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAsset.inl:918:5: note: in expansion of macro ‘AI_SWAP4’
AI_SWAP4(header.sceneLength);
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl: In member function ‘void glTF::AssetWriter::WriteBinaryData(Assimp::IOStream*, size_t)’:
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/ByteSwapper.h:217:24: error: ‘ByteSwap’ has not been declared # define AI_SWAP4(p) ByteSwap::Swap4(&(p))
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl:397:9: note: in expansion of macro ‘AI_SWAP4’
AI_SWAP4(header.version);
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/ByteSwapper.h:217:24: error: ‘ByteSwap’ has not been declared # define AI_SWAP4(p) ByteSwap::Swap4(&(p))
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl:400:9: note: in expansion of macro ‘AI_SWAP4’
AI_SWAP4(header.length);
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/ByteSwapper.h:217:24: error: ‘ByteSwap’ has not been declared # define AI_SWAP4(p) ByteSwap::Swap4(&(p))
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl:403:9: note: in expansion of macro ‘AI_SWAP4’
AI_SWAP4(header.sceneLength);
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/ByteSwapper.h:217:24: error: ‘ByteSwap’ has not been declared # define AI_SWAP4(p) ByteSwap::Swap4(&(p))
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl:406:9: note: in expansion of macro ‘AI_SWAP4’
AI_SWAP4(header.sceneFormat);
^
In file included from /home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.h:87:0,
from /home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFImporter.cpp:57:
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl: In instantiation of ‘rapidjson::Value& glTF::{anonymous}::MakeValue(rapidjson::Value&, float (&)[N], rapidjson::MemoryPoolAllocator<>&) [with unsigned int N = 4u; rapidjson::Value = rapidjson::GenericValue<rapidjson::UTF8<> >]’:
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl:162:81: required from here
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl:59:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < N; ++i) {
^
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl: In instantiation of ‘rapidjson::Value& glTF::{anonymous}::MakeValue(rapidjson::Value&, float (&)[N], rapidjson::MemoryPoolAllocator<>&) [with unsigned int N = 16u; rapidjson::Value = rapidjson::GenericValue<rapidjson::UTF8<> >]’:
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl:243:73: required from here
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl:59:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl: In instantiation of ‘rapidjson::Value& glTF::{anonymous}::MakeValue(rapidjson::Value&, float (&)[N], rapidjson::MemoryPoolAllocator<>&) [with unsigned int N = 3u; rapidjson::Value = rapidjson::GenericValue<rapidjson::UTF8<> >]’:
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl:248:83: required from here
/home/casey/Documents/Sources/doomsday-2.1.0-build2586/doomsday/external/assimp/code/glTFAssetWriter.inl:59:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
sdk/libgui/assimp/code/CMakeFiles/assimp.dir/build.make:2270: recipe for target 'sdk/libgui/assimp/code/CMakeFiles/assimp.dir/glTFImporter.cpp.o' failed
make2: * [sdk/libgui/assimp/code/CMakeFiles/assimp.dir/glTFImporter.cpp.o] Error 1
CMakeFiles/Makefile2:592: recipe for target 'sdk/libgui/assimp/code/CMakeFiles/assimp.dir/all' failed
make1:
[sdk/libgui/assimp/code/CMakeFiles/assimp.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *
* [all] Error 2
casey@UTOPIA-DEV:~/Documents/Sources/doomsday$

#5 Updated by skyjake over 5 years ago

  • Status changed from In Progress to Closed
  • Target version deleted (72)

Perhaps this should be revisited when Doomsday's Assimp is upgraded to the latest stable version.

Also available in: Atom PDF