Comments (6)
Continuing to investigate this... This bug is not only confined to tarball releases of tagged versions, but is also present in the tarball release of the current commit when downloaded from github.com:
wget https://github.com/xiph/opus/archive/master.tar.gz
tar xvzf master.tar.gz
Invoking autogen.sh
on resulting directory will result in a configure
file that defines environmental variable VERSION
as unknown
. External xiph packages, such as opus-tools
which rely upon version checks of libopus
continue to therefore fail autoconf
checks.
Bug is not present when entire git repo is cloned from github (for reasons explained in above post).
Above tests are on system with git version 2.1.4, autoconf 2.69, automake 1.14.1, and libtoolize 2.4.2 (in other words, a standard Debian stable [Jessie] system).
Appreciate your input. Incidentally, I can come up with patches that fix this, through modifications in configure.ac
, but perhaps they would come at the expense of other corner cases in the logic of the libopus
build system. Therefore, I thought it best to get your input prior to implementing them, and filing a PR.
from opus.
Github's auto-tarball feature doesn't properly support GNU autotools. What's supposed to happen is that release tarballs are created with make distcheck
which will build the configure script and Makefile templates and pickle in the git version. Github's tag-based tarballs are just the raw contents of the repository, and the configure script assumes in that case it will have the repo history to query for a version string. I'm not sure why github doesn't include update-version
in their tarballs. If you can figure out how to change that, or turn off the tarballs, I'd be happy to do that.
I think it's possible to upload builds to github somehow. If we'd mirrorred the official release tarballs (e.g. https://archive.mozilla.org/pub/opus/opus-1.1.2.tar.gz) on github would that have helped? Would you want an equilvalent tarball of the master branch?
from opus.
I think that update_version
is excluded by git archive
because it is listed as export-ignore
in .gitattributes
.
from opus.
Aha, thanks!
I think just removing the export-ignore attribute doesn't help, since configure falls back to 'unknown' without it. Perhaps the question is whether we want to restore the fallback to a hard-coded version in version.mk like the windows build uses for this, or rely on make dist
only to get this right.
from opus.
So anything reasonable we can do here, or should we close this?
from opus.
It was decided somewhere (IRC?) that git archives wouldn't be supported, since there's no .git directory to obtain the versions from.
from opus.
Related Issues (20)
- opus 1.5.1-1 seems to be incompatible with musescore 4.2.1 HOT 1
- Question about DRED HOT 4
- Undefined reference to opus_select_arch HOT 2
- opus_repacketizer_cat sometimes fails
- Limiting the stack allocation request HOT 2
- Please update opus-tools to support new features
- Deep PLC performance on Android HOT 16
- Compiling with CMake for Windows/MSVC only supports DLL runtime libraries HOT 9
- Added the OPUS_SET_INBAND_FEC(2) option HOT 1
- Please provide an option to not depend on downloading model data HOT 10
- v1.5.2 compile warnings
- Error: Range coder state mismatch between encoder and decoder in frame 1: 0x f3b1240 vs 0x40123b0f HOT 1
- Opus.lib: 1.3.1 version crashing in some windows machines in opus_encoder_create HOT 2
- Opus 1.5.x and main compilation failing with GCC 8.5.0 HOT 1
- Opus not building on Ubuntu 24.04
- No way to turn off the PLC/FEC?
- Floating Point libraries failing to build when targeting Fixed Point support only. MSVC 2017 v141 HOT 3
- Unexpected continuous noise when combining NoLACE with DTX HOT 9
- Bug: The decoded dred_offset < 0 HOT 1
- How can I verify if FEC is working? I am not hearing any changes with fec enabled vs disabled with 30% packet loss HOT 2
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 opus.