AcademySoftwareFoundation / AcademySoftwareFoundation/Imath
MinGW ld.lld: error: too many exported symbols
- Dominant language
- C++
- Stars
- 488
- Forks
- 161
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 3
Description
This is from building 3.1.7 in CLANG64 environment (Clang 16.0.1 currently):
```
FAILED: src/python/PyImath/libPyImath_Python3_10-3_1.dll src/python/PyImath/libPyImath_Python3_10-3_
1.dll.a
cmd.exe /C "cd . && C:\msys64\clang64\bin\clang++.exe -march=nocona -msahf -mtune=generic -O2 -pipe
-O3 -DNDEBUG -pipe -shared -o src\python\PyImath\libPyImath_Python3_10-3_1.dll -Wl,--out-implib,src
\python\PyImath\libPyImath_Python3_10-3_1.dll.a -Wl,--major-image-version,30,--minor-image-version,0
src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImath.cpp.obj src/python/PyImath/CMakeFiles/
PyImath_Python3_10.dir/PyImathAutovectorize.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10
.dir/PyImathBox2Array.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathBox3Array.
cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathBox.cpp.obj src/python/PyImath/C
MakeFiles/PyImath_Python3_10.dir/PyImathBufferProtocol.cpp.obj src/python/PyImath/CMakeFiles/PyImath
_Python3_10.dir/PyImathColor3.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathCo
lor4.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathEuler.cpp.obj src/python/Py
Imath/CMakeFiles/PyImath_Python3_10.dir/PyImathFixedArray.cpp.obj src/python/PyImath/CMakeFiles/PyIm
ath_Python3_10.dir/PyImathFrustum.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyIma
thLine.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathMatrix22.cpp.obj src/pyth
on/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathMatrix33.cpp.obj src/python/PyImath/CMakeFiles/P
yImath_Python3_10.dir/PyImathMatrix44.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/P
yImathPlane.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathQuat.cpp.obj src/pyt
hon/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathRandom.cpp.obj src/python/PyImath/CMakeFiles/Py
Imath_Python3_10.dir/PyImathShear.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyIma
thStringArray.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathStringTable.cpp.ob
j src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathTask.cpp.obj src/python/PyImath/CMakeF
iles/PyImath_Python3_10.dir/PyImathUtil.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir
/PyImathFixedVArray.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathVec2fd.cpp.o
bj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathVec2si.cpp.obj src/python/PyImath/CMa
keFiles/PyImath_Python3_10.dir/PyImathVec3fd.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_1
0.dir/PyImathVec3siArray.cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathVec3si.
cpp.obj src/python/PyImath/CMakeFiles/PyImath_Python3_10.dir/PyImathVec4fd.cpp.obj src/python/PyImat
h/CMakeFiles/PyImath_Python3_10.dir/PyImathVec4siArray.cpp.obj src/python/PyImath/CMakeFiles/PyImath
_Python3_10.dir/PyImathVec4si.cpp.obj src/Imath/libImath.dll.a C:/msys64/clang64/lib/libpython3.10
.dll.a C:/msys64/clang64/lib/libboost_python310-mt.dll.a -lm -lkernel32 -luser32 -lgdi32 -lwinspo
ol -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
ld.lld: error: too many exported symbols (got 70446, max 65535)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
Contributor guide
Research direction
Start with the failing CMake link command for src/python/PyImath and the reported CLANG64 build configuration. Investigate the exported-symbol limit in the shown linker invocation; done means the Python binding builds successfully without the ld.lld “too many exported symbols” error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp, python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100