Open Angu0083 opened 2 years ago
Hi, Augu0083 I also meet this issue today. Did you solve it? If yes, could you please share your method for that?
Me have this problem too on manjaro arm64
Just tried to build mega-cmd on manjaro arm64. I configured with:
./configure --build=aarch64-unknown-linux-gnu --disable-dependency-tracking
Subsequently make
had a couple of issues with ffmpeg:
src/gfx/freeimage.cpp: In member function 'bool mega::GfxProcFreeImage::readbitmapFfmpeg(mega::FileAccess*, const mega::LocalP
ath&, int)':
src/gfx/freeimage.cpp:239:44: error: invalid conversion from 'const AVCodec*' to 'AVCodec*' [-fpermissive]
239 | AVCodec* decoder = avcodec_find_decoder(codecId);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
| |
| const AVCodec*
src/gfx/freeimage.cpp:256:18: error: 'AVStream' {aka 'struct AVStream'} has no member named 'skip_to_keyframe'
256 | videoStream->skip_to_keyframe = true;
| ^~~~~~~~~~~~~~~~
the former was fixed just changing line 239 to
AVCodec* decoder = const_cast<AVCodec*>(avcodec_find_decoder(codecId));
and for the latter (which has an open issue #2576 on the mega sdk repo) I just commented out line 256. After those two changes build completed successfully and it seems like mega-cmd runs correctly.
I used the following commands on my Pi4B Fedora aarch64 setup
git clone https://github.com/meganz/MEGAcmd.git
cd MEGAcmd && git submodule update --init --recursive
sh autogen.sh
./configure --build=aarch64-unknown-linux-gnu --disable-dependency-tracking
make
make install
root@deb:/tmp/MEGAcmd# make make all-recursive make[1]: Entering directory '/tmp/MEGAcmd' Making all in sdk make[2]: Entering directory '/tmp/MEGAcmd/sdk' make all-recursive make[3]: Entering directory '/tmp/MEGAcmd/sdk' Making all in include make[4]: Entering directory '/tmp/MEGAcmd/sdk/include' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/tmp/MEGAcmd/sdk/include' make[4]: Entering directory '/tmp/MEGAcmd/sdk' CXXLD examples/megacli /usr/bin/ld: ./src/.libs/libmega.so: undefined reference to, std::allocator > const, unsigned char const)'
/usr/bin/ld: ./src/.libs/libmega.so: undefined reference to
mega::EdDSA::TLV_KEY[abi:cxx11]' /usr/bin/ld: ./src/.libs/libmega.so: undefined reference to
mega::EdDSA::~EdDSA()' /usr/bin/ld: ./src/.libs/libmega.so: undefined reference tomega::EdDSA::signKey(unsigned char const*, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, unsigned long)' /usr/bin/ld: ./src/.libs/libmega.so: undefined reference to
mega::ECDH::ECDH(unsigned char)' /usr/bin/ld: ./src/.libs/libmega.so: undefined reference to `mega::EdDSA::verifyKey(unsigned char const, unsigned long long, std::__cxx11::basic_string<char, std::char_traitsmega::ECDH::TLV_KEY[abi:cxx11]' /usr/bin/ld: ./src/.libs/libmega.so: undefined reference to
mega::EdDSA::EdDSA(mega::PrnGen&, unsigned char*)' /usr/bin/ld: ./src/.libs/libmega.so: undefined reference to `mega::ECDH::~ECDH()' collect2: error: ld returned 1 exit status make[4]: [Makefile:2037: examples/megacli] Error 1 make[4]: Leaving directory '/tmp/MEGAcmd/sdk' make[3]: [Makefile:3383: all-recursive] Error 1 make[3]: Leaving directory '/tmp/MEGAcmd/sdk' make[2]: [Makefile:1534: all] Error 2 make[2]: Leaving directory '/tmp/MEGAcmd/sdk' make[1]: [Makefile:1471: all-recursive] Error 1 make[1]: Leaving directory '/tmp/MEGAcmd' make: *** [Makefile:707: all] Error 2