cornrow icon indicating copy to clipboard operation
cornrow copied to clipboard

Compiling on Alpine

Open frafall opened this issue 2 years ago • 1 comments

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

frafall avatar May 30 '22 12:05 frafall

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 avatar May 30 '22 20:05 mincequi

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

amigthea avatar May 09 '24 12:05 amigthea

I did not fully get this to work, but I've attached my patches and Dockerfile. TBH it's been to long to I dont really remember why I put it to rest.

regards, Morten

Den 2024-05-09 14:57, skrev amigthea:

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 [1]

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

-- Reply to this email directly, view it on GitHub [2], or unsubscribe [3]. You are receiving this because you authored the thread.Message ID: @.***>

Links:

[1] https://github.com/mincequi/cornrow/files/8798317/alpine.zip [2] https://github.com/mincequi/cornrow/issues/22#issuecomment-2102610706 [3] https://github.com/notifications/unsubscribe-auth/AB6WKROHFCOLXCWA577I6NDZBNXFFAVCNFSM5XKOFX3KU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMJQGI3DCMBXGA3A

frafall avatar May 14 '24 10:05 frafall