AcademySoftwareFoundation / AcademySoftwareFoundation/Imath

MinGW ld.lld: error: too many exported symbols

Open
#312 8 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.