💾 Archived View for bbs.geminispace.org › s › Lagrange › 14645 captured on 2024-05-26 at 15:17:21. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-05-10)
-=-=-=-=-=-=-
I'm getting the following error:
[100%] Linking C executable lagrange
/usr/bin/ld: lib/harfbuzz/libharfbuzz.a(harfbuzz.cc.o): relocation R_X86_64_32S against `.data' can not be used when making a PIE object; recompile with -fPIE
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/app.dir/build.make:1021: lagrange] Error 1
make[1]: *** [CMakeFiles/Makefile2:120: CMakeFiles/app.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
What do I do?
Feb 04 · 4 months ago
This is an usual error message when C compilers are mixed. For example, some object files are built with gcc, whereas others are built with clang, or viceversa.
Could you please make sure that the same C compiler was used to build all objects?
🚀 zorg [OP] · Feb 05 at 19:43:
I have both gcc and clang. How do I make sure that only one is used?
Make sure to clean your build first (e.g.: with `make clean` or `ninja clean`, depending on which generator was chosen from CMake), then build with `cmake --build <build-dir> -v -j$(nproc --all)`.