Comments (4)
If you have libpmemobj-cpp at all, you're running Debian Buster (testing) or unstable. On both of those, version 1.6 from experimental works without a need for backporting.
As for the build failure: the usual mode of compilation (so-called "in-tree") indeed doesn't work — you need to create a directory somewhere then pass the original top dir to cmake.
from libpmemobj-cpp.
The version in experimental is for amd64 only. Will it work elsewhere in the future?
from libpmemobj-cpp.
It'd be better if you could open a new issue for separate questions.
Out of curiosity, may I ask what would you want portability for? This way I'd be able to provide a more meaningful answer.
If you mean "elsewhere" as in "other architectures", then libpmemobj-cpp by itself has no arch-dependant pieces other than a reliance on 64-bit words. When you have 6TB memory to mmap, a limit of 32 bits would be pretty ridiculous. On the other hand, for any heavy lifting this library uses PMDK, which is currently pretty much amd64 only. As for other archs:
- arm64: there's some preliminary support, although not working at the moment
- riscv64: according to folks on #riscv64 IRC, the architecture doesn't even have cache control instructions (its designers want cache to be fully transparent), thus there's no obvious way for PMDK to function
- ppc64{,el}: support seems possible; I may ask a ppc person who deals with related areas like ndctl
- mips64: the architecture seems to be dying — by the time you implement, test and deploy whatever project you're planning, it's very unlikely there'll be distribution support, etc, for the arch
- ia64: the Itanic has sank ages ago. While technically Intel still sells new CPUs, no one uses them for new deployments.
- s390x: it's an extremely niche architecture, sold by IBM for the sake of a limited number of lucrative clients. Thus, unless you're specifically paid to do so, I'd recommend waiting for someone from IBM to do any porting.
Thus: do you have any real use case, or do you want portability for portability sake? There's development cost involved, and I wonder what you'd gain.
from libpmemobj-cpp.
Hi @cinderwalk, it's been a while since your last update, so I assume all your questions has been answered...? I allow myself to close this issue. If you have any more comments or questions don't hesitate to open another issue.
from libpmemobj-cpp.
Related Issues (20)
- [doc] Update comments in atomic_persistent_aware_ptr to hide implementation details HOT 1
- gcc-12 radix_tree fail: no decltype matches HOT 7
- redefinitions in ebr.hpp
- libpmemobj-cpp as a cmake submodule HOT 1
- make error! HOT 9
- Valgrind not found, but flag TESTS_USE_VALGRIND was set. HOT 6
- fails to build with tbb→onetbb
- concurrent_hash_map HOT 6
- Read garbled code HOT 6
- using hashmap_type = concurrent_hash_map<string, p<int>>; HOT 3
- Why do not make install? HOT 3
- concurrent_hash_map HOT 3
- pmem::transaction_out_of_memory HOT 6
- ndctl create-namespace HOT 3
- avx access beyond end of string HOT 1
- Possible atomic_persistent_aware_ptr_pmreorder failures with FullReorder engine
- radix-tree HOT 3
- Can it be used and built with Mingw64 in MSYS2 HOT 2
- Does libpmemobj or libpmemobj-cpp support dev-dax mode? HOT 5
- multiple definition of pmem::detail::ebr HOT 1
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 libpmemobj-cpp.