Comments (4)
Could it be related to issue #118? I tried using string_theory 1.6 as mentioned there but it turned out I need at least 2.0, which produces the error below.
[dirtsand@home build]$ make && sudo make install
-- clang-tidy not found.
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/dirtsand/dirtsand/build
[ 1%] Building CXX object CMakeFiles/test_sha.dir/streams.cpp.o
[ 2%] Linking CXX executable test_sha
/usr/bin/ld: CMakeFiles/test_sha.dir/Types/ShaHash.cpp.o: in function `_ST_PRIVATE::format(_ST_PRIVATE::string_format_writer&)':
ShaHash.cpp:(.text._ZN11_ST_PRIVATE6formatERNS_20string_format_writerE[_ZN11_ST_PRIVATE6formatERNS_20string_format_writerE]+0x27): undefined reference to `ST::format_writer::finalize()'
/usr/bin/ld: CMakeFiles/test_sha.dir/Types/ShaHash.cpp.o: in function `ST::buffer<char>::buffer()':
ShaHash.cpp:(.text._ZN2ST6bufferIcEC2Ev[_ZN2ST6bufferIcEC5Ev]+0x25): undefined reference to `_ST_PRIVATE::_zero_buffer(void*, unsigned long)'
/usr/bin/ld: CMakeFiles/test_sha.dir/Types/ShaHash.cpp.o: in function `ST::string ST::format<unsigned int, unsigned int, unsigned int, unsigned int, unsigned int>(char const*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)':
ShaHash.cpp:(.text._ZN2ST6formatIjJjjjjEEENS_6stringEPKcT_DpT0_[_ZN2ST6formatIjJjjjjEEENS_6stringEPKcT_DpT0_]+0x78): undefined reference to `ST::format_writer::fetch_next_format()'
/usr/bin/ld: CMakeFiles/test_sha.dir/Types/ShaHash.cpp.o: in function `ST::string _ST_PRIVATE::format<unsigned int, unsigned int, unsigned int, unsigned int>(_ST_PRIVATE::string_format_writer&, unsigned int, unsigned int, unsigned int, unsigned int)':
ShaHash.cpp:(.text._ZN11_ST_PRIVATE6formatIjJjjjEEEN2ST6stringERNS_20string_format_writerET_DpT0_[_ZN11_ST_PRIVATE6formatIjJjjjEEEN2ST6stringERNS_20string_format_writerET_DpT0_]+0x3c): undefined reference to `ST::format_writer::fetch_next_format()'
/usr/bin/ld: CMakeFiles/test_sha.dir/Types/ShaHash.cpp.o: in function `ST::string _ST_PRIVATE::format<unsigned int, unsigned int, unsigned int>(_ST_PRIVATE::string_format_writer&, unsigned int, unsigned int, unsigned int)':
ShaHash.cpp:(.text._ZN11_ST_PRIVATE6formatIjJjjEEEN2ST6stringERNS_20string_format_writerET_DpT0_[_ZN11_ST_PRIVATE6formatIjJjjEEEN2ST6stringERNS_20string_format_writerET_DpT0_]+0x38): undefined reference to `ST::format_writer::fetch_next_format()'
/usr/bin/ld: CMakeFiles/test_sha.dir/Types/ShaHash.cpp.o: in function `ST::string _ST_PRIVATE::format<unsigned int, unsigned int>(_ST_PRIVATE::string_format_writer&, unsigned int, unsigned int)':
ShaHash.cpp:(.text._ZN11_ST_PRIVATE6formatIjJjEEEN2ST6stringERNS_20string_format_writerET_DpT0_[_ZN11_ST_PRIVATE6formatIjJjEEEN2ST6stringERNS_20string_format_writerET_DpT0_]+0x34): undefined reference to `ST::format_writer::fetch_next_format()'
/usr/bin/ld: CMakeFiles/test_sha.dir/Types/ShaHash.cpp.o: in function `ST::string _ST_PRIVATE::format<unsigned int>(_ST_PRIVATE::string_format_writer&, unsigned int)':
ShaHash.cpp:(.text._ZN11_ST_PRIVATE6formatIjJEEEN2ST6stringERNS_20string_format_writerET_DpT0_[_ZN11_ST_PRIVATE6formatIjJEEEN2ST6stringERNS_20string_format_writerET_DpT0_]+0x31): undefined reference to `ST::format_writer::fetch_next_format()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/test_sha.dir/build.make:101: test_sha] Error 1
make[1]: *** [CMakeFiles/Makefile2:77: CMakeFiles/test_sha.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
from dirtsand.
These issues sound like there's some inconsistency in the string_theory you're using... You'll definitely need 2.0 or later, so be sure that the version CMake is picking up for dirtsand is the correct version for both the headers and the shared library. Specifically, if you have both a version you built from source and the version from AUR (for example), make sure it's picking up the correct version. Also, if you ever built a very old 1.x version of string_theory from source (prior to version 1.2), you might have a leftover copy in your local cmake cache that will need to be deleted (see https://github.com/zrax/string_theory/releases/tag/1.2 for details).
from dirtsand.
Thanks for your reply!
I did remove the previous version of string_theory whenever I tried another one (2.3, 1.2, 2.0). I also got different error messages for every version, suggesting that the new version was successfully being used by CMake.
The tag you linked mentions ~/.cmake/packages/string_theory
but I don't have such a folder. I did have /usr/local/lib/cmake/string_theory
which I deleted (as I did previously when deleting a version, among other things under /usr/local
).
At this point, building dirtsand gives the following:
[dirtsand@home build]$ make && sudo make install
CMake Error at CMakeLists.txt:43 (find_package):
By not providing "Findstring_theory.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"string_theory", but CMake did not find one.
Could not find a package configuration file provided by "string_theory"
(requested version 2.0) with any of the following names:
string_theoryConfig.cmake
string_theory-config.cmake
Add the installation prefix of "string_theory" to CMAKE_PREFIX_PATH or set
"string_theory_DIR" to a directory containing one of the above files. If
"string_theory" provides a separate development package or SDK, be sure it
has been installed.
-- Configuring incomplete, errors occurred!
See also "/opt/dirtsand/dirtsand/build/CMakeFiles/CMakeOutput.log".
See also "/opt/dirtsand/dirtsand/build/CMakeFiles/CMakeError.log".
make: *** [Makefile:2556: cmake_check_build_system] Error 1
So it seems that there is no string_theory present on the system, as expected. Then I build string_theory again at tag 2.0, successfully.
I then attempt to build dirtsand again and it gives the same error as I showed in my previous comment. It finds string_theory but its usage causes errors.
Any ideas are welcome! I don't really know how to investigate this further.
from dirtsand.
Alright I got it! I tried the latest version of string_theory again, only this time building from master manually instead of using the AUR. Somehow that did it. Thanks for the nudges!
from dirtsand.
Related Issues (20)
- NPC Clone Unloading Crash HOT 1
- OpenSSL removed SHA-0 HOT 4
- Console command crash HOT 1
- dirtsand CMake issues HOT 5
- Starting Game Server results in segfault HOT 6
- Consistently mark overridden virtual methods with `override` HOT 2
- SDL Descriptor Version
- Junked SDL Blobs
- French Problem HOT 1
- More verbose help listing
- Command to list accounts or avatars
- Vault node text columns are too short for long KI text notes
- Force LF line endings on bash files with gitattributes
- Confirm if Dockersand .bat and .ps1 need executable bit set
- DS::FileStream::atEof() UB HOT 1
- Relicense under the GNU Affero General Public License (AGPL) v3+ HOT 8
- Creating public age instances HOT 1
- SQL Files Specify DB Name HOT 1
- Use sendfile in FileServ
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dirtsand.