runfalk / synology-wireguard

WireGuard support for some Synology NAS drives
MIT License
943 stars 132 forks source link

Apollolake and DS218+ wont compile #152

Open joelstitch opened 2 years ago

joelstitch commented 2 years ago

I am trying to compile synology-wireguard on my Synology DS218+ that uses apollolake. Trying to install the provided SPK does not work, actually non of them work. So I tried compiling it but haven't been successful. Here are the logs I get when running the command with root:

sudo docker run --rm --privileged --env PACKAGE_ARCH=apollolake --env DSM_VER=7.0 -v $(pwd)/artifacts:/result_spk synobuild
WireGuard version:        1.0.20211208
WireGuard tools version:  1.0.20210914
libmnl version:           1.0.5

Cloning into 'pkgscripts-ng'...
[2022-05-14 16:05:34,604] INFO: Download... https://dataupdate7.synology.com/toolchain/v1/get_download_list?identify=toolkit&version=7.0&platform=base
[2022-05-14 16:05:49,417] INFO: Download... https://dataupdate7.synology.com/toolchain/v1/get_download_list?identify=toolkit&version=7.0&platform=apollolake
[2022-05-14 16:06:00,236] INFO: tar -xhf /toolkit_tarballs/base_env-7.0.txz -C /build_env/ds.apollolake-7.0
[2022-05-14 16:08:27,911] INFO: tar -xhf /toolkit_tarballs/ds.apollolake-7.0.env.txz -C /build_env/ds.apollolake-7.0
[2022-05-14 16:09:24,867] INFO: tar -xhf /toolkit_tarballs/ds.apollolake-7.0.dev.txz -C /build_env/ds.apollolake-7.0
[2022-05-14 16:10:16,362] INFO: All task finished.
--2022-05-14 16:10:16--  https://crt.sh/?d=8395
Resolving crt.sh (crt.sh)... 91.199.212.73, 2a0e:ac00:c7:d449::5bc7:d449
Connecting to crt.sh (crt.sh)|91.199.212.73|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1200 (1.2K) [application/pkix-cert]
Saving to: 'DSTRootCAX3_Extended.crt'

     0K .                                                     100%  675M=0s

2022-05-14 16:10:17 (675 MB/s) - 'DSTRootCAX3_Extended.crt' saved [1200/1200]

============================================================
                   Parse argument result
------------------------------------------------------------
platforms     : apollolake
env_section   : default
env_version   : 7.0
dep_level     : 1
parallel_proj : 1
branch        : master
suffix        :
collect       : True
collecter     : True
link          : True
update_link   : False
build         : True
install       : True
only_install  : False
parallel      : 2
build_opt     : -J
install_opt   :
print_log     : True
tee           : True
sdk_ver       : 6.2
package       : WireGuard

Processing [7.0-42176]: apollolake
============================================================
              Start to run "Traverse project"
------------------------------------------------------------
Projects: WireGuard

============================================================
                Start to run "Link Project"
------------------------------------------------------------
Link /pkgscripts-ng -> /build_env/ds.apollolake-7.0/pkgscripts-ng
Link //source/WireGuard -> /build_env/ds.apollolake-7.0/source/WireGuard

============================================================
                Start to run "Build Package"
------------------------------------------------------------
[apollolake] env PackageName=WireGuard /pkgscripts-ng/SynoBuild --apollolake -c --min-sdk 6.2 -J WireGuard
/pkgscripts-ng/include/check: line 93: /dev/null: Permission denied
ERROR: This script must be run as root
Traceback (most recent call last):
  File "//pkgscripts-ng/include/python/exec_env.py", line 76, in execute
    output = commandrunner.run(cmd, display=display, **kwargs)
  File "//pkgscripts-ng/include/python/commandrunner.py", line 39, in run
    raise RunShellFailed(p.returncode, cmd, output)
commandrunner.RunShellFailed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "//pkgscripts-ng/include/python/parallel.py", line 15, in __call__
    result = self.__callable(*args, **kwargs)
  File "//pkgscripts-ng/include/python/pkgcommon.py", line 191, in run_command
    env.execute(cmd, display=len(self.env_config.platforms)
  File "//pkgscripts-ng/include/python/exec_env.py", line 79, in execute
    raise EnvError(
exec_env.EnvError: ('Execute chroot /build_env/ds.apollolake-7.0 env PackageName=WireGuard /pkgscripts-ng/SynoBuild --apollolake -c --min-sdk 6.2 -J WireGuard failed', '/pkgscripts-ng/include/check: line 93: /dev/null: Permission denied\nERROR: This script must be run as root')
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
  File "//pkgscripts-ng/include/python/exec_env.py", line 76, in execute
    output = commandrunner.run(cmd, display=display, **kwargs)
  File "//pkgscripts-ng/include/python/commandrunner.py", line 39, in run
    raise RunShellFailed(p.returncode, cmd, output)
commandrunner.RunShellFailed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.10/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "//pkgscripts-ng/include/python/parallel.py", line 15, in __call__
    result = self.__callable(*args, **kwargs)
  File "//pkgscripts-ng/include/python/pkgcommon.py", line 191, in run_command
    env.execute(cmd, display=len(self.env_config.platforms)
  File "//pkgscripts-ng/include/python/exec_env.py", line 79, in execute
    raise EnvError(
exec_env.EnvError: ('Execute chroot /build_env/ds.apollolake-7.0 env PackageName=WireGuard /pkgscripts-ng/SynoBuild --apollolake -c --min-sdk 6.2 -J WireGuard failed', '/pkgscripts-ng/include/check: line 93: /dev/null: Permission denied\nERROR: This script must be run as root')
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "//pkgscripts-ng/PkgCreate.py", line 184, in <module>
    main(sys.argv[1:])
  File "//pkgscripts-ng/PkgCreate.py", line 177, in main
    packer.pack_package()
  File "//pkgscripts-ng/include/python/pkguniform.py", line 437, in pack_package
    worker.execute()
  File "//pkgscripts-ng/include/python/pkgcommon.py", line 86, in execute
    self._process_output(self._run(*argv))
  File "//pkgscripts-ng/include/python/pkgcommon.py", line 212, in _run
    return doPlatformParallel(self.run_command, self.env_config.platforms)
  File "//pkgscripts-ng/include/python/parallel.py", line 60, in doPlatformParallel
    output[item] = results[item].get()
  File "/usr/lib/python3.10/multiprocessing/pool.py", line 771, in get
    raise self._value
exec_env.EnvError: ('Execute chroot /build_env/ds.apollolake-7.0 env PackageName=WireGuard /pkgscripts-ng/SynoBuild --apollolake -c --min-sdk 6.2 -J WireGuard failed', '/pkgscripts-ng/include/check: line 93: /dev/null: Permission denied\nERROR: This script must be run as root')
Build log
=========
/pkgscripts-ng/include/check: line 93: /dev/null: Permission denied
ERROR: This script must be run as root
Install log
===========
cat: /build_env/ds.apollolake-7.0/logs.install: No such file or directory
spcqike commented 2 years ago

i can't help you with your compiling error.

but, what .spk's have you tried? @ben-ba compiled some .spk which work for other users. https://github.com/runfalk/synology-wireguard/issues/93#issuecomment-922057387

if they don't work for you, what error do you get?

ben-ba commented 2 years ago

You haven't enough rights. The error is that you have no permission to access /dev/null. So either you don't really run the docker command with sudo or you have limited sudo rights. Check your sudoers file under /etc.

joelstitch commented 2 years ago

I tried those and the apollolake one worked for me. Not sure what was causing the issues besides what's in the log I posted.

teffalump commented 2 years ago

https://github.com/runfalk/synology-wireguard/issues/88#issuecomment-1026355820

The /dev mount needs to be in the build.