在 mac 14.2 上编译 WINE(前缀)时出现问题

问题描述 投票:0回答:1

我最近决定尝试为我的 MacBook 编译 Wine。我按照原始网站的说明进行操作。我已经有另一个(Wine Devel),我从 Homebrew 安装了它,所以我删除了它。然后安装所有依赖项(以及其他东西)。并开始编译。

首先我

cd /Users/<user>/Downloads/wine-9.2/wine64_build
。 然后开始于
../configure --enable-archs=i386,x86_64 CC="ccache gcc" CROSSCC="ccache i686-w64-mingw32-gcc" --without-v4l2 --without-wayland --without-inotify --without-udev --without-oss --without-capi --without-sane --without-gssapi

我的结果很大,所以我缩短了一点:

checking build system type... aarch64-apple-darwin23.1.0
checking host system type... aarch64-apple-darwin23.1.0
checking whether make sets $(MAKE)... yes
checking for gcc... ccache gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether ccache gcc accepts -g... yes
checking for ccache gcc option to enable C11 features... none needed
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... unsupported
checking for g++ option to enable C++98 features... unsupported
checking for cpp... cpp
checking for ld... ld
checking for the directory containing the Wine tools... 
checking for flex... flex
checking whether flex is recent enough... yes
checking for bison... bison
checking whether bison is recent enough... yes
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking whether ln -s works... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ldconfig... true
checking for msgfmt... msgfmt
checking for pkg-config... pkg-config
checking whether msgfmt supports contexts... yes
checking for i386_set_ldt in -li386... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for CL/cl.h... no
checking for EGL/egl.h... no
checking for OpenCL/opencl.h... yes
checking for arpa/inet.h... yes
checking for arpa/nameser.h... yes
checking for asm/types.h... no
checking for asm/user.h... no
checking for elf.h... no
checking for float.h... yes
checking for gettext-po.h... yes
checking for libproc.h... yes
checking for link.h... no
checking for linux/cdrom.h... no
checking for linux/filter.h... no
checking for linux/hdreg.h... no
checking for linux/hidraw.h... no
checking for linux/input.h... no
checking for linux/ioctl.h... no
checking for linux/major.h... no
checking for linux/param.h... no
checking for linux/serial.h... no
checking for linux/types.h... no
checking for linux/ucdrom.h... no
checking for linux/wireless.h... no
checking for lwp.h... no
checking for mach-o/loader.h... yes
checking for mach/mach.h... yes
checking for machine/cpu.h... no
checking for machine/sysarch.h... no
checking for mntent.h... no
checking for netdb.h... yes
checking for netinet/in.h... yes
checking for netinet/in_systm.h... yes
checking for netinet/tcp.h... yes
checking for netinet/tcp_fsm.h... yes
checking for pcap/pcap.h... yes
checking for port.h... no
checking for pwd.h... yes
checking for sched.h... yes
checking for scsi/scsi.h... no
checking for scsi/scsi_ioctl.h... no
checking for scsi/sg.h... no
checking for stdint.h... (cached) yes
checking for sys/attr.h... yes
checking for sys/auxv.h... no
checking for sys/cdio.h... no
checking for sys/epoll.h... no
checking for sys/event.h... yes
checking for sys/extattr.h... no
checking for sys/filio.h... yes
checking for sys/ipc.h... yes
checking for sys/link.h... no
checking for sys/modem.h... no
checking for sys/mtio.h... no
checking for sys/param.h... yes
checking for sys/prctl.h... no
checking for sys/ptrace.h... yes
checking for sys/queue.h... yes
checking for sys/random.h... yes
checking for sys/resource.h... yes
checking for sys/scsiio.h... no
checking for sys/shm.h... yes
checking for sys/signal.h... yes
checking for sys/socketvar.h... yes
checking for sys/sockio.h... yes
checking for sys/statvfs.h... yes
checking for sys/strtio.h... no
checking for sys/syscall.h... yes
checking for sys/sysinfo.h... no
checking for sys/times.h... yes
checking for sys/uio.h... yes
checking for sys/user.h... yes
checking for sys/utsname.h... yes
checking for sys/vnode.h... yes
checking for sys/xattr.h... yes
checking for syscall.h... no
checking for utime.h... yes
checking for valgrind/memcheck.h... no
checking for valgrind/valgrind.h... no
checking for sys/mkdev.h... no
checking for sys/sysmacros.h... no
checking whether stat file-mode macros are broken... no
checking for sys/conf.h... yes
checking for sys/mount.h... yes
checking for sys/statfs.h... no
checking for sys/user.h... (cached) yes
checking for sys/vfs.h... no
checking for sys/sysctl.h... yes
checking for netinet/ip.h... yes
checking for net/if.h... yes
checking for net/if_arp.h... yes
checking for net/if_dl.h... yes
checking for net/if_types.h... yes
checking for net/route.h... yes
checking for netinet/if_ether.h... yes
checking for netinet/in_pcb.h... yes
checking for netinet/ip_icmp.h... yes
checking for netinet/ip_var.h... yes
checking for netinet/udp.h... yes
checking for netinet6/ip6_var.h... no
checking for netipx/ipx.h... no
checking for sys/un.h... yes
checking for netinet/udp_var.h... yes
checking for netinet/icmp_var.h... yes
checking for netinet/icmp6.h... yes
checking for netinet/tcp_var.h... yes
checking for linux/ipx.h... no
checking for linux/irda.h... no
checking for linux/rtnetlink.h... no
checking for resolv.h... yes
checking for ifaddrs.h... yes
checking for sys/ucontext.h... yes
checking for sys/thr.h... no
checking for pthread_np.h... no
checking for linux/videodev2.h... no
checking for libprocstat.h... no
checking whether getxattr takes additional arguments... yes
checking for ldd... true
checking for otool... otool
checking for readelf... readelf
checking whether MTLDevice protocol supports registryID property... checking for gcc... gcc
checking whether the compiler supports GNU Objective C... yes
checking whether gcc accepts -g... yes
yes
checking for i686-w64-mingw32-gcc... i686-w64-mingw32-gcc
checking whether i686-w64-mingw32-gcc works... yes
checking whether i686-w64-mingw32-gcc supports -target i686-w64-mingw32 -fuse-ld=lld  --no-default-config... yes
checking for i686-w64-mingw32-gcc option to enable C99 features... none needed
checking whether i686-w64-mingw32-gcc supports -fno-strict-aliasing... yes
checking whether i686-w64-mingw32-gcc supports -Werror=unknown-warning-option... yes
checking whether i686-w64-mingw32-gcc supports -Werror=ignored-optimization-argument... yes
checking whether i686-w64-mingw32-gcc supports -Wdeclaration-after-statement... yes
checking whether i686-w64-mingw32-gcc supports -Wempty-body... yes
checking whether i686-w64-mingw32-gcc supports -Wignored-qualifiers... yes
checking whether i686-w64-mingw32-gcc supports -Winit-self... yes
checking whether i686-w64-mingw32-gcc supports -Wpacked-not-aligned... no
checking whether i686-w64-mingw32-gcc supports -Wpragma-pack... yes
checking whether i686-w64-mingw32-gcc supports -Wmicrosoft-enum-forward-reference... yes
checking whether i686-w64-mingw32-gcc supports -Wshift-overflow=2... no
checking whether i686-w64-mingw32-gcc supports -Wstrict-prototypes... yes
checking whether i686-w64-mingw32-gcc supports -Wtype-limits... yes
checking whether i686-w64-mingw32-gcc supports -Wunused-but-set-parameter... yes
checking whether i686-w64-mingw32-gcc supports -Wvla... yes
checking whether i686-w64-mingw32-gcc supports -Wwrite-strings... yes
checking whether i686-w64-mingw32-gcc supports -Wpointer-arith... yes
checking whether i686-w64-mingw32-gcc supports -Wlogical-op... no
checking whether i686-w64-mingw32-gcc supports -Wabsolute-value... yes
checking whether i686-w64-mingw32-gcc supports -Wenum-conversion... yes
checking whether i686-w64-mingw32-gcc supports -fno-omit-frame-pointer... yes
checking whether i686-w64-mingw32-gcc supports -mpreferred-stack-boundary=2... no
checking whether i686-w64-mingw32-gcc supports -Wl,--disable-stdcall-fixup... yes
checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc
checking whether x86_64-w64-mingw32-gcc works... yes
checking whether x86_64-w64-mingw32-gcc supports -target x86_64-w64-mingw32 -fuse-ld=lld  --no-default-config... yes
checking for x86_64-w64-mingw32-gcc option to enable C99 features... none needed
checking whether x86_64-w64-mingw32-gcc supports SEH directives... yes
checking whether x86_64-w64-mingw32-gcc supports -fno-strict-aliasing... yes
checking whether x86_64-w64-mingw32-gcc supports -Werror=unknown-warning-option... yes
checking whether x86_64-w64-mingw32-gcc supports -Werror=ignored-optimization-argument... yes
checking whether x86_64-w64-mingw32-gcc supports -Wdeclaration-after-statement... yes
checking whether x86_64-w64-mingw32-gcc supports -Wempty-body... yes
checking whether x86_64-w64-mingw32-gcc supports -Wignored-qualifiers... yes
checking whether x86_64-w64-mingw32-gcc supports -Winit-self... yes
checking whether x86_64-w64-mingw32-gcc supports -Wpacked-not-aligned... no
checking whether x86_64-w64-mingw32-gcc supports -Wpragma-pack... yes
checking whether x86_64-w64-mingw32-gcc supports -Wmicrosoft-enum-forward-reference... yes
checking whether x86_64-w64-mingw32-gcc supports -Wshift-overflow=2... no
checking whether x86_64-w64-mingw32-gcc supports -Wstrict-prototypes... yes
checking whether x86_64-w64-mingw32-gcc supports -Wtype-limits... yes
checking whether x86_64-w64-mingw32-gcc supports -Wunused-but-set-parameter... yes
checking whether x86_64-w64-mingw32-gcc supports -Wvla... yes
checking whether x86_64-w64-mingw32-gcc supports -Wwrite-strings... yes
checking whether x86_64-w64-mingw32-gcc supports -Wpointer-arith... yes
checking whether x86_64-w64-mingw32-gcc supports -Wlogical-op... no
checking whether x86_64-w64-mingw32-gcc supports -Wabsolute-value... yes
checking whether x86_64-w64-mingw32-gcc supports -Wenum-conversion... yes
checking whether x86_64-w64-mingw32-gcc supports -Wformat-overflow... no
checking whether x86_64-w64-mingw32-gcc supports -Wnonnull... yes
checking whether x86_64-w64-mingw32-gcc supports -mcx16... yes
checking whether x86_64-w64-mingw32-gcc supports -mcmodel=small... yes
checking for pthread_create... yes
checking how to run the C preprocessor... ccache gcc -E
checking for X... libraries , headers 
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... no
checking for -lX11... libX11.6.dylib
checking for -lXext... libXext.6.dylib
checking for X11/extensions/shape.h... yes
checking for X11/extensions/XInput2.h... yes
checking for X11/extensions/XShm.h... yes
checking for X11/extensions/Xfixes.h... yes
checking for X11/extensions/Xinerama.h... yes
checking for X11/extensions/Xrandr.h... yes
checking for X11/extensions/Xrender.h... yes
checking for X11/extensions/xf86vmode.h... no
checking for X11/extensions/xf86vmproto.h... yes
checking for X11/Xcursor/Xcursor.h... no
checking for X11/extensions/XInput.h... yes
checking for -lXi... libXi.6.dylib
checking for XShmQueryExtension in -lXext... yes
checking for XShapeQueryExtension in -lXext... yes
checking for -lXxf86vm... not found
checking for -lXrender... libXrender.1.dylib
checking for XRenderSetPictureTransform in -lXrender... yes
checking for XRenderCreateLinearGradient in -lXrender... yes
checking for -lXrandr... libXrandr.2.dylib
checking for -lXfixes... libXfixes.3.dylib
checking for -lXinerama... libXinerama.1.dylib
checking for X11/extensions/Xcomposite.h... no
checking for XICCallback.callback... yes
checking for XEvent.xcookie... yes
checking for -lGL... libGL.1.dylib
checking for -lOSMesa... not found
checking for pcap_init in -lpcap... yes
checking for SCardEstablishContext in -lpcsclite... no
checking for dbus/dbus.h... yes
checking for -ldbus-1... libdbus-1.3.dylib
checking for gnutls/gnutls.h... yes
checking for -lgnutls... libgnutls.30.dylib
checking for gnutls_cipher_init... yes
checking for libusb.h... yes
checking for libusb_interrupt_event_handler in -lusb-1.0... yes
checking for gphoto2-camera.h... yes
checking for gp_camera_new in -lgphoto2... yes
checking for gphoto2-port.h... yes
checking for gp_port_info_list_new in -lgphoto2_port... yes
checking for resolver library... -lresolv
checking for res_getservers... yes
checking for ft2build.h... yes
checking for -lfreetype... libfreetype.6.dylib
checking for FT_TrueTypeEngineType... yes
checking for pthread_getthreadid_np... no
checking for pulse/pulseaudio.h... yes
checking for pa_stream_is_corked in -lpulse... yes
checking for gst/gst.h... yes
checking whether gint64 defined by gst/gst.h is indeed 64-bit... yes
checking for gst_pad_new in -lgstreamer-1.0... yes
checking for snd_pcm_hw_params_get_access_mask in -lasound... no
checking for SDL.h... yes
checking for -lSDL2... libSDL2-2.0.0.dylib
checking for cups/cups.h... yes
checking for cups/ppd.h... yes
checking for -lcups... libcups.2.dylib
checking for krb5/krb5.h... yes
checking for -lkrb5... libkrb5.26.dylib
checking for -lodbc... libodbc.2.dylib
checking for -lnetapi... libnetapi.inst.dylib
checking for -lvulkan... libvulkan.1.dylib
checking whether the compiler supports -Werror=unknown-warning-option... yes
checking whether the compiler supports -Werror=unused-command-line-argument... yes
checking whether the compiler supports -Werror=ignored-optimization-argument... yes
checking whether the compiler supports -fcf-protection=none... yes
checking whether the compiler supports -fvisibility=hidden... yes
checking whether the compiler supports -fno-stack-protector... yes
checking whether the compiler supports -fno-strict-aliasing... yes
checking whether the compiler supports -Wdeclaration-after-statement... yes
checking whether the compiler supports -Wempty-body... yes
checking whether the compiler supports -Wignored-qualifiers... yes
checking whether the compiler supports -Winit-self... yes
checking whether the compiler supports -Wpacked-not-aligned... no
checking whether the compiler supports -Wpragma-pack... yes
checking whether the compiler supports -Wshift-overflow=2... no
checking whether the compiler supports -Wstrict-prototypes... yes
checking whether the compiler supports -Wtype-limits... yes
checking whether the compiler supports -Wunused-but-set-parameter... yes
checking whether the compiler supports -Wvla... yes
checking whether the compiler supports -Wwrite-strings... yes
checking whether the compiler supports -Wpointer-arith... yes
checking for broken string.h that generates warnings with -Wpointer-arith... no
checking whether the compiler supports -Wlogical-op... no
checking for flags needed for 64-bit compare-and-swap support... none needed
checking whether the compiler supports -gdwarf-4... yes
checking whether the compiler supports -fno-builtin... yes
checking whether the compiler supports -fshort-wchar... yes
checking whether the compiler supports -Wno-format... yes
checking for the need to disable Fortify... yes
checking whether CFI directives are supported in assembly code... yes
checking for library containing dlopen... none required
checking for library containing gethostbyname... none required
checking for library containing connect... none required
checking for library containing inet_aton... none required
checking for dladdr1... no
checking for dlinfo... no
checking for epoll_create... no
checking for fstatfs... yes
checking for futimens... yes
checking for futimes... yes
checking for futimesat... no
checking for getaddrinfo... yes
checking for getattrlist... yes
checking for getauxval... no
checking for getifaddrs... yes
checking for getrandom... no
checking for kqueue... yes
checking for mach_continuous_time... yes
checking for pipe2... no
checking for port_create... no
checking for posix_fadvise... no
checking for posix_fallocate... no
checking for prctl... no
checking for proc_pidinfo... yes
checking for sched_yield... yes
checking for setproctitle... no
checking for setprogname... yes
checking for sigprocmask... yes
checking for sysinfo... no
checking for tcdrain... yes
checking for thr_kill2... no
checking for sched_setaffinity... no
checking for inline... inline
checking for request_sense... no
checking for struct xinpgen... yes
checking whether we can use re-entrant gethostbyname_r Linux style... no
checking for struct msghdr.msg_accrights... no
checking for struct sockaddr_un.sun_len... yes
checking for scsireq_t.cmd... no
checking for sg_io_hdr_t.interface_id... no
checking for siginfo_t.si_fd... no
checking for struct mtget.mt_blksiz... no
checking for struct mtget.mt_gstat... no
checking for struct mtget.mt_blkno... no
checking for struct stat.st_mtim... no
checking for struct stat.st_mtimespec... yes
checking for struct stat.st_ctim... no
checking for struct stat.st_ctimespec... yes
checking for struct stat.st_atim... no
checking for struct stat.st_atimespec... yes
checking for struct stat.st_birthtime... yes
checking for struct stat.st_birthtim... no
checking for struct stat.st_birthtimespec... yes
checking for struct stat.__st_birthtime... no
checking for struct stat.__st_birthtim... no
checking for struct sockaddr_in6.sin6_scope_id... yes
checking for struct __res_state._u._ext.nscount6... no
checking for struct in6_pktinfo.ipi6_addr... yes
checking for struct ipstat.ips_total... yes
checking for struct ip_stats.ips_total... no
checking for struct ip6stat.ip6s_total... no
checking for struct icmpstat.icps_error... yes
checking for struct icmp6stat.icp6s_error... yes
checking for struct tcpstat.tcps_connattempt... yes
checking for struct tcp_stats.tcps_connattempt... no
checking for struct udpstat.udps_ipackets... yes
checking for struct ifreq.ifr_hwaddr... no
checking for struct sysinfo.totalram... no
checking for struct sysinfo.mem_unit... no
checking for __builtin_popcount... yes
checking for __clear_cache... yes
checking whether we need to define __aarch64__... no
creating Makefile rules... done
configure: creating ./config.status
config.status: creating include/config.h
config.status: include/config.h is unchanged
config.status: linking ../tools/winewrapper to wine
config.status: executing include/stamp-h commands
config.status: executing tools/makedep commands
In file included from ../tools/makedep.c:27:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:93:16: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
        unsigned char   *_base;

... There was about 215 warning of the same format as the above warning.

config.status: executing Makefile commands

configure: libxcursor development files not found, the Xcursor extension won't be supported.
configure: libXxf86vm development files not found, XFree86 Vidmode won't be supported.
configure: libxcomposite development files not found, Xcomposite won't be supported.
configure: libOSMesa development files not found (or too old), OpenGL rendering in bitmaps won't be supported.

configure: WARNING: can't build Wine preloader; many programs won't work

configure: Finished.  Do 'make' to compile Wine. 

我不知道“预加载器”到底是做什么的,但我从其他安装中知道它是运行实际 Windows 程序的东西。在

./wine
之后运行
make
给了我-
zsh: killed     ./wine

Soo,这之后我真的无能为力了。感谢帮助!

macos compilation homebrew wine
1个回答
0
投票

好的,经过一些研究和测试。我发现 Wine 无法在 Mac 上针对 arm64 架构进行编译。我首先从

wine 源代码 
中查找 preloader_mac.c 来想到这一点。读完之后我发现没有提到arm64或aarch64。我发现仅适用于 i386 和 x86_64。所以我在终端中打开了 Rosetta,果然,运行后
./configure
它没有给出警告
configure: WARNING: can't build Wine preloader; many programs won't work
。尽管毫不奇怪,由于缺乏等效的
make
依赖项,
x86_64
命令失败了......

© www.soinside.com 2019 - 2024. All rights reserved.