AndreRH / hangover

Hangover runs simple Win32 applications on arm64 Linux
GNU Lesser General Public License v2.1
1.26k stars 92 forks source link

Compiling Error using Dockerfile.android - Step 13 (Error 127) #21

Closed noea4 closed 5 years ago

noea4 commented 5 years ago
Step 13/13 : RUN make -C /root/hangover -f Makefile.android
 ---> Running in f65b1b391e43
make: Entering directory `/root/hangover'
cd freetype ; NOCONFIGURE=1 ./autogen.sh
/bin/sh: 1: ./autogen.sh: not found
make: *** [freetype/builds/unix/configure] Error 127
make: Leaving directory `/root/hangover'
The command '/bin/sh -c make -C /root/hangover -f Makefile.android' returned a non-zero code: 2

I'm using Windows 10 Pro in order to use Docker for this method. I used Git Bash to get the repository, initalize and update the submodules, and then used PowerShell to use the Docker commands to run the Dockerfile.android. This is as far as it will let me get before erroring out.

Trass3r commented 5 years ago

Could be Windows line endings and/or file permission problem. Might be easier to clone with WSL git.

noea4 commented 5 years ago

I attempted to use WSL git (using Powershell as the terminal since I'm also using it for Docker as well) and re-cloned the repository. Unfortunately this did not fix the error.

stefand commented 5 years ago

You forgot to download the freetype git submodule. That will probably affect other submodules as well.

noea4 commented 5 years ago

Doesn't the git submodule unit and got submodule update already do this?? I know that I got the submodules before I attempted to use the Docker command.

noea4 commented 5 years ago

I decided to delete the repository on my computer and re-clone it. I can confirm that the submodules did all download the way they were supposed to.

Cloning into 'C:/Users/andth/hangover/freetype'...
Cloning into 'C:/Users/andth/hangover/glib'...
Cloning into 'C:/Users/andth/hangover/libxslt'...
Cloning into 'C:/Users/andth/hangover/libpng'...
Cloning into 'C:/Users/andth/hangover/wine'...
Cloning into 'C:/Users/andth/hangover/libxml2'...
Cloning into 'C:/Users/andth/hangover/qemu'...
Submodule path 'freetype': checked out '86bc8a95056c97a810986434a3f268cbe67f2902'
Submodule path 'glib': checked out '8ffa7ee78c124568a0726bc95d79138dec36c3ee'
Submodule path 'libpng': checked out 'a54a0562c53daf2d627f1631be0dd6531cca1694'
Submodule path 'libxml2': checked out '18890f471c420411aa3c989e104d090966ec9dbf'
Submodule path 'libxslt': checked out '8307b072adb86c8064897f4c5e12e5ae142f3bff'
Submodule path 'qemu': checked out '172ed1617953fdcb6227c72e8f6acd25ad3e1535'
Submodule path 'wine': checked out '89265c65e59aecfa85c95ab2056e6e43a5f4abd6'

I am still seeing the same error. I looked into the repository location and opened the freetype folder and the autogen.sh script does exist in that folder. The only thing I see that stands out when re-examining the error is: /bin/sh: 1: ./autogen.sh: not found

Edit: My previous hunch got me no where. I'm unsure where to go from this point.

AndreRH commented 5 years ago

I also think it could be permissions related. Simply don't use Windows for development things

noea4 commented 5 years ago

I decided to finally do something I have been meaning to do and installed a Linux distro on my external hard drive for cases like this. After doing this and installing all the necessary packages, I cloned the repository again, initialized and updated the submodules, and ran the build file via Docker. I can confirm that it worked via Linux, specifically using Ubuntu 18.10. I'm currently now attempting to extract the apk (Seems even running the command with sudo results in me not having permission to use the file, although this might be posted in a separate issue if I can't figure this out for myself).