Protobuf build issues on AIX.
buguntriaged
<!--
NOTE: this form is for bug reports only.
For questions or troubleshooting, please post on the protobuf mailing list:
https://groups.google.com/forum/#!forum/protobuf
Stack Overflow is also a useful unofficial resource https://stackoverflow.com/questions/tagged/protocol-buffers
Vulnerabilities should not be reported using this form, and should be submitted to the Google Vulnerability Reward Program:
https://bughunters.google.com/report
-->
**What version of protobuf and what language are you using?**
Version: main/v33.0/
Language: C++/Java/Python/C#/Ruby/PHP/Objective-C/Javascript
**What
[supported operating system version](https://github.com/google/oss-policies-info/tree/main)
are you using (e.g. Linux, Windows) ?**
AIX
**What
[supported runtime / compiler version](https://github.com/google/oss-policies-info/tree/main)
are you using (e.g. python version, gcc version)**
IBM OpenXl
**What did you do?**
While building onnx it fetches the protobuf version >= v33, because of it the build is failing.
Steps to reproduce the behavior:
1. Go to 'onnx' GitHub repo copy it locally
2. Build it via flags
```
export OBJECT_MODE=64
export CC="/opt/IBM/openxlC/17.1.2/bin/ibm-clang"
export CXX="/opt/IBM/openxlC/17.1.2/bin/ibm-clang++_r"
export CFLAGS=" -pthread -m64 -mcmodel=large -maltivec -mvsx -D_ALL_SOURCE -Wno-deprecate-lax-vec-conv-all -Wno-unused-but-set-variable -Wno-unused-command-line-argument -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-shorten-64-to-32 -fvisibility=default -fpermissive"
export CXXFLAGS="-pthread -m64 -mcmodel=large -maltivec -mvsx -D_ALL_SOURCE -std=c++17 -Wno-deprecate-lax-vec-conv-all -Wno-unused-but-set-variable -Wno-unused-command-line-argument -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-shorten-64-to-32 -fvisibility=default -fpermissive"
```
and then
```
cmake -B build
cmake --build build
```
3. The error
```
In file included from /home/Kushal/CVE/onnx/build/_deps/protobuf-src/src/google/protobuf/any.pb.h:23:
/onnx/build/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_decl.h:260:15: error: static assertion failed due to requirement 'sizeof(google::protobuf::internal::MapAuxInfo) <= 8':
260 | static_assert(sizeof(MapAuxInfo) <= 8, "");
| ^~~~~~~~~~~~~~~~~~~~~~~
/onnx/build/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_decl.h:260:34: note: expression evaluates to '12 <= 8'
260 | static_assert(sizeof(MapAuxInfo) <= 8, "");
| ~~~~~~~~~~~~~~~~~~~^~~~
1 error generated.
gmake[2]: *** [_deps/protobuf-build/CMakeFiles/libprotobuf.dir/build.make:79: _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/any.pb.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1360: _deps/protobuf-build/CMakeFiles/libprotobuf.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
```
Another error:
```
[ 65%] Linking CXX executable protoc
ld: 0711-317 ERROR: Undefined symbol: __stop_pb_defaults
ld: 0711-317 ERROR: Undefined symbol: __start_pb_defaults
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
.ibm-clang: error: linker command failed with exit code 8 (use -v to see invocation)
gmake[2]: *** [_deps/protobuf-build/CMakeFiles/protoc.dir/build.make:197: _deps/protobuf-build/protoc-31.1.0] Error 8
gmake[1]: *** [CMakeFiles/Makefile2:1855: _deps/protobuf-build/CMakeFiles/protoc.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
```
0 条评论