Hello,
now that lzma-sdk in Fedora rawhide is no longer ancient, I tried using
it with mame. Unfortunately, I got a number of undefined references when
linking:
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `std::array<std::unique_ptr<util::(anonymous
namespace)::m7z_file_impl, std::default_delete<util::(anonymous
namespace)::m7z_file_impl> >, 8ul>::~array()':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0x3d4):
undefined reference to `SzArEx_Free'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `util::(anonymous namespace)::m7z_file_impl::~m7z_file_impl()':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0x4df):
undefined reference to `SzArEx_Free'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `util::(anonymous namespace)::m7z_file_impl::~m7z_file_impl()':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0x5f7):
undefined reference to `SzArEx_Free'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `util::(anonymous
namespace)::m7z_file_impl::close(std::unique_ptr<util::(anonymous
namespace)::m7z_file_impl, std::default_delete<util::(anonymous
namespace)::m7z_file_impl> >&&)':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0xa09):
undefined reference to `SzArEx_Free'
/usr/bin/ld:
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0xa27):
undefined reference to `SzArEx_Free'
/usr/bin/ld:
../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:
more undefined references to `SzArEx_Free' follow
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `util::(anonymous
namespace)::m7z_file_wrapper::decompress(void*, unsigned long)':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:473:(.text+0xdb4):
undefined reference to `SzArEx_Extract'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `util::m7z_file_cache_clear()':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0x1428):
undefined reference to `SzArEx_Free'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `util::(anonymous namespace)::m7z_file_impl::initialize()':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:376:(.text+0x176a):
undefined reference to `SzArEx_Init'
/usr/bin/ld:
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:378:(.text+0x178e):
undefined reference to `SzArEx_Open'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `util::archive_file::open_7z(std::basic_string_view<char,
std::char_traits<char> >, std::unique_ptr<util::archive_file,
std::default_delete<util::archive_file> >&)':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:320:(.text+0x1f1f):
undefined reference to `SzAlloc'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `m7z_file_impl':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:320:(.text+0x1f27):
undefined reference to `SzAllocTemp'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::_M_data() const':
/usr/include/c++/13/bits/basic_string.h:223:(.text+0x1f3d): undefined
reference to `SzFree'
/usr/bin/ld: /usr/include/c++/13/bits/basic_string.h:223:(.text+0x1f44):
undefined reference to `SzFreeTemp'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `m7z_file_impl':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:328:(.text+0x2055):
undefined reference to `LookToRead2_CreateVTable'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `util::archive_file::open_7z(std::basic_string_view<char,
std::char_traits<char> >, std::unique_ptr<util::archive_file,
std::default_delete<util::archive_file> >&)':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0x2209):
undefined reference to `SzArEx_Free'
/usr/bin/ld:
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0x222f):
undefined reference to `SzArEx_Free'
/usr/bin/ld:
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0x229f):
undefined reference to `SzArEx_Free'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `std::__uniq_ptr_impl<util::archive_file,
std::default_delete<util::archive_file> >::reset(util::archive_file*)':
/usr/include/c++/13/bits/unique_ptr.h:208:(.text+0x23d2): undefined
reference to `SzAlloc'
/usr/bin/ld: /usr/include/c++/13/bits/unique_ptr.h:208:(.text+0x23da):
undefined reference to `SzAllocTemp'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function
`util::archive_file::open_7z(std::unique_ptr<util::random_read,
std::default_delete<util::random_read> >&&,
std::unique_ptr<util::archive_file,
std::default_delete<util::archive_file> >&)':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:652:(.text+0x23f0):
undefined reference to `SzFree'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `std::__uniq_ptr_impl<util::archive_file,
std::default_delete<util::archive_file> >::reset(util::archive_file*)':
/usr/include/c++/13/bits/unique_ptr.h:209:(.text+0x23fe): undefined
reference to `SzFreeTemp'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function
`util::archive_file::open_7z(std::unique_ptr<util::random_read,
std::default_delete<util::random_read> >&&,
std::unique_ptr<util::archive_file,
std::default_delete<util::archive_file> >&)':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:328:(.text+0x265b):
undefined reference to `LookToRead2_CreateVTable'
/usr/bin/ld:
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0x29af):
undefined reference to `SzArEx_Free'
/usr/bin/ld:
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0x29ef):
undefined reference to `SzArEx_Free'
/usr/bin/ld:
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:143:(.text+0x2a1f):
undefined reference to `SzArEx_Free'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `util::(anonymous namespace)::m7z_file_impl::search(int,
unsigned int, std::basic_string_view<char, std::char_traits<char> >,
bool, bool, bool)':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:558:(.text+0x2b01):
undefined reference to `SzArEx_GetFileNameUtf16'
/usr/bin/ld: ../../../../linux_gcc/bin/x64/Release/libutils.a(un7z.o):
in function `make_utf8_name':
/builddir/build/BUILD/mame-mame0257/build/projects/sdl/mame/gmake-linux/../../../../../src/lib/util/un7z.cpp:560:(.text+0x2b32):
undefined reference to `SzArEx_GetFileNameUtf16'
/usr/bin/ld:
/usr/lib/gcc/x86_64-redhat-linux/13/../../../../lib64/liblzmasdk.so:
undefined reference to `MtCoder_Code'
/usr/bin/ld:
/usr/lib/gcc/x86_64-redhat-linux/13/../../../../lib64/liblzmasdk.so:
undefined reference to `MtCoder_Destruct'
/usr/bin/ld:
/usr/lib/gcc/x86_64-redhat-linux/13/../../../../lib64/liblzmasdk.so:
undefined reference to `MtCoder_Construct'
/usr/bin/ld:
/usr/lib/gcc/x86_64-redhat-linux/13/../../../../lib64/liblzmasdk.so:
undefined reference to `MtProgressThunk_CreateVTable'
collect2: error: ld returned 1 exit status
Is it a problem with lzma-sdk not shipping those? Or is mame using
private functions? Thanks for the feedback.
Best regards,
Julian
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue