Frogging-Family / wine-tkg-git

The wine-tkg build systems, to create custom Wine and Proton builds
899 stars 167 forks source link

proton-tkg cp: target '/home/user/wine-tkg-git/proton-tkg/proton_dist_tmp/share/': No such file or directory #1281

Open rabaimorp opened 1 month ago

rabaimorp commented 1 month ago

Tried to build with ntsync, on arch linux. Full config: proton-tkg.cfg.txt There was a separation between the error messages, and the actual fail, so at first I wasn't even sure if it failed.

../wine-git/dlls/ntdll/unix/sync.c: In function ‘linux_query_semaphore_obj’:
../wine-git/dlls/ntdll/unix/sync.c:680:23: error: ‘NTSYNC_IOC_SEM_READ’ undeclared (first use in this function); did you mean ‘NTSYNC_IOC_SEM_POST’?
  680 |     ret = ioctl( obj, NTSYNC_IOC_SEM_READ, &args );
      |                       ^~~~~~~~~~~~~~~~~~~
      |                       NTSYNC_IOC_SEM_POST
../wine-git/dlls/ntdll/unix/sync.c:680:23: note: each undeclared identifier is reported only once for each function it appears in
../wine-git/dlls/ntdll/unix/sync.c: In function ‘linux_set_event_obj’:
../wine-git/dlls/ntdll/unix/sync.c:710:23: error: ‘NTSYNC_IOC_EVENT_SET’ undeclared (first use in this function); did you mean ‘NTSYNC_IOC_CREATE_SEM’?
  710 |     ret = ioctl( obj, NTSYNC_IOC_EVENT_SET, &prev );
      |                       ^~~~~~~~~~~~~~~~~~~~
      |                       NTSYNC_IOC_CREATE_SEM
../wine-git/dlls/ntdll/unix/sync.c: In function ‘linux_reset_event_obj’:
../wine-git/dlls/ntdll/unix/sync.c:739:23: error: ‘NTSYNC_IOC_EVENT_RESET’ undeclared (first use in this function); did you mean ‘NTSYNC_IOC_SEM_POST’?
  739 |     ret = ioctl( obj, NTSYNC_IOC_EVENT_RESET, &prev );
      |                       ^~~~~~~~~~~~~~~~~~~~~~
      |                       NTSYNC_IOC_SEM_POST
../wine-git/dlls/ntdll/unix/sync.c: In function ‘linux_pulse_event_obj’:
../wine-git/dlls/ntdll/unix/sync.c:768:23: error: ‘NTSYNC_IOC_EVENT_PULSE’ undeclared (first use in this function); did you mean ‘NTSYNC_IOC_SEM_POST’?
  768 |     ret = ioctl( obj, NTSYNC_IOC_EVENT_PULSE, &prev );
      |                       ^~~~~~~~~~~~~~~~~~~~~~
      |                       NTSYNC_IOC_SEM_POST
../wine-git/dlls/ntdll/unix/sync.c: In function ‘linux_query_event_obj’:
../wine-git/dlls/ntdll/unix/sync.c:794:12: error: variable ‘args’ has initializer but incomplete type
  794 |     struct ntsync_event_args args = {0};
      |            ^~~~~~~~~~~~~~~~~
../wine-git/dlls/ntdll/unix/sync.c:794:38: warning: excess elements in struct initializer
  794 |     struct ntsync_event_args args = {0};
      |                                      ^
../wine-git/dlls/ntdll/unix/sync.c:794:38: note: (near initialization for ‘args’)
../wine-git/dlls/ntdll/unix/sync.c:794:30: error: storage size of ‘args’ isn’t known
  794 |     struct ntsync_event_args args = {0};
      |                              ^~~~
../wine-git/dlls/ntdll/unix/sync.c:797:23: error: ‘NTSYNC_IOC_EVENT_READ’ undeclared (first use in this function); did you mean ‘NTSYNC_IOC_CREATE_SEM’?
  797 |     ret = ioctl( obj, NTSYNC_IOC_EVENT_READ, &args );
      |                       ^~~~~~~~~~~~~~~~~~~~~
      |                       NTSYNC_IOC_CREATE_SEM
../wine-git/dlls/ntdll/unix/sync.c:794:30: warning: unused variable ‘args’ [-Wunused-variable]
  794 |     struct ntsync_event_args args = {0};
      |                              ^~~~
../wine-git/dlls/ntdll/unix/sync.c: In function ‘linux_release_mutex_obj’:
../wine-git/dlls/ntdll/unix/sync.c:824:12: error: variable ‘args’ has initializer but incomplete type
  824 |     struct ntsync_mutex_args args = {0};
      |            ^~~~~~~~~~~~~~~~~
../wine-git/dlls/ntdll/unix/sync.c:824:38: warning: excess elements in struct initializer
  824 |     struct ntsync_mutex_args args = {0};
      |                                      ^
../wine-git/dlls/ntdll/unix/sync.c:824:38: note: (near initialization for ‘args’)
../wine-git/dlls/ntdll/unix/sync.c:824:30: error: storage size of ‘args’ isn’t known
  824 |     struct ntsync_mutex_args args = {0};
      |                              ^~~~
../wine-git/dlls/ntdll/unix/sync.c:828:23: error: ‘NTSYNC_IOC_MUTEX_UNLOCK’ undeclared (first use in this function)
  828 |     ret = ioctl( obj, NTSYNC_IOC_MUTEX_UNLOCK, &args );
      |                       ^~~~~~~~~~~~~~~~~~~~~~~
../wine-git/dlls/ntdll/unix/sync.c:824:30: warning: unused variable ‘args’ [-Wunused-variable]
  824 |     struct ntsync_mutex_args args = {0};
      |                              ^~~~
../wine-git/dlls/ntdll/unix/sync.c: In function ‘linux_query_mutex_obj’:
../wine-git/dlls/ntdll/unix/sync.c:861:12: error: variable ‘args’ has initializer but incomplete type
  861 |     struct ntsync_mutex_args args = {0};
      |            ^~~~~~~~~~~~~~~~~
../wine-git/dlls/ntdll/unix/sync.c:861:38: warning: excess elements in struct initializer
  861 |     struct ntsync_mutex_args args = {0};
      |                                      ^
../wine-git/dlls/ntdll/unix/sync.c:861:38: note: (near initialization for ‘args’)
../wine-git/dlls/ntdll/unix/sync.c:861:30: error: storage size of ‘args’ isn’t known
  861 |     struct ntsync_mutex_args args = {0};
      |                              ^~~~
../wine-git/dlls/ntdll/unix/sync.c:864:23: error: ‘NTSYNC_IOC_MUTEX_READ’ undeclared (first use in this function)
  864 |     ret = ioctl( obj, NTSYNC_IOC_MUTEX_READ, &args );
      |                       ^~~~~~~~~~~~~~~~~~~~~
../wine-git/dlls/ntdll/unix/sync.c:861:30: warning: unused variable ‘args’ [-Wunused-variable]
  861 |     struct ntsync_mutex_args args = {0};
      |                              ^~~~
../wine-git/dlls/ntdll/unix/sync.c: In function ‘linux_wait_objs’:
../wine-git/dlls/ntdll/unix/sync.c:955:12: error: variable ‘args’ has initializer but incomplete type
  955 |     struct ntsync_wait_args args = {0};
      |            ^~~~~~~~~~~~~~~~
../wine-git/dlls/ntdll/unix/sync.c:955:37: warning: excess elements in struct initializer
  955 |     struct ntsync_wait_args args = {0};
      |                                     ^
../wine-git/dlls/ntdll/unix/sync.c:955:37: note: (near initialization for ‘args’)
../wine-git/dlls/ntdll/unix/sync.c:955:29: error: storage size of ‘args’ isn’t known
  955 |     struct ntsync_wait_args args = {0};
      |                             ^~~~
../wine-git/dlls/ntdll/unix/sync.c:972:23: error: ‘NTSYNC_WAIT_REALTIME’ undeclared (first use in this function)
  972 |         args.flags |= NTSYNC_WAIT_REALTIME;
      |                       ^~~~~~~~~~~~~~~~~~~~
../wine-git/dlls/ntdll/unix/sync.c:984:19: error: ‘NTSYNC_IOC_WAIT_ANY’ undeclared (first use in this function)
  984 |         request = NTSYNC_IOC_WAIT_ANY;
      |                   ^~~~~~~~~~~~~~~~~~~
../wine-git/dlls/ntdll/unix/sync.c:986:19: error: ‘NTSYNC_IOC_WAIT_ALL’ undeclared (first use in this function)
  986 |         request = NTSYNC_IOC_WAIT_ALL;
      |                   ^~~~~~~~~~~~~~~~~~~
../wine-git/dlls/ntdll/unix/sync.c:955:29: warning: unused variable ‘args’ [-Wunused-variable]
  955 |     struct ntsync_wait_args args = {0};
      |                             ^~~~
../wine-git/dlls/ntdll/unix/sync.c:1012:1: warning: control reaches end of non-void function [-Wreturn-type]
 1012 | }
      | ^
make: *** [Makefile:111701: dlls/ntdll/unix/sync.o] Error 1
sed: can't read /home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/proton_dist/share/wine/wine.inf: No such file or directory
 => winemenubuilder.exe disabled
'/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/wine-tkg-scripts/wine-tkg' -> '/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/proton_dist/bin/wine-tkg'
cp: cannot create regular file '/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/proton_dist/bin/wine-tkg': No such file or directory
'/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/wine-tkg-scripts/wine64-tkg' -> '/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/proton_dist/bin/wine64-tkg'
cp: cannot create regular file '/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/proton_dist/bin/wine64-tkg': No such file or directory
'/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/wine-tkg-scripts/wine-tkg-interactive' -> '/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/proton_dist/bin/wine-tkg-interactive'
cp: cannot create regular file '/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/proton_dist/bin/wine-tkg-interactive': No such file or directory
'/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/last_build_config.log' -> '/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/proton_dist/share/wine/wine-tkg-config.txt'
cp: cannot create regular file '/home/rabaimor/Downloads/git/wine-tkg-git/wine-tkg-git/proton_dist/share/wine/wine-tkg-config.txt': No such file or directory
 => ##########################################################################################################################
 => 
 => To enable esync, export WINEESYNC=1 and increase file descriptors limits in /etc/security/limits.conf to use ESYNC goodness ;)
 => 
 => https://raw.githubusercontent.com/zfigura/wine/esync/README.esync
 => 
 => ##########################################################################################################################
 => Removed BIG_UGLY_FROGMINER - Ribbit
 => Removed Proton-tkg token - Valve Ribbit
 => exit cleanup done
######
mingw-w64 gcc found
ODeadlock commented 1 month ago

I appear to be having the same issue on a fresh clone of the repo.

Tk-Glitch commented 1 month ago

You're missing the ntsync header file. See https://aur.archlinux.org/packages/ntsync-header . Arch's linux-api-headers package shipping the upstream (and thus broken) ntsync header leads to this annoyance. Will be fixed once ntsync gets upstreamed.

rabaimorp commented 1 month ago

You're missing the ntsync header file. See https://aur.archlinux.org/packages/ntsync-header . Arch's linux-api-headers package shipping the upstream (and thus broken) ntsync header leads to this annoyance. Will be fixed once ntsync gets upstreamed.

I've built my linux-tkg kernel with the ntsync option, so I thought that should cover me.

Tk-Glitch commented 1 month ago

Sadly it's not the case anymore since 6.10, which ships with a ntsync.h header file (which is incomplete, leading to your issue). linux-tkg patches the header file on the kernel side, but can't put it where it should be for wine without conflicting with the linux-api-headers package (see https://github.com/Frogging-Family/linux-tkg/issues/980). We could do like the AUR package and just nuke the file from linux-api-headers and replace it with ours, but at least for now it was deemed too hacky.