meganz / sdk

MEGA C++ SDK
BSD 2-Clause "Simplified" License
1.33k stars 510 forks source link

Help Building #2582

Open hbtalha opened 3 years ago

hbtalha commented 3 years ago

Could someone assist me building this sdk, I have been wanting to use it for months but I still can't build it, on windows. Every time I try I face so many error that makes me give up. I have tried build it with Visual Studio, msys2 and right now with QtCreator, in all of them, countless errors come up and every time I find a "solution" other errors come up, or even that "solution" brings more errors. It's quite fustrating, for a beginner I guess. I have followed all the instructions in all the README files I found.

It would be great if someone could assist right from the very start and maybe, this far-fetch but, could it be over TeamViewer or Discord.

mattw-mega commented 3 years ago

for windows, please use the build_from_scratch.cmake script, follow the instructions at the top of it. Please make sure you get the latest version of the SDK first. thanks

hbtalha commented 3 years ago

I tried that as well, I got stuck at :

....
The following packages will be built and installed:
    asio[core]:x64-windows-mega -> 1.18.0
Error: vcpkg has crashed; no additional details are available.
The source line is C:\a\1\s\src\vcpkg\vcpkgpaths.cpp(1104)

Command failed with result code 1. Command was: vcpkg install --triplet x64-windows-mega asio
CMake Error at build_from_scratch.cmake:66 (message):
  Execute_process command had nonzero exit code 1 with error
Call Stack (most recent call first):
  build_from_scratch.cmake:110 (execute_checked_command)

FULL

hbatalha@HBatalha:/mnt/d/Downloads/sdk-master/contrib/cmake$ cmake.exe -DTRIPLET=x64-windows-mega -DEXTRA_ARGS="-DUSE_PDFIUM=0" -P build_from_scratch.cmake
-- Applying extra args: -DUSE_PDFIUM=0
-- Building for triplet x64-windows-mega with SDK dir D:/Downloads/sdk-master/contrib/cmake/../..
'C:/msys64/mingw64/bin/cmake.exe' '-S' 'D:/Downloads/sdk-master/contrib/cmake/build3rdParty' '-B' 'D:/Downloads/sdk-mast
er/contrib/cmake/../../../3rdparty_sdk' '-DCMAKE_BUILD_TYPE=Release'
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19043.
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Downloads/3rdparty_sdk
'C:/msys64/mingw64/bin/cmake.exe' '--build' 'D:/Downloads/sdk-master/contrib/cmake/../../../3rdparty_sdk' '--config' 'Re
lease'
Microsoft (R) Build Engine version 16.10.2+857e5a733 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  build3rdParty.vcxproj -> D:\Downloads\3rdparty_sdk\Release\build3rdParty.exe
'D:/Downloads/sdk-master/contrib/cmake/../../../3rdparty_sdk/Release/build3rdParty.exe' '--setup' '--removeunusedports'
'--nopkgconfig' '--ports' 'D:/Downloads/sdk-master/contrib/cmake/preferred-ports-sdk.txt' '--triplet' 'x64-windows-mega'
 '--sdkroot' 'D:/Downloads/sdk-master/contrib/cmake/../..'
Got patch "curl-empty-bindir.patch" for curl
Skipping readline/8.0 because osx
Got patch "freeimage-bool-typedef-and-xbm-msvc-compiler-bug.patch" for freeimage
Got patch "openexr-no-python.patch" for openexr
Got patch "jasper-no-freeglut.patch" for jasper
Copying triplet from SDK: x64-windows-mega
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\asio
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for asio from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\bzip2
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for bzip2 from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\c-ares
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for c-ares from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\cryptopp
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for cryptopp from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\curl
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for curl from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Applying patch D:/Downloads/sdk-master/contrib/cmake/../..\contrib\cmake\vcpkg_patches\curl-empty-bindir.patch for port
curl
Executing: git apply --verbose --directory=ports/curl D:/Downloads/sdk-master/contrib/cmake/../..\contrib\cmake\vcpkg_pa
tches\curl-empty-bindir.patch
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\ffmpeg
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for ffmpeg from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\freeimage
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for freeimage from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Applying patch D:/Downloads/sdk-master/contrib/cmake/../..\contrib\cmake\vcpkg_patches\freeimage-bool-typedef-and-xbm-ms
vc-compiler-bug.patch for port freeimage
Executing: git apply --verbose --directory=ports/freeimage D:/Downloads/sdk-master/contrib/cmake/../..\contrib\cmake\vcp
kg_patches\freeimage-bool-typedef-and-xbm-msvc-compiler-bug.patch
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\gtest
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for gtest from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\icu
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for icu from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\jasper
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for jasper from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Applying patch D:/Downloads/sdk-master/contrib/cmake/../..\contrib\cmake\vcpkg_patches\jasper-no-freeglut.patch for port
 jasper
Executing: git apply --verbose --directory=ports/jasper D:/Downloads/sdk-master/contrib/cmake/../..\contrib\cmake\vcpkg_
patches\jasper-no-freeglut.patch
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\jxrlib
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for jxrlib from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\lcms
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for lcms from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\libffi
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for libffi from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\libjpeg-turbo
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for libjpeg-turbo from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\liblzma
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for liblzma from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\libmediainfo
Copying port for libmediainfo from SDK customized port 19.09
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\libpng
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for libpng from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\libraw
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for libraw from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\libsodium
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for libsodium from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\libuv
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for libuv from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\libwebp
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for libwebp from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\libzen
Copying port for libzen from SDK customized port 0.4.37
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\openexr
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for openexr from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Applying patch D:/Downloads/sdk-master/contrib/cmake/../..\contrib\cmake\vcpkg_patches\openexr-no-python.patch for port
openexr
Executing: git apply --verbose --directory=ports/openexr D:/Downloads/sdk-master/contrib/cmake/../..\contrib\cmake\vcpkg
_patches\openexr-no-python.patch
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\opengl
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for opengl from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\openjpeg
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for openjpeg from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\openssl
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for openssl from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\openssl-unix
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for openssl-unix from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\openssl-windows
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for openssl-windows from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\pcre
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for pcre from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\sqlite3
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for sqlite3 from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\tiff
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for tiff from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Removing D:\Downloads\3rdparty_sdk\vcpkg\ports\zlib
Executing: git checkout --force --quiet c303dd024e2dc03a0665ddffbb12a1077933e649
Copying port for zlib from vcpkg commit c303dd024e2dc03a0665ddffbb12a1077933e649
Performing no-op substitution of vcpkg_fixup_pkgconfig and PKGCONFIG to skip pkgconfig integration/checks
'D:/Downloads/sdk-master/contrib/cmake/../../../3rdparty_sdk/Release/build3rdParty.exe' '--build' '--ports' 'D:/Download
s/sdk-master/contrib/cmake/preferred-ports-sdk.txt' '--triplet' 'x64-windows-mega' '--sdkroot' 'D:/Downloads/sdk-master/
contrib/cmake/../..'
Skipping readline/8.0 because osx
Executing: vcpkg install --triplet x64-windows-mega asio
Computing installation plan...
The following packages will be built and installed:
    asio[core]:x64-windows-mega -> 1.18.0
Error: vcpkg has crashed; no additional details are available.
The source line is C:\a\1\s\src\vcpkg\vcpkgpaths.cpp(1104)

Command failed with result code 1. Command was: vcpkg install --triplet x64-windows-mega asio
CMake Error at build_from_scratch.cmake:66 (message):
  Execute_process command had nonzero exit code 1 with error
Call Stack (most recent call first):
  build_from_scratch.cmake:110 (execute_checked_command)
kenkit commented 2 years ago

Don't use vcpkg, just use cmake directly, make sure you have downloaded the thirdparty dependancies. If you still don't manage find me on discord, I will directly help you.

mattw-mega commented 2 years ago

vcpkg.exe is of course vcpkg by microsoft, strange that it would crash. However I see you're trying to build under mingw, no need for that, just build in regular cmd shell or powershell. Probably vcpkg will behave better in those. thanks

hbtalha commented 2 years ago

@kenkit hi, I would like direct help on discord since I am still not able to get it done. I guess I have sent you a friend request on discord, my id is HBatalha#2402

kenkit commented 2 years ago

@hbtalha adding you just incase you couldn't find me, I assume you never managed to fix the problem.

hbtalha commented 2 years ago

@kenkit yeah I couldn't fix the problem. I just accepted your request on Discord.