Cpasjuste / pemu

GNU General Public License v3.0
443 stars 50 forks source link

Error when compiling Switch version #256

Closed superxyj2021 closed 1 year ago

superxyj2021 commented 1 year ago

When I follow the tutorial and start compiling the switch version, I get the following error.

[100%] Building C object pfbneo/CMakeFiles/pfbneo.dir//cores/fbneo/src/dep/libs/lib7z/Lzma2Dec.o [100%] Building C object pfbneo/CMakeFiles/pfbneo.dir//cores/fbneo/src/dep/libs/lib7z/LzmaDec.o [100%] Building C object pfbneo/CMakeFiles/pfbneo.dir/deps/m68kops.o /home/superxyj/pemu/cores/fbneo/src/intf/interface.cpp: In function 'INT32 IntInfoAddStringInterface(InterfaceInfo, TCHAR)': /home/superxyj/pemu/cores/fbneo/src/intf/interface.cpp:72:17: warning: 'char strncpy(char, const char, size_t)' specified bound 260 equals destination size [-Wstringop-truncation] 72 | _tcsncpy(pInfo->ppszInterfaceSettings[i], szString, MAX_PATH); /home/superxyj/pemu/cores/fbneo/src/intf/interface.cpp: In function 'INT32 IntInfoAddStringModule(InterfaceInfo, TCHAR)': /home/superxyj/pemu/cores/fbneo/src/intf/interface.cpp:92:17: warning: 'char strncpy(char, const char, size_t)' specified bound 260 equals destination size [-Wstringop-truncation] 92 | _tcsncpy(pInfo->ppszModuleSettings[i], szString, MAX_PATH); [100%] Linking CXX executable pfbneo /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavfilter.a(vf_pp.o): in function pp_uninit': vf_pp.c:(.text.unlikely.pp_uninit+0x18): undefined reference topp_free_mode' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: vf_pp.c:(.text.unlikely.pp_uninit+0x34): undefined reference to pp_free_context' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavfilter.a(vf_pp.o): in functionpp_init': vf_pp.c:(.text.unlikely.pp_init+0x1c): undefined reference to pp_get_mode_by_name_and_quality' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavfilter.a(vf_pp.o): in functionpp_filter_frame': vf_pp.c:(.text.pp_filter_frame+0xd8): undefined reference to pp_postprocess' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavfilter.a(vf_pp.o): in functionpp_config_props': vf_pp.c:(.text.pp_config_props+0x4c): undefined reference to pp_get_context' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavcodec.a(libdav1d.o): in functionlibdav1d_flush': libdav1d.c:(.text.libdav1d_flush+0xc): undefined reference to dav1d_data_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_flush+0x18): undefined reference todav1d_flush' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavcodec.a(libdav1d.o): in function libdav1d_close': libdav1d.c:(.text.unlikely.libdav1d_close+0x14): undefined reference todav1d_data_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.unlikely.libdav1d_close+0x1c): undefined reference to dav1d_close' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavcodec.a(libdav1d.o): in functionlibdav1d_receive_frame': libdav1d.c:(.text.libdav1d_receive_frame+0x98): undefined reference to dav1d_data_wrap' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x100): undefined reference todav1d_data_wrap_user_data' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x118): undefined reference to dav1d_send_data' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x138): undefined reference todav1d_data_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x15c): undefined reference to dav1d_get_picture' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x1a8): undefined reference todav1d_get_event_flags' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x4d4): undefined reference to dav1d_picture_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x500): undefined reference todav1d_picture_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x59c): undefined reference to dav1d_picture_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x5d8): undefined reference todav1d_picture_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x5e4): undefined reference to dav1d_picture_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavcodec.a(libdav1d.o):libdav1d.c:(.text.libdav1d_receive_frame+0x5f8): more undefined references todav1d_picture_unref' follow /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavcodec.a(libdav1d.o): in function libdav1d_receive_frame': libdav1d.c:(.text.libdav1d_receive_frame+0x618): undefined reference todav1d_data_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x62c): undefined reference to dav1d_picture_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.libdav1d_receive_frame+0x6ac): undefined reference todav1d_data_unref' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavcodec.a(libdav1d.o): in function libdav1d_parse_extradata': libdav1d.c:(.text.unlikely.libdav1d_parse_extradata+0x9c): undefined reference todav1d_parse_sequence_header' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libavcodec.a(libdav1d.o): in function libdav1d_init': libdav1d.c:(.text.unlikely.libdav1d_init+0x1c): undefined reference todav1d_version' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.unlikely.libdav1d_init+0x3c): undefined reference to dav1d_default_settings' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: libdav1d.c:(.text.unlikely.libdav1d_init+0x178): undefined reference todav1d_open' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libmpv.a(aframe.c.21.o): in function mp_aframe_pool_allocate': /home/davem/projects/devkitpro/pacman-packages/switch/libmpv/src/mpv-0.33.0/build/../audio/aframe.c:639: undefined reference toav_mallocz_array' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /opt/devkitpro/portlibs/switch/lib/libmpv.a(f_lavfi.c.21.o): in function is_single_media_only': /home/davem/projects/devkitpro/pacman-packages/switch/libmpv/src/mpv-0.33.0/build/../filters/f_lavfi.c:949: undefined reference toavfilter_pad_count' /opt/devkitpro/devkitA64/bin/../lib/gcc/aarch64-none-elf/13.2.0/../../../../aarch64-none-elf/bin/ld: /home/davem/projects/devkitpro/pacman-packages/switch/libmpv/src/mpv-0.33.0/build/../filters/f_lavfi.c:949: undefined reference to `avfilter_pad_count' collect2: error: ld returned 1 exit status make[3]: [pfbneo/CMakeFiles/pfbneo.dir/build.make:15025: pfbneo/pfbneo] Error 1 make[2]: [CMakeFiles/Makefile2:460: pfbneo/CMakeFiles/pfbneo.dir/all] Error 2 make[1]: [CMakeFiles/Makefile2:380: pfbneo/CMakeFiles/pfbneo_switch_release.dir/rule] Error 2 make: [Makefile:209: pfbneo_switch_release] Error 2

superxyj2021 commented 1 year ago

Solved, downgrade switch-ffmpeg to 4.3.1 and won't get an error!

Cpasjuste commented 1 year ago

Thanks for the report mate, this will be fixed when this PR is merged: https://github.com/devkitPro/pacman-packages/pull/311