Skip to content
This repository has been archived by the owner on Sep 22, 2022. It is now read-only.

Packaging errors #197

Closed
tieugene opened this issue May 12, 2021 · 3 comments
Closed

Packaging errors #197

tieugene opened this issue May 12, 2021 · 3 comments
Labels
not-a-bug external issue and/or not a libmdbx's bug wontfix

Comments

@tieugene
Copy link

Trying to package subj into RH rpm (Fedora 34).

  1. Main source (libmdbx-0.10.0.tar.gz) + make [all]:
/usr/bin/which: no ioarena in (/usr/lib64/ccache:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
  MDBX_BUILD_OPTIONS =-DNDEBUG=1
## TIP: Use `make options` to listing available build options.
  CFLAGS   =-std=gnu11 -O2 -g -Wall -Werror -Wextra -Wpedantic -ffunction-sections -fPIC -fvisibility=hidden -pthread -Wno-error=attributes 
  CXXFLAGS =-std=gnu++20 -O2 -g -Wall -Werror -Wextra -Wpedantic -ffunction-sections -fPIC -fvisibility=hidden -pthread -Wno-error=attributes
  LDFLAGS  =-Wl,--gc-sections,-z,relro,-O1  -lrt  -pthread
## TIP: Use `make help` to listing available targets.
make: *** No rule to make target 'git_directory/HEAD', needed by 'src/version.c'.  Stop.
error: Bad exit status from /var/tmp/rpm-tmp.VTDar7 (%build)
  1. Main source + cmake:
CMake Error at CMakeLists.txt:82 (message):
  Please use libmdbx as a git-submodule or the amalgamated source code

-- Configuring incomplete, errors occurred!
error: Bad exit status from /var/tmp/rpm-tmp.Hc0JJK (%build)
  1. Amalgamated source + make/cmake:
make: *** No rule to make target 'check'.  Stop.
error: Bad exit status from /var/tmp/rpm-tmp.k1paID (%check)

and:

File not found: .../BUILDROOT/libmdbx-0.10.0-1.fc34.x86_64/usr/lib64/libmdbx.so

4…∞. Library no versioned, wrong build instruction, no documentation in sources and instruction how to build it, etc.

PS. not good idea to name pre-alpha-release-candidate as "release".

@erthink
Copy link
Owner

erthink commented May 12, 2021

Oh, indeed, it is not explicitly stated anywhere that the tarballs/zips automatically generated by github should not be used.
This is my mistake, sorry.
So I just added a corresponding note to the end of the latest release description.


Briefly, you should use (i.e. clone) the git repository or the tarballs of amalgamated source code.
https://github.com/erthink/libmdbx#source-code-embedding

The amalgamated sources includes only the library code with built-in version information, but not any tests nor corresponding make's targets.
Thus, the amalgamated sources are "frozen" and ready for use, but ones are not intended for debugging or developing the library itself.

On the other hand, the git repository provides version information for a build and contains the full source code, including tests.
Contrary, the tarballs/zips automatically generated by github don't contain version information and (thus) shouldn't be used.
Unfortunately, there is no way to disable ones in any way yet.

@erthink
Copy link
Owner

erthink commented May 12, 2021

Library no versioned

libtool-style versioning will be provided from the 1.0 release, but for now it's overkill.

@erthink
Copy link
Owner

erthink commented May 12, 2021

Wait for https://github.community/t/disable-tarball/139966

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
not-a-bug external issue and/or not a libmdbx's bug wontfix
Projects
None yet
Development

No branches or pull requests

2 participants