Comments (18)
.. :-) Ah, there were so many important issues fixed in the recent week that I didn't feel confident to put out the first real release just yet. However, I think it is getting there with v1.0.5 -- I hope to put out the first release by the end of this week.
I will study the link you gave to see if I can make it easy using the Azure pipelines, and perhaps even supply binaries for Windows. Thanks!
from mimalloc.
Ah, great idea. Are you suggesting I should do an initial release already soon (like next week)? (as that will help maintainers)?
from mimalloc.
yes, the de-facto zip/tar.gz release should only ever contain the sources. There are dll's in the bin directory which should be removed moving forward.
from mimalloc.
because it's a source tarball release?
@alexmyczko thank you, this was the explanation I was missing.
from mimalloc.
I am not sure how to modify that so it adds those dll's for the windows release but not for the others.
When someone does get around to changing the AZP config for this, I would suggest providing a single zip of pure sourcs, and then separate zips for each precompiled binary you want to release.
Regarding SONAME
:
The custom versioning and layout strategy in place right now is going to be at odds with various tools as more and more people try to integrate mimalloc
In mature ecosystems (rpm/apt/brew/etc). SONAME
isn’t cosmetic in these ecosystems, it serves an important purpose that will become very relevant to Linux packagers as mimalloc
continues to evolve. Some changes will break ABI compatibility and some won’t, and the SONAME
is the standard mechanism for controlling linking behavior in a sane way for each scenario. Having the version hardcoded in the directory name and omitting SONAME
will likely cause difficulty in most upgrade scenarios when v1.1, and 2.0 are released.
from mimalloc.
When someone does get around to changing the AZP config for this, I would suggest providing a single zip of pure sourcs, and then separate zips for each precompiled binary you want to release.
Why not be that someone, @solvingj?
from mimalloc.
+1 for doing releases
from mimalloc.
Yes, it is desirable for consumers as packagers can start putting "official" version numbers on packages. It's trivial in the github UI to create releases manually, and mark them as pre-releases. As you start to figure out how you want to handle the release cycle "automatically", Azure Pipelines can do new minor/major releases based on git events.
Of note, the file mimalloc-config-version.cmake
currently features version number ""1.0". Moving forward I would suggest keeping this version field in sync with the Github releases. I would also suggest including a patch number for full semantic versioning (3 digits).
from mimalloc.
You could even set up an Azure Pipeline to do that (triggered manually, of course), using https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/github-release
from mimalloc.
Isn't this done now? We're already at v1.0.5...
from mimalloc.
Some accompanying release notes would be terrific. This saves devs considerable time from having to go through commits to see the big changes.
from mimalloc.
Could these be dropped from the releases please?
W: mimalloc source: source-contains-prebuilt-windows-binary bin/mimalloc-redirect.dll
W: mimalloc source: source-contains-prebuilt-windows-binary bin/mimalloc-redirect32.dll
from mimalloc.
lintian also complains about SONAME not set:
N: Processing binary package mimalloc (version 1.0.8-1, arch amd64) ...
E: mimalloc: sharedobject-in-library-directory-missing-soname usr/lib/libmimalloc-none.so
N:
N: A shared object was identified in a library directory (a directory in
N: the standard linker path) which doesn't have a SONAME. This is usually
N: an error.
N:
N: SONAMEs are set with something like gcc -Wl,-soname,libfoo.so.0, where 0
N: is the major version of the library. If your package uses libtool, then
N: libtool invoked with the right options should be doing this.
N:
N: To view the SONAME of a shared library, run readelf -d on the shared
N: library and look for the tag of type SONAME.
N:
N: Severity: important, Certainty: possible
N:
N: Check: shared-libs, Type: binary, udeb
N:
N: Finished processing group mimalloc/1.0.8-1
from mimalloc.
Could these be dropped from the releases please?
W: mimalloc source: source-contains-prebuilt-windows-binary bin/mimalloc-redirect.dll
W: mimalloc source: source-contains-prebuilt-windows-binary bin/mimalloc-redirect32.dll
Why?
from mimalloc.
@dscho because it's a source tarball release? feel free to make additional releases (binary ones) with specific targets like mimalloc-1.0.8-windows if you want them?
from mimalloc.
Ah, the new dll's are used on Windows only to redirect the C runtime malloc to use mimalloc
.
The current "release" are generated by the Azure pipeline infrastructure -- I am not sure how to modify that so it adds those dll's for the windows release but not for the others.
from mimalloc.
The SONAME
not set warning is interesting. I see it is turned off in the cmake build to prevent CMake from adding a .1
version postfix to the .so
name since we already version it by putting the whole install into a versioned directory, (e.g /usr/local/lib/mimalloc-1.0/libmimalloc-debug.so
) so everything including headers etc is versioned (e.g /usr/local/lib/mimalloc-1.0/include/mimalloc.h
).
Not sure why it is bad to leave out the internal soname from the .so though?
from mimalloc.
Thanks, can we have a tarball release of that or have it in master branch?
from mimalloc.
Related Issues (20)
- Mimalloc attempts to allocate 33 MB shortly after thread start, prints spurious warning when it fails
- Any way to know how much memory was freed but not yet purged?
- The performance of mimalloc is unexpectedly lower than that of the system's built-in allocator. HOT 3
- Use MADV_FREE in FreeBSD HOT 4
- mimalloc.cmake has hard-coded paths
- Shutdown issues using heap bound to arena, `mi_collect`
- What interface is redirected _expand_base
- mi_malloc didn't return NULL while no memory available
- Multiple debug print statements and hugepages mapped HOT 1
- When will release the next version?
- Why is `mimalloc-redirect` closed-source? HOT 1
- Unused variable from heap alloc code
- Crash on start on OSX with v2.0.9 HOT 1
- "mimalloc-obj" is not in any export set
- alloc-override.c uses wrong type for std::nothrow_t argument in C++ operator new overrides HOT 1
- Allocate from heap from different threads HOT 3
- Mimalloc detects wrong libatomic for static linking
- Windows Server 2019 kernel CPU time
- ASAN crash in `mi_checked_ptr_segment` when freeing memory from `abi::__cxa_demangle`
- Crash on Linux when using miamlloc v2.1.2 with dynamic override
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 mimalloc.