uclouvain/openjpeg

Trying to build for devKitPro Nintendo Switch gives an error on the compilation/build process

Opened this issue · 0 comments

Expected behavior and actual behavior.

Wanting to build openjpeg for Nintendo Switch via devKitPro, but it fails with "undefined reference" errors,

Steps to reproduce the problem.

$ make
[  2%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/thread.o
[  4%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/bio.o
[  6%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/cio.o
[  8%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/dwt.o
[ 10%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/event.o
[ 12%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/ht_dec.o
[ 14%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/image.o
[ 17%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/invert.o
[ 19%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/j2k.o
[ 21%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/jp2.o
[ 23%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/mct.o
[ 25%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/mqc.o
[ 27%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/openjpeg.o
[ 29%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/opj_clock.o
[ 31%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/pi.o
[ 34%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/t1.o
[ 36%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/t2.o
[ 38%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/tcd.o
[ 40%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/tgt.o
[ 42%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/function_list.o
[ 44%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/opj_malloc.o
[ 46%] Building C object src/lib/openjp2/CMakeFiles/openjp2.dir/sparse_array.o
[ 48%] Linking C static library ../../../bin/libopenjp2.a
[ 48%] Built target openjp2
[ 51%] Building C object src/bin/jp2/CMakeFiles/opj_decompress.dir/opj_decompress.o
[ 53%] Building C object src/bin/jp2/CMakeFiles/opj_decompress.dir/convert.o
In file included from D:/msys64/home/joao2/Downloads/openjpeg-2.5.0/src/bin/jp2/convert.c:43:
D:/msys64/home/joao2/Downloads/openjpeg-2.5.0/src/bin/jp2/convert.c: In function 'skip_white':
D:/msys64/home/joao2/Downloads/openjpeg-2.5.0/src/bin/jp2/convert.c:1501:25: warning: array subscript has type 'char' [-Wchar-subscripts]
 1501 |             if (isspace(*s)) {
      |                         ^~
D:/msys64/home/joao2/Downloads/openjpeg-2.5.0/src/bin/jp2/convert.c: In function 'skip_int':
D:/msys64/home/joao2/Downloads/openjpeg-2.5.0/src/bin/jp2/convert.c:1525:22: warning: array subscript has type 'char' [-Wchar-subscripts]
 1525 |         if (!isdigit(*s)) {
      |                      ^~
D:/msys64/home/joao2/Downloads/openjpeg-2.5.0/src/bin/jp2/convert.c: In function 'skip_idf':
D:/msys64/home/joao2/Downloads/openjpeg-2.5.0/src/bin/jp2/convert.c:1549:21: warning: array subscript has type 'char' [-Wchar-subscripts]
 1549 |         if (isalpha(*s) || *s == '_') {
      |                     ^~
[ 55%] Building C object src/bin/jp2/CMakeFiles/opj_decompress.dir/convertbmp.o
[ 57%] Building C object src/bin/jp2/CMakeFiles/opj_decompress.dir/index.o
[ 59%] Building C object src/bin/jp2/CMakeFiles/opj_decompress.dir/__/common/color.o
[ 61%] Building C object src/bin/jp2/CMakeFiles/opj_decompress.dir/__/common/opj_getopt.o
[ 63%] Building C object src/bin/jp2/CMakeFiles/opj_decompress.dir/convertpng.o
[ 65%] Linking C executable ../../../bin/opj_decompress.elf
D:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld.exe: CMakeFiles/opj_decompress.dir/opj_decompress.o: in function `opj_clock':
D:/msys64/home/joao2/Downloads/openjpeg-2.5.0/src/bin/jp2/opj_decompress.c:1013:(.text.startup.main+0x224): undefined reference to `getrusage'
D:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld.exe: D:/msys64/home/joao2/Downloads/openjpeg-2.5.0/src/bin/jp2/opj_decompress.c:1013:(.text.startup.main+0x350): undefined reference to `getrusage'
D:/msys64/opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld.exe: ../../../bin/libopenjp2.a(thread.o): in function `opj_get_num_cpus':
D:/msys64/home/joao2/Downloads/openjpeg-2.5.0/src/lib/openjp2/thread.c:303:(.text.opj_get_num_cpus+0xc): undefined reference to `sysconf'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [src/bin/jp2/CMakeFiles/opj_decompress.dir/build.make:197: bin/opj_decompress.elf] Error 1
make[1]: *** [CMakeFiles/Makefile2:248: src/bin/jp2/CMakeFiles/opj_decompress.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

build-switch.zip
CMakeCache.txt
LICENSE.txt

Operating system

Windows 10 Home 64-bit, on MSYS2

openjpeg version

2.5.0