Opened 3 years ago

Last modified 2 years ago

#64646 new defect

tuntaposx @20150118: fix for Leopard? Previous version builds for ppc but fails for ppc+ppc64

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: PowerPC, Leopard, ppc64 Cc:
Port: tuntaposx

Description

The latest version fails to build in either way, so I tried to install an earlier version which was supposed to build on Leopard: https://github.com/macports/macports-ports/blob/7bfe828061ab0a610645b17cbb026fb2c10a1c15/net/tuntaposx/Portfile

It failed to build as universal (ppc+ppc64) with with numerous errors (please see the log) ending with:

fatal error: lipo: can't figure out the architecture type of: /opt/local/var/macports/build/_opt_PPCLeopardPorts_net_tuntaposx/tuntaposx/work/.tmp/cc9UvCvf.outfatal error: lipo: 
can't figure out the architecture type of: /opt/local/var/macports/build/_opt_PPCLeopardPorts_net_tuntaposx/tuntaposx/work/.tmp/ccvYP0ja.out
make[1]: *** [../tuntap.o] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCLeopardPorts_net_tuntaposx/tuntaposx/work/tuntap/src/tun'
make[1]: *** [../tuntap.o] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCLeopardPorts_net_tuntaposx/tuntaposx/work/tuntap/src/tap'
make: *** [tun.kext] Error 2
make: *** Waiting for unfinished jobs....
make: *** [tap.kext] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_PPCLeopardPorts_net_tuntaposx/tuntaposx/work/tuntap'
Command failed:  cd "/opt/local/var/macports/build/_opt_PPCLeopardPorts_net_tuntaposx/tuntaposx/work/tuntap" && /usr/bin/make -j4 -w all 
Exit code: 2
Error: Failed to build tuntaposx: command execution failed
Error: See /opt/local/var/macports/logs/_opt_PPCLeopardPorts_net_tuntaposx/tuntaposx/main.log for details.

ppc32 version does build (that is, an old one, not current).

Attachments (1)

main.log (63.9 KB) - added by barracuda156 3 years ago.

Download all attachments as: .zip

Change History (6)

Changed 3 years ago by barracuda156

Attachment: main.log added

comment:1 Changed 3 years ago by kencu (Ken)

Summary: Possible to fix current tuntaposx for Leopard? Previous version builds for ppc but fails for ppc+ppc64tuntaposx @20150118: fix for Leopard? Previous version builds for ppc but fails for ppc+ppc64

comment:2 in reply to:  1 Changed 3 years ago by barracuda156

Replying to kencu:

In fact it might be impossible: the developer website says that @20111101 was the last to support OSX through 10.8 (!):

Version 20050515 for Mac OS X 10.3 (Panther)
Version 20111101 for Mac OS X 10.4 (Tiger), 10.5 (Leopard), 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)

http://tuntaposx.sourceforge.net/download.xhtml

comment:3 Changed 3 years ago by barracuda156

I adapted old patches to the next version @20141104 and got a number of errors about missing components in the kernel:

In file included from /System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl.h:103In file included from /System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl.h:103,
                 from /System/Library/Frameworks/Kernel.framework/Headers/sys/systm.h:104,
                 from ../tuntap.h:42,
                 from ../tuntap_mgr.cc:30:
/System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl_compat.h:72:26: error: sys/ttychars.h: No such file or directory
/System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl_compat.h:73:24: error: sys/ttydev.h: No such file or directory
In file included from /System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl.h:103In file included from /System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl.h:103,
                 from /System/Library/Frameworks/Kernel.framework/Headers/sys/systm.h:104,
                 from ../tuntap.h:42,
                 from ../tuntap.cc:30:
/System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl_compat.h:72:26: error: sys/ttychars.h: No such file or directory
,
                 from /System/Library/Frameworks/Kernel.framework/Headers/sys/systm.h:104,
                 from ../tuntap.h:42,
                 from ../tuntap_mgr.cc:30/System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl_compat.h:73:24: error: sys/ttydev.h: No such file or directory
:
/System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl_compat.h:72:26: error: ,
                 from /System/Library/Frameworks/Kernel.framework/Headers/sys/systm.h:104,
                 from ../tuntap.h:42sys/ttychars.h: No such file or directory,
                 from ../tuntap.cc:30
:
/System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl_compat.h:72:26: error: /System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl_compat.h:73:24: sys/ttychars.h: No such file or directory
error: 
sys/ttydev.h: No such file or directory
/System/Library/Frameworks/Kernel.framework/Headers/sys/ioctl_compat.h:73:24: error: sys/ttydev.h: No such file or directory
../tuntap.cc: In member function ‘virtual bool tuntap_interface::register_interface(const sockaddr_dl*, void*, u_int32_t)’:
../tuntap.cc:330: error: invalid conversion from ‘errno_t (*)(__ifnet*, uint32_t, void*)’ to ‘errno_t (*)(__ifnet*, long unsigned int, void*)’
../tuntap.cc: In member function ‘virtual bool tuntap_interface::register_interface(const sockaddr_dl*, void*, u_int32_t)’:
../tuntap.cc:330: error: invalid conversion from ‘errno_t (*)(__ifnet*, uint32_t, void*)’ to ‘errno_t (*)(__ifnet*, long unsigned int, void*)’
make[1]: *** [../tuntap.o] Error 1
make[1]: *** Waiting for unfinished jobs....
/usr/bin/g++-4.2 -Wall -Werror -mkernel -force_cpusubtype_ALL -nostdinc -fno-builtin -fno-stack-protector -msoft-float -fno-common -arch ppc -DKERNEL -DAPPLE -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"20141104\" -DTUN_KEXT_VERSION=\"20141104\" -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -c ../lock.cc -o ../lock.o
make[1]: *** [../tuntap.o] Error 1

Those invalid conversions can be fixed (old patches addressed similar errors), but the rest, I guess, no.

comment:4 in reply to:  1 Changed 3 years ago by barracuda156

Replying to kencu:

This is sort of surprising, but tuntaposx @20150118_0 has built on 10.6.8 for ppc without any special patches:

macmini:~ svacchanda$ port -v installed tuntaposx
The following ports are currently installed:
  tuntaposx @20150118_0 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2022-03-27T18:03:29+0800'

comment:5 Changed 2 years ago by barracuda156

Confirmed again to build on Rosetta, though there are multiple unused parameter warnings:

/usr/bin/g++-4.2 -Wall -Wextra -mkernel -force_cpusubtype_ALL -nostdinc -fno-builtin -fno-stack-protector -msoft-float -fno-common -arch ppc -DKERNEL -DAPPLE -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"20150118\" -DTUN_KEXT_VERSION=\"20150118\" -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -c ../mem.cc -o ../mem.o
/usr/bin/g++-4.2 -Wall -Wextra -mkernel -force_cpusubtype_ALL -nostdinc -fno-builtin -fno-stack-protector -msoft-float -fno-common -arch ppc -DKERNEL -DAPPLE -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"20150118\" -DTUN_KEXT_VERSION=\"20150118\" -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -c kmod.cc -o kmod.o
../tuntap.cc:493: warning: unused parameter ‘flags’
../tuntap.cc:493: warning: unused parameter ‘devtype’
../tuntap.cc:516: warning: unused parameter ‘flags’
../tuntap.cc:516: warning: unused parameter ‘devtype’
../tuntap.cc:516: warning: unused parameter ‘p’
../tuntap.cc:493: warning: unused parameter ‘flags’
../tuntap.cc:493: warning: unused parameter ‘devtype’
../tuntap.cc:516: warning: unused parameter ‘flags’
../tuntap.cc:516: warning: unused parameter ‘devtype’
../tuntap.cc:516: warning: unused parameter ‘p’
../tuntap.cc:542: warning: unused parameter ‘ioflag’
../tuntap.cc:542: warning: unused parameter ‘ioflag’
../tuntap.cc:622: warning: unused parameter ‘ioflag’
../tuntap.cc:720: warning: unused parameter ‘fflag’
../tuntap.cc:720: warning: unused parameter ‘p’
../tuntap.cc:622: warning: unused parameter ‘ioflag’
../tuntap.cc:720: warning: unused parameter ‘fflag’
../tuntap.cc:720: warning: unused parameter ‘p’
../tuntap.cc:943: warning: unused parameter ‘maddr’
../tuntap.cc:943: warning: unused parameter ‘maddr’
/usr/bin/gcc-4.2 -Wall -Wextra -mkernel -force_cpusubtype_ALL -nostdinc -fno-builtin -fno-stack-protector -msoft-float -fno-common -arch ppc -DKERNEL -DAPPLE -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"20150118\" -DTUN_KEXT_VERSION=\"20150118\" -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -c tun_inet_proto.c -o tun_inet_proto.o
/usr/bin/gcc-4.2 -Wall -Wextra -mkernel -force_cpusubtype_ALL -nostdinc -fno-builtin -fno-stack-protector -msoft-float -fno-common -arch ppc -DKERNEL -DAPPLE -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"20150118\" -DTUN_KEXT_VERSION=\"20150118\" -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -c tun_inet6_proto.c -o tun_inet6_proto.o
/usr/bin/g++-4.2 -Wall -Wextra -mkernel -force_cpusubtype_ALL -nostdinc -fno-builtin -fno-stack-protector -msoft-float -fno-common -arch ppc -DKERNEL -DAPPLE -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"20150118\" -DTAP_KEXT_VERSION=\"20150118\" -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -c ../mem.cc -o ../mem.o
tun_inet_proto.c:37: warning: unused parameter ‘ifp’
tun_inet_proto.c:37: warning: unused parameter ‘protocol’
tun_inet_proto.c:37: warning: unused parameter ‘header’
tun_inet_proto.c:44: warning: unused parameter ‘ifp’
tun_inet_proto.c:44: warning: unused parameter ‘proto’
tun_inet_proto.c:44: warning: unused parameter ‘packet’
tun_inet_proto.c:45: warning: unused parameter ‘route’
tun_inet_proto.c:45: warning: unused parameter ‘dst_addr’
/usr/bin/g++-4.2 -Wall -Wextra -mkernel -force_cpusubtype_ALL -nostdinc -fno-builtin -fno-stack-protector -msoft-float -fno-common -arch ppc -DKERNEL -DAPPLE -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"20150118\" -DTUN_KEXT_VERSION=\"20150118\" -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -c tun.cc -o tun.o
/usr/bin/g++-4.2 -Wall -Wextra -mkernel -force_cpusubtype_ALL -nostdinc -fno-builtin -fno-stack-protector -msoft-float -fno-common -arch ppc -DKERNEL -DAPPLE -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"20150118\" -DTAP_KEXT_VERSION=\"20150118\" -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -c kmod.cc -o kmod.o
tun_inet6_proto.c:37: warning: unused parameter ‘ifp’
tun_inet6_proto.c:37: warning: unused parameter ‘protocol’
tun_inet6_proto.c:37: warning: unused parameter ‘header’
tun_inet6_proto.c:44: warning: unused parameter ‘ifp’
tun_inet6_proto.c:44: warning: unused parameter ‘proto’
tun_inet6_proto.c:44: warning: unused parameter ‘packet’
tun_inet6_proto.c:45: warning: unused parameter ‘route’
tun_inet6_proto.c:45: warning: unused parameter ‘dst_addr’
kmod.cc:44: warning: unused parameter ‘ki’
kmod.cc:44: warning: unused parameter ‘data’
kmod.cc:72: warning: unused parameter ‘ki’
kmod.cc:72: warning: unused parameter ‘data’
/usr/bin/g++-4.2 -Wall -Wextra -mkernel -force_cpusubtype_ALL -nostdinc -fno-builtin -fno-stack-protector -msoft-float -fno-common -arch ppc -DKERNEL -DAPPLE -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"20150118\" -DTAP_KEXT_VERSION=\"20150118\" -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -c tap.cc -o tap.o
kmod.cc:44: warning: unused parameter ‘ki’
kmod.cc:44: warning: unused parameter ‘data’
kmod.cc:72: warning: unused parameter ‘ki’
kmod.cc:72: warning: unused parameter ‘data’
tun.cc:256: warning: unused parameter ‘dest_linkaddr’
tun.cc:256: warning: unused parameter ‘frame_type’
tap.cc: In member function ‘virtual int tap_interface::initialize_interface()’:
tap.cc:171: warning: empty body in an if-statement
tap.cc:208: warning: empty body in an if-statement
tap.cc: At global scope:
tap.cc:385: warning: unused parameter ‘dest’
/usr/bin/gcc-4.2 -Wall -Wextra -arch ppc -Xlinker -kext -nostdlib -lkmodc++ -lkmod -lcc_kext -o tun ../tuntap.o ../tuntap_mgr.o ../lock.o ../mem.o kmod.o tun_inet_proto.o tun_inet6_proto.o tun.o
/usr/bin/gcc-4.2 -Wall -Wextra -arch ppc -Xlinker -kext -nostdlib -lkmodc++ -lkmod -lcc_kext -o tap ../tuntap.o ../tuntap_mgr.o ../lock.o ../mem.o kmod.o tap.o
rm -rf ../../tun.kext
mkdir -p ../../tun.kext/Contents/MacOS
cp tun ../../tun.kext/Contents/MacOS
sed -e "s/@@CFBUNDLEEXECUTABLE@@/tun/" \
	 -e "s/@@CFBUNDLEDEVELOPMENTREGION@@/English/" \
	 -e "s/@@CFBUNDLEIDENTIFIER@@/net.sf.tuntaposx.tun/" \
	 -e "s/@@CFBUNDLESIGNATURE@@/????/" \
	 -e "s/@@CFBUNDLEPACKAGETYPE@@/KEXT/" \
	 -e "s/@@CFBUNDLEVERSION@@/20150118/" \
	Info.plist > ../../tun.kext/Contents/Info.plist
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_tuntaposx/tuntaposx/work/tuntap/src/tun'
rm -rf ../../tap.kext
if test -s ".signing_identity"; then \
		codesign -fv --keychain net.sf.tuntaposx.tmp -s "$(cat .signing_identity)" \
			tun.kext ; \
	fi
mkdir -p ../../tap.kext/Contents/MacOS
cp tap ../../tap.kext/Contents/MacOS
sed -e "s/@@CFBUNDLEEXECUTABLE@@/tap/" \
	 -e "s/@@CFBUNDLEDEVELOPMENTREGION@@/English/" \
	 -e "s/@@CFBUNDLEIDENTIFIER@@/net.sf.tuntaposx.tap/" \
	 -e "s/@@CFBUNDLESIGNATURE@@/????/" \
	 -e "s/@@CFBUNDLEPACKAGETYPE@@/KEXT/" \
	 -e "s/@@CFBUNDLEVERSION@@/20150118/" \
	Info.plist > ../../tap.kext/Contents/Info.plist
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_tuntaposx/tuntaposx/work/tuntap/src/tap'
if test -s ".signing_identity"; then \
		codesign -fv --keychain net.sf.tuntaposx.tmp -s "$(cat .signing_identity)" \
			tap.kext ; \
	fi
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_tuntaposx/tuntaposx/work/tuntap'
Note: See TracTickets for help on using tickets.