zoeyjodon / moonlight-N3DS

Gamestream client for the New 3DS
https://github.com/moonlight-stream/moonlight-embedded/wiki
GNU General Public License v3.0
126 stars 5 forks source link

Current build instructions not working #42

Closed nhobson99 closed 5 months ago

nhobson99 commented 5 months ago

Describe the bug Trying to build from source, I always get an error while building the docker image.

To Reproduce Steps to reproduce the behavior:

  1. Clone the repository or download as zip
  2. Install Docker
  3. In Windows Terminal with Docker installed, run the given command (docker build --network=host -t moonlight-n3ds .)

Expected behavior Successful build of the Docker container to continue with step 2 of the build

Screenshots

PS C:\Users\nearly-headless\Downloads\moonlight-N3DS> docker build --network=host -t moonlight-n3ds .
[+] Building 0.3s (13/16)                                                                                                                                                                         docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                                        0.0s
 => => transferring dockerfile: 2.06kB                                                                                                                                                                      0.0s
 => [internal] load metadata for docker.io/devkitpro/devkitarm:latest                                                                                                                                       0.2s
 => [internal] load .dockerignore                                                                                                                                                                           0.0s
 => => transferring context: 81B                                                                                                                                                                            0.0s
 => [ 1/12] FROM docker.io/devkitpro/devkitarm:latest@sha256:c582c1e1e0c72649ea51fcc22ff5f8e5d7565d90fecbc862ce214b9e47f6087a                                                                               0.0s
 => [internal] load build context                                                                                                                                                                           0.0s
 => => transferring context: 9.93kB                                                                                                                                                                         0.0s
 => CACHED [ 2/12] RUN ln -snf /usr/share/zoneinfo/Asia/Dubai /etc/localtime && echo Asia/Dubai > /etc/timezone                                                                                             0.0s
 => CACHED [ 3/12] RUN apt-get update && apt-get install -y     build-essential     curl     gdb     lsb-release     libreadline-dev     software-properties-common     wget     unzip     libc6     git    0.0s
 => CACHED [ 4/12] RUN pip install -U git+https://github.com/LumaTeam/luma3ds_exception_dump_parser.git                                                                                                     0.0s
 => CACHED [ 5/12] RUN apt-get install -y     libssl-dev     libopus-dev     libasound2-dev     libudev-dev     libavahi-client-dev     libcurl4-openssl-dev     libevdev-dev     libexpat1-dev     libpul  0.0s
 => CACHED [ 6/12] RUN wget https://github.com/Epicpkmn11/bannertool/releases/download/v1.2.2/bannertool.zip &&     unzip bannertool.zip -d /bannertool &&     cp /bannertool/linux-x86_64/bannertool /usr  0.0s
 => CACHED [ 7/12] RUN wget https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.18.3/makerom-v0.18.3-ubuntu_x86_64.zip &&     unzip makerom-v0.18.3-ubuntu_x86_64.zip -d /usr/local/bin &&   0.0s
 => CACHED [ 8/12] COPY . /moonlight-N3DS                                                                                                                                                                   0.0s
 => ERROR [ 9/12] RUN source /etc/profile.d/devkit-env.sh && /moonlight-N3DS/3ds/build-expat.sh                                                                                                             0.0s
------
 > [ 9/12] RUN source /etc/profile.d/devkit-env.sh && /moonlight-N3DS/3ds/build-expat.sh:
0.031 +++ dirname -- /moonlight-N3DS/3ds/build-expat.sh
0.032 ++ cd -- /moonlight-N3DS/3ds
0.032 ++ pwd
0.032 + SCRIPT_DIR=/moonlight-N3DS/3ds
0.032 + ROOT_DIR=/moonlight-N3DS/3ds/..
0.032 + EXPAT_DIR=/moonlight-N3DS/3ds/../third_party/libexpat
0.032 + cd /moonlight-N3DS/3ds/../third_party/libexpat/expat
0.032 /moonlight-N3DS/3ds/build-expat.sh: line 9: cd: /moonlight-N3DS/3ds/../third_party/libexpat/expat: No such file or directory
------
Dockerfile:64
--------------------
  62 |     COPY . /moonlight-N3DS
  63 |
  64 | >>> RUN source /etc/profile.d/devkit-env.sh && /moonlight-N3DS/3ds/build-expat.sh
  65 |     RUN source /etc/profile.d/devkit-env.sh && /moonlight-N3DS/3ds/build-openssl.sh
  66 |     RUN source /etc/profile.d/devkit-env.sh && /moonlight-N3DS/3ds/build-ffmpeg.sh
--------------------
ERROR: failed to solve: process "/bin/bash -c source /etc/profile.d/devkit-env.sh && /moonlight-N3DS/3ds/build-expat.sh" did not complete successfully: exit code: 1

View build details: docker-desktop://dashboard/build/default/default/vi8lrtcisyd28r9z0g8u0f03q

Desktop (please complete the following information):

Additional context I'm new to Docker so not sure if this is user error or a problem with the current commits. I also tried the default branch first to see if that would work.

RoblKyogre commented 5 months ago

third_party/libexpat is a git submodule, which doesn't get downloaded by default when cloning the repo (you can specify --recursive when cloning it to download it though). Can you try running git submodule update --init --recursive in the root directory of the repo and seeing if that fixes it?

nhobson99 commented 5 months ago

That worked immediately, thank you! Git submodules never occur to me.