georgmartius / vid.stab

Video stabilization library
http://public.hronopik.de/vid.stab/
Other
838 stars 110 forks source link

Build failure on macOS: src/serialize.c: error: byteswap.h: No such file or directory #121

Closed barracuda156 closed 1 year ago

barracuda156 commented 1 year ago
:info:build /usr/bin/gcc-4.2 -DDISABLE_ORC -Dvidstab_EXPORTS  -pipe -Os -DNDEBUG -I/opt/local/include -std=gnu99 -arch ppc -mmacosx-version-min=10.6 -fPIC   -Wall -Wno-pointer-sign -fPIC -MD -MT CMakeFiles/vidstab.dir/src/serialize.c.o -MF CMakeFiles/vidstab.dir/src/serialize.c.o.d -o CMakeFiles/vidstab.dir/src/serialize.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libvidstab/libvidstab/work/vid.stab-1.1.1/src/serialize.c
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libvidstab/libvidstab/work/vid.stab-1.1.1/src/serialize.c:42:22: error: byteswap.h: No such file or directory
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libvidstab/libvidstab/work/vid.stab-1.1.1/src/serialize.c: In function ‘readInt16’:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libvidstab/libvidstab/work/vid.stab-1.1.1/src/serialize.c:94: warning: implicit declaration of function ‘__bswap_16’
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libvidstab/libvidstab/work/vid.stab-1.1.1/src/serialize.c: In function ‘readInt32’:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libvidstab/libvidstab/work/vid.stab-1.1.1/src/serialize.c:102: warning: implicit declaration of function ‘__bswap_32’
:info:build make[2]: *** [CMakeFiles/vidstab.dir/src/serialize.c.o] Error 1
barracuda156 commented 1 year ago

It probably makes a wrong assumption of Clang being the only compiler on macOS, and then uses wrong assumptions for GCC in result. Seen a similar error with another port.

UPD. Okay, this is the problem: https://github.com/georgmartius/vid.stab/blob/90c76aca2cb06c3ff6f7476a7cd6851b39436656/src/serialize.c#L41-L42 It unconditionally includes a non-existent on macOS header.