Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiling issues on Debian Bullseye (11.5) #543

Open
FoxWhiskey opened this issue Sep 30, 2022 · 9 comments
Open

Compiling issues on Debian Bullseye (11.5) #543

FoxWhiskey opened this issue Sep 30, 2022 · 9 comments

Comments

@FoxWhiskey
Copy link

FoxWhiskey commented Sep 30, 2022

Hi everyone,

I tried to compile vzlogger and noticed several issues. Prior any compiling attempts I cloned, compiled and successfully installed libsml from the volkszaehler-repository as requested by the installation manual.

  1. Similarly to HMAC is deprecated in OpenSSL 3, causing the build to fail (was: VZLogger won't compile on Ubuntu 22.04.1 LTS) #535, a clone of the master tree does not compile on Debian Bullseye (11.5).
  2. I followed @maxberger 's advice and cloned his fork instead. As I prefer to install software from *deb - packages rather than from install-scripts (uninstall issue), I continued with the build debian packages instructions and found the following:
    • apt build-dep ./ requires sudo
    • apt build-dep ./ then prompts the user to install libsml-dev from the debian-repositories - which I declined
    • debuild returns with an error, concerning Unmet build dependencies: libsml-dev (>= 0.1.1) and aborts. I find this confusing, as the freshly installed version of libsml is 1.0
    • debuild -p generates the *.deb - packages, however the build process exits with an error at the end, complaining about missing secret keys
  3. sudo dpkg --install vzlogger_0.3.5_amd64.deb fails with an error as libsml1 is not installed

Most likely I did a couple of things the wrong way. But this is how far I got, consulting the available information/documentation.
Any help appreciated!

@maxberger
Copy link
Contributor

Hi Bernie,

  1. Agreed. This is why I patched this in the first place.

2a) apt requires sudo: Yes, apt always requires sudo. You are installing something on your system, so you need to be root
2b/c) you declined installing the -dev package. -dev packages are needed to compile software which depends on the library., this is why the compile step fails. Install the -dev package.
2d) missing keys: I am not sure about this issue. Could you please try again with the -dev package installed, and then see what happens? I think this one can be ignored, but not sure.
3) looks like you need to instal llibsml1: sudo apt install libsml1

hth!

@FoxWhiskey
Copy link
Author

Servus and thanks for the quick reply!

As a matter of fact, I had some spare time yesterday evening and managed to get vzlogger compiled as a deb-package, that installs and runs as expected!!
I pretty much went for a trial-and-error approach and found that the source of the issue was mostly user-induced, in addition to some ambiguous passages (IMHO!) in the installation manual...

So here's what I've done/found and sorry in advance, if my comments are probably a bit too formal...

  • I assumed, that sudo was necessary, but in other paragraphs of the manual sudo is stated where required, but it is not in build as debian package.
  • paragraph building libsml states that the debian-repository for libsml-dev is no longer maintained and it is necessary to build an updated version. It is unclear, what libsml.git actually provides: libsml or libsml-dev...
  • when running sudo apt build-dep ./ in a later step, build-dep returns dependencies to libsml1 and libsml-dev (which I declined during my first try, assuming that manually compiling libsml would suffice).
    So, apparently libsml.git builds libsml-dev, but libsml1 is required nonetheless. libsml1 is also missing in the list of required debian-packages.
  • debuild without the -p switch still returns the version conflict message (see above), but debuild -p actually does the job.
  • even with libsml1 installed, the errors concerning missing keys are still present but do not prevent the building process.

If I'm incorrect with my assumptions concerning libsml* - packages, please shine some light on it... ;-)

Best regards,
-bernie

@r00t-
Copy link
Contributor

r00t- commented Nov 23, 2022

So, apparently libsml.git builds libsml-dev, but libsml1 is required nonetheless. libsml1 is also missing in the list of required debian-packages.

i think this is natural and expected.
a -dev package will always depend on the library it provides headers for, so the library does not need to be installled explicitly,
and both packages are naturally built from the same source.

@r00t-
Copy link
Contributor

r00t- commented Jan 3, 2023

@FoxWhiskey:
can you please provide a link to the "debian packages instructions" you are refering to?

@FoxWhiskey
Copy link
Author

@FoxWhiskey: can you please provide a link to the "debian packages instructions" you are refering to?

Done!
Check my initial post, I've updated it with a link.
On the referred page, scroll down to chapter Build as Debian-paket.

@r00t-
Copy link
Contributor

r00t- commented Jan 3, 2023

@r00t-
Copy link
Contributor

r00t- commented Jan 3, 2023

i'm afraid those instructions are hopelessly outdated.
specifically, the libsml package in debian is still based on the old dailab repository and won't have any of the improvements we added in the last five years.
(see long thread here: volkszaehler/libsml#72 ).
so those instructions would have to be updated to first build the libsml package from source and install it. (this should ideally be easy to do.)
getting our version into debian is the subject of above thread, and seems to be stalled still.

@FoxWhiskey
Copy link
Author

FoxWhiskey commented Jan 4, 2023

Hmm. Probably we're approaching the source of my confusion :-)

The instructions clearly state to clone libsml from github and build it from source (, which I did) ! However, an additional package called libsml1 is still needed to compile vzlogger (see third bullet point in my second post).

Basically, I'm wondering about the context of libsml, libsml1 and libsml(1?)-dev...
(being aware, that a -dev package provides headers for the library itself).

Maybe it would be helpful to update the instructions accordingly.

Note: sorry, I have closed this issue accidentally... please reopen, if possible...

@FoxWhiskey FoxWhiskey reopened this Jan 4, 2023
@narc-Ontakac2
Copy link
Collaborator

Untested debian packagages for a recent libsml can be found here http://www.heute-morgen.de/debian/packages/.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants