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 on Alpine #22

Closed
frafall opened this issue May 30, 2022 · 3 comments
Closed

Compiling on Alpine #22

frafall opened this issue May 30, 2022 · 3 comments

Comments

@frafall
Copy link

frafall commented May 30, 2022

I've compiled cornrow on Docker with an Alpine image, during this I found some issues addressed in the attached patch, also included the dockerfile builder. All tests have been on 0.8.1.

It basically boils down to a few issues

  1. Use of "uint" in thirdparty/libcornrow/src/audio/Peq.cpp, assume size_t should be appropriate
  2. Use of "uint" throughout cornrowd/src/config/Persistence.cpp, i typedef'ed it to "unsigned int"
  3. Alpine uses an external lib for execinfo (not maintained and in disorder)
  4. Use of __bswap_16 vs __bswap16 in thirdparty/libcornrow/src/audio/AlsaSink.cpp
  5. Unused variable in thirdparty/libcornrow/src/loguru/loguru.cpp(530)
char buff[256] __attribute__((unused));
  1. Missing library in thirdparty/qtzeroprops/thirdparty/QtZeroConf/CMakeLists.txt, need avahi-common. This hit me in building (Docker) for debian bullseye as well.
   target_link_libraries(QtZeroConf PRIVATE avahi-client)
+  target_link_libraries(QtZeroConf PRIVATE avahi-common)

And that's about it, very nice and clean code :)

Now, the Alpine execinfo is in disorder and does core dump on calling backtrace.

-Morten

alpine.zip

@mincequi
Copy link
Owner

Thanks a lot for your feedback. This is very valuable.

I have one request for you. Could you open a regular pull request? This would help setting up a proper review, because i have some remarks :)

Thanks a lot!

-Manuel

@mincequi mincequi closed this as not planned Won't fix, can't repro, duplicate, stale Oct 26, 2022
@amigthea
Copy link

amigthea commented May 9, 2024

I've compiled cornrow on Docker with an Alpine image, during this I found some issues addressed in the attached patch, also included the dockerfile builder. All tests have been on 0.8.1.

It basically boils down to a few issues

1. Use of "uint" in thirdparty/libcornrow/src/audio/Peq.cpp, assume size_t should be appropriate

2. Use of "uint" throughout cornrowd/src/config/Persistence.cpp, i typedef'ed it to "unsigned int"

3. Alpine uses an external lib for execinfo (not maintained and in disorder)

4. Use of __bswap_16 vs __bswap16 in thirdparty/libcornrow/src/audio/AlsaSink.cpp

5. Unused variable in thirdparty/libcornrow/src/loguru/loguru.cpp(530)
char buff[256] __attribute__((unused));
7. Missing library in thirdparty/qtzeroprops/thirdparty/QtZeroConf/CMakeLists.txt, need avahi-common. This hit me in building (Docker) for debian bullseye as well.
   target_link_libraries(QtZeroConf PRIVATE avahi-client)
+  target_link_libraries(QtZeroConf PRIVATE avahi-common)

And that's about it, very nice and clean code :)

Now, the Alpine execinfo is in disorder and does core dump on calling backtrace.

-Morten

alpine.zip

can I ask you to share your docker alpine configuration? I was looking to build that too, did you had success with that? thank you

@frafall
Copy link
Author

frafall commented May 14, 2024 via email

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

3 participants