Opened 8 months ago

Closed 7 months ago

#33837 closed defect (fixed)

Tor.framework Unknown type name 'dispatch_queue_t'

Reported by: teor Owned by:
Priority: Medium Milestone: Tor: 0.4.3.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: 043-should, 043-backport, 042-backport, 041-backport
Cc: tla, rl1987 Actual Points:
Parent ID: Points: .5
Reviewer: ahf Sponsor:

Description

From https://trac.torproject.org/projects/tor/ticket/33522#comment:2

Replying to tla:

It has a Travis-CI configuration, which I just updated to work on the latest macOS/Xcode image:

https://github.com/iCepa/Tor.framework/blob/master/.travis.yml

Currently, we have issues in getting past Tor 0.4.0.6 on iOS. When I try to use a newer core, I get this error message:

Unknown type name 'dispatch_queue_t'

in CFStream of Apple's CoreFoundation framework.

But "dispatch_queue_t" is actually a valid symbol from Apple's Foundation libraries.

So somehow, it gets cancelled out through something which changed in Tor recently.

This looks like a bug in tor's code, or perhaps in the Tor.framework embedding scripts.

We'd be happy to help you diagnose this issue.

Can you tell us the first release that has this issue? Is it 0.4.1, 0.4.2, or 0.4.3 ?
Have you done a git bisect, to track down the commit that introduced the issue?

Let's open a separate ticket, so we can fix this bug in tor's code.
Or help you find a workaround when you embed tor.

I can't see dispatch_queue_t in Tor's code.

Perhaps we're defining some preprocessor symbols, or including a header that conflicts with dispatch_queue_t's header.

We don't know which release this bug was introduced in. But Tor 0.4.0.6 does not have this error.

Child Tickets

Change History (21)

comment:1 Changed 8 months ago by nickm

Cc: tla added

comment:2 Changed 8 months ago by nickm

Can somebody paste or link to the complete error here?

comment:3 Changed 8 months ago by rl1987

Cc: rl1987 added

comment:4 Changed 7 months ago by tla

So sorry. My account didn't have an e-mail address, so I wasn't notified. D'oh!

Here's more info:
https://github.com/iCepa/Tor.framework/issues/53

comment:5 Changed 7 months ago by nickm

I've managed to sort of get the build environment running. Here is an instance of the command line that failed, split up so that it doesn't scroll too much.

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-x objective-c -target armv7-apple-ios8.0 -fmessage-length=0
-fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0
-std=gnu99 -fobjc-arc -fmodules -gmodules
-fmodules-cache-path=/Users/nickm/Library/Developer/Xcode/DerivedData/ModuleCache.noindex
-fmodules-prune-interval=86400 -fmodules-prune-after=345600
-fbuild-session-file=/Users/nickm/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation
-fmodules-validate-once-per-build-session -fmodule-name=Tor
-fapplication-extension -Wno-trigraphs -fpascal-strings -Os
-fno-common -Wmissing-field-initializers -Wno-missing-prototypes
-Werror=return-type -Wunreachable-code -Wno-implicit-atomic-properties
-Werror=deprecated-objc-isa-usage -Wno-objc-interface-ivars
-Werror=objc-root-class -Wno-arc-repeated-use-of-weak
-Wimplicit-retain-self -Wduplicate-method-match -Wmissing-braces
-Wparentheses -Wswitch -Wunused-function -Wunused-label
-Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body
-Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wfour-char-constants
-Wconversion -Wconstant-conversion -Wint-conversion -Wbool-conversion
-Wenum-conversion -Wfloat-conversion -Wnon-literal-null-conversion
-Wobjc-literal-conversion -Wsign-compare -Wshorten-64-to-32
-Wpointer-sign -Wno-newline-eof -Wno-selector
-Wno-strict-selector-match -Wundeclared-selector
-Wdeprecated-implementations -DOBJC_OLD_DISPATCH_PROTOTYPES=0
-isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.4.sdk
-fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g
-Wno-sign-conversion -Winfinite-recursion -Wcomma
-Wblock-capture-autoreleasing -Wstrict-prototypes
-Wno-semicolon-before-method-body -fembed-bitcode -iquote
/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/Tor-generated-files.hmap
-I/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/Tor-own-target-headers.hmap
-I/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/Tor-all-non-framework-target-headers.hmap
-ivfsoverlay
/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/all-product-headers.yaml
-iquote
/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/Tor-project-headers.hmap
-iquote
/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/BuildProductsPath/Release-iphoneos/tor
-I/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/BuildProductsPath/Release-iphoneos/include
-I/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/UninstalledProducts/include
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/include
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src/common
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src/core
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src/ext
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src/feature
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src/lib
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/libevent/include
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/openssl/include
-I/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/BuildProductsPath/Release-iphoneos/openssl
-I/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/BuildProductsPath/Release-iphoneos/libevent
-I/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/DerivedSources-normal/armv7
-I/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/DerivedSources/armv7
-I/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/DerivedSources
-Wno-error=unknown-warning-option -Wno-gcc-compat
-Wno-unused-const-variable -Wno-nullability-completeness
-F/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/BuildProductsPath/Release-iphoneos
-Wunguarded-availability -Wstrict-prototypes -Wall -Wextra -Wunused
-MMD -MT dependencies -MF
/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/Objects-normal/armv7/TORNode.d
--serialize-diagnostics
/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/Objects-normal/armv7/TORNode.dia
-c /Users/nickm/src/minitor/src/Tor.framework/Tor/TORNode.m -o
/Users/nickm/Library/Developer/Xcode/DerivedData/Tor-ccpyrdylcgmlgjgvzcjuffrxljph/Build/Intermediates.noindex/ArchiveIntermediates/Tor-iOS/IntermediateBuildFilesPath/Tor.build/Release-iphoneos/Tor-iOS.build/Objects-normal/armv7/TORNode.o

And here are the errors

While building module 'Foundation' imported from /Users/nickm/src/minitor/src/Tor.framework/Tor/TORNode.h:8:
While building module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In file included from <module-includes>:1:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.4.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:60
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.4.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFPropertyList.h:17:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.4.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:468:77: error: unknown type name 'dispatch_queue_t'
void CFReadStreamSetDispatchQueue(CFReadStreamRef _Null_unspecified stream, dispatch_queue_t _Null_unspecified q) API_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));
                                                                            ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.4.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:468:94: error: nullability specifier '_Null_unspecified' cannot be applied to non-pointer type 'int'
void CFReadStreamSetDispatchQueue(CFReadStreamRef _Null_unspecified stream, dispatch_queue_t _Null_unspecified q) API_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));

    ^

comment:6 Changed 7 months ago by nickm

One interesting thing about TorNode.m is that it includes TorNode.h before anything else, and TorNode.h includes foundation/foundation.h before anything else. So we can tell that whatever the problem is, it has to be something on the command line.

These are the options I'm most suspicious about:

-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src/common
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src/core
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src/ext
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src/feature
-I/Users/nickm/src/minitor/src/Tor.framework/Tor/tor/src/lib

My guess is that Tor is defining some header that conflicts with one of the system headers, and since you're importing all directories into your namespace, you're getting a conflict.

I wouldn't recommend including any of Tor's headers at all besides tor_api.h. It looks like you are also including or.h, and log.h. We should talk about how that can be avoided -- it is likely to cause instability in the future. But if you really need to include these files, the recommended way to do it is relative to src.

So that's my hunch -- I'm trying this out now to see if it works for me. My setup only "sort of" works, so whatever I come up with is going to need further testing, but let's see how it goes.

comment:7 Changed 7 months ago by nickm

I have a PR for you at ​https://github.com/iCepa/Tor.framework/pull/61 .

There will be some more work needed to port to 0.4.1 and beyond, but this should fix the problem you're seeing here. It also notes some other cases where you're likely to run into problems down the line.

(edited to fix incorrect URL)

Last edited 7 months ago by nickm (previous) (diff)

comment:8 Changed 7 months ago by nickm

Points: .5
Reviewer: ahf
Status: newneeds_review

Setting Ahf as reviewer. Ahf, I don't think this is our bug, but I'd like you to look over the fix just in case.

comment:9 Changed 7 months ago by teor

I had a look at the PR, it looks good to me.

There's one typo, but it's in a comment that will get deleted after the other bugs are fixed.

comment:10 Changed 7 months ago by tla

Thank you so much for finding this!
With your fixes I was able to do a new release containing

  • Tor 0.4.2.7
  • libevent 2.1.11
  • OpenSSL 1.1.1f
  • liblzma 5.2.5

https://github.com/iCepa/Tor.framework/releases/tag/v402.7.1

I also improved the build script as per your suggestions!

Thanks, thanks, thanks!

comment:11 Changed 7 months ago by tla

I can't change the status, but from my side, you can close this any time. Happy, if you want to review the latest Tor.framework, though! :-)

comment:12 Changed 7 months ago by nickm

Resolution: fixed
Status: needs_reviewclosed

Cool, glad it worked!

Could you also please test out Tor 0.4.3.4-rc and the current tor master branch? If there is going to be trouble with those, it would be good to know _before_ they're released. :)

comment:13 Changed 7 months ago by tla

Hmmm. With 0.4.3.4-rc, on the first run after a clean make show-libs returns this:

/bin/sh ./config.status --recheck running CONFIG_SHELL=/bin/sh /bin/sh
/./configure --enable-restart-debugging --enable-silent-rules
/--enable-pic --disable-module-dirauth --disable-tool-name-check
/--disable-unittests --enable-static-openssl --enable-static-libevent
/--disable-asciidoc --disable-system-torrc --disable-linker-hardening
/--disable-dependency-tracking --disable-manpage --disable-html-manual
/--prefix=/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Intermediates.noindex/Tor.build/
/Debug-iphonesimulator/tor-x86_64
/--with-libevent-dir=/Users/berhart/Library/Developer/Xcode/DerivedData/
/Tor-atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator
/--with-openssl-dir=/Users/berhart/Library/Developer/Xcode/DerivedData/
/Tor-atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator
/--enable-lzma --enable-zstd=no
/CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk
/CPP=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -E -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk CPPFLAGS=-g -O0
/-fembed-bitcode-marker
/-I/Users/berhart/workspace/gp/Tor.framework/Tor/tor/core
/-I/Users/berhart/workspace/gp/Tor.framework/Tor/openssl/include
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator/
/openssl-x86_64
/-I/Users/berhart/workspace/gp/Tor.framework/Tor/libevent/include
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator/
/libevent-x86_64
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator/
/libevent-x86_64/include
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator/
/liblzma-x86_64
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator/
/liblzma-x86_64/include
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Intermediates.noindex/Tor.build/
/Debug-iphonesimulator/tor-sys -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk cross_compiling=yes
/ac_cv_func__NSGetEnviron=no ac_cv_func_clock_gettime=no
/ac_cv_func_getentropy=no LDFLAGS=-lz -fembed-bitcode-marker --no-create
/--no-recursion checking for a BSD-compatible install...
//usr/bin/install -c checking whether build environment is sane... yes
/checking for strip... strip checking for a thread-safe mkdir -p...
/./install-sh -c -d checking for gawk... no checking for mawk... no
/checking for nawk... no checking for awk... awk checking whether make
/sets $(MAKE)... yes checking whether make supports nested variables...
/yes checking whether make supports nested variables... (cached) yes
/checking whether make supports the include directive... yes (GNU style)
/checking for gcc...
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk 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... yes checking for suffix of object files... o
/checking whether we are using the GNU C compiler... yes checking
/whether
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk accepts -g... yes
/checking for
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk option to accept ISO
/C89... none needed checking whether
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk understands -c and -o
/together... yes checking dependency style of
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk... none checking how to
/run the C preprocessor...
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -E -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk checking for grep that
/handles long lines and -e... /usr/bin/grep checking for egrep...
//usr/bin/grep -E checking for ANSI C header files... yes checking for
/sys/types.h... yes checking for sys/stat.h... yes checking for
/stdlib.h... yes checking for string.h... yes checking for memory.h...
/yes checking for strings.h... yes checking for inttypes.h... yes
/checking for stdint.h... yes checking for unistd.h... yes checking
/minix/config.h usability... no checking minix/config.h presence... no
/checking for minix/config.h... no checking whether it is safe to define
/__EXTENSIONS__... yes checking build system type...
/x86_64-apple-darwin19.4.0 checking host system type...
/x86_64-apple-darwin19.4.0 checking for pkg-config...
//usr/local/bin/pkg-config checking pkg-config is at least version
/0.9.0... yes checking for SYSTEMD... no configure: Okay, checking for
/systemd a different way... checking for SYSTEMD... no checking for
/ar... ar checking the archiver (ar) interface... ar checking for gcc...
/(cached)
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk checking whether we are
/using the GNU C compiler... (cached) yes checking whether
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk accepts -g... (cached)
/yes checking for
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk option to accept ISO
/C89... (cached) none needed checking whether
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk understands -c and -o
/together... (cached) yes checking dependency style of
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk... (cached) none
/checking how to run the C preprocessor...
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -E -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk checking whether make
/sets $(MAKE)... (cached) yes checking for ranlib... ranlib checking for
/a sed that does not truncate output... /usr/bin/sed checking for
/perl... perl checking for asciidoc... none checking for a2x... no
/checking for a2x.py... no checking for
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk option to accept ISO
/C99... none needed checking for Python 3...
//Applications/Xcode.app/Contents/Developer/usr/bin/python3 checking for
/flexible array members... yes checking for working C99 mid-block
/declaration syntax... yes checking for working C99 designated
/initializers... yes checking for win32... cross checking for win32
/(cross)... no checking for MIPSpro compiler... no checking whether byte
/ordering is bigendian... no checking for library containing socket...
/none required checking for library containing gethostbyname... none
/required checking for library containing dlopen... none required
/checking for library containing inet_aton... none required checking for
/library containing backtrace... none required checking for library
/containing clock_gettime... none required checking for library
/containing pthread_create... none required checking for library
/containing pthread_detach... none required checking for
/_NSGetEnviron... (cached) no checking for RtlSecureZeroMemory... no
/checking for SecureZeroMemory... no checking for accept4... no checking
/for backtrace... yes checking for backtrace_symbols_fd... yes checking
/for eventfd... no checking for explicit_bzero... no checking for
/timingsafe_memcmp... no checking for flock... yes checking for fsync...
/yes checking for ftime... yes checking for get_current_dir_name... no
/checking for getaddrinfo... yes checking for getdelim... yes checking
/for getifaddrs... yes checking for getline... yes checking for
/getpass... yes checking for getrlimit... yes checking for
/gettimeofday... yes checking for gmtime_r... yes checking for
/gnu_get_libc_version... no checking for htonll... no checking for
/inet_aton... yes checking for ioctl... yes checking for issetugid...
/yes checking for llround... yes checking for localtime_r... yes
/checking for lround... yes checking for madvise... yes checking for
/memmem... yes checking for memset_s... yes checking for minherit... yes
/checking for mmap... yes checking for pipe... yes checking for pipe2...
/no checking for prctl... no checking for readpassphrase... yes checking
/for rint... yes checking for sigaction... yes checking for
/socketpair... yes checking for statvfs... yes checking for
/strncasecmp... yes checking for strcasecmp... yes checking for
/strlcat... yes checking for strlcpy... yes checking for strnlen... yes
/checking for strptime... yes checking for strtok_r... yes checking for
/strtoull... yes checking for sysconf... yes checking for sysctl... yes
/checking for truncate... yes checking for uname... yes checking for
/usleep... yes checking for vasprintf... yes checking for _vscprintf...
/no checking for a pre-Yosemite OS X build target... yes checking for a
/pre-Sierra OSX build target... yes checking pthread.h usability... yes
/checking pthread.h presence... yes checking for pthread.h... yes
/checking for pthread_create... yes checking for
/pthread_condattr_setclock... no checking whether free(NULL) works...
/cross checking for libevent directory...
//Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator
/checking event2/event.h usability... yes checking event2/event.h
/presence... yes checking for event2/event.h... yes checking
/event2/dns.h usability... yes checking event2/dns.h presence... yes
/checking for event2/dns.h... yes checking event2/bufferevent_ssl.h
/usability... yes checking event2/bufferevent_ssl.h presence... yes
/checking for event2/bufferevent_ssl.h... yes checking for
/evutil_secure_rng_set_urandom_device_file... no checking for
/evutil_secure_rng_add_bytes... no checking for
/evdns_base_get_nameserver_addr... no checking whether Libevent is new
/enough... yes checking for library containing pow... none required
/configure: Now, we'll look for OpenSSL >= 1.0.1 checking for openssl
/directory...
//Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator
/checking for struct ssl_method_st.get_cipher_by_char... no checking for
/ERR_load_KDF_strings... yes checking for EVP_PBE_scrypt... yes checking
/for EVP_sha3_256... yes checking for SSL_CIPHER_find... yes checking
/for SSL_CTX_set1_groups_list... no checking for
/SSL_CTX_set_security_level... yes checking for
/SSL_SESSION_get_master_key... yes checking for
/SSL_get_client_ciphers... yes checking for SSL_get_client_random... yes
/checking for SSL_get_server_random... yes checking for TLS_method...
/yes checking for SSL.state... no checking size of SHA_CTX... 96
/checking for struct tcp_info.tcpi_unacked... no checking for struct
/tcp_info.tcpi_snd_mss... no configure: KIST scheduler can't be used.
/Missing support. checking for zlib directory... (system) checking for
/LZMA... yes checking for cap_init in -lcap... no configure: Libcap was
/not found. Capabilities will not be usable. checking for
/cap_set_proc... no checking whether the compiler accepts -fPIC... yes
/checking whether the compiler accepts -Qunused-arguments... yes
/checking whether the compiler accepts -fstack-protector-all... yes
/checking whether the compiler accepts -Wstack-protector... yes checking
/whether the compiler accepts --param ssp-buffer-size=1... yes checking
/whether the linker accepts -pie... yes checking whether the compiler
/accepts -fwrapv... yes checking whether we can run hardened binaries...
/cross checking whether clang -ftrapv can link a 64-bit int multiply...
/yes checking whether the linker accepts -rdynamic... yes checking
/whether the compiler accepts -fomit-frame-pointer... yes checking
/whether the compiler accepts -fasynchronous-unwind-tables... yes
/checking seccomp.h usability... no checking seccomp.h presence... no
/checking for seccomp.h... no checking for library containing
/seccomp_init... no checking libscrypt.h usability... no checking
/libscrypt.h presence... no checking for libscrypt.h... no checking for
/library containing libscrypt_scrypt... no checking for
/libscrypt_scrypt... no checking whether we can use
/curve25519-donna-c64... cross checking crypto_scalarmult_curve25519.h
/usability... no checking crypto_scalarmult_curve25519.h presence... no
/checking for crypto_scalarmult_curve25519.h... no checking
/nacl/crypto_scalarmult_curve25519.h usability... no checking
/nacl/crypto_scalarmult_curve25519.h presence... no checking for
/nacl/crypto_scalarmult_curve25519.h... no checking for nacl compiled
/with a fast curve25519 implementation... no checking for special C
/compiler options needed for large files... no checking for
/_FILE_OFFSET_BITS value needed for large files... no checking errno.h
/usability... yes checking errno.h presence... yes checking for
/errno.h... yes checking fcntl.h usability... yes checking fcntl.h
/presence... yes checking for fcntl.h... yes checking signal.h
/usability... yes checking signal.h presence... yes checking for
/signal.h... yes checking for string.h... (cached) yes checking
/sys/capability.h usability... no checking sys/capability.h presence...
/no checking for sys/capability.h... no checking sys/fcntl.h
/usability... yes checking sys/fcntl.h presence... yes checking for
/sys/fcntl.h... yes checking for sys/stat.h... (cached) yes checking
/sys/time.h usability... yes checking sys/time.h presence... yes
/checking for sys/time.h... yes checking for sys/types.h... (cached) yes
/checking time.h usability... yes checking time.h presence... yes
/checking for time.h... yes checking for unistd.h... (cached) yes
/checking arpa/inet.h usability... yes checking arpa/inet.h presence...
/yes checking for arpa/inet.h... yes checking crt_externs.h usability...
/yes checking crt_externs.h presence... yes checking for
/crt_externs.h... yes checking execinfo.h usability... yes checking
/execinfo.h presence... yes checking for execinfo.h... yes checking
/gnu/libc-version.h usability... no checking gnu/libc-version.h
/presence... no checking for gnu/libc-version.h... no checking grp.h
/usability... yes checking grp.h presence... yes checking for grp.h...
/yes checking ifaddrs.h usability... yes checking ifaddrs.h presence...
/yes checking for ifaddrs.h... yes checking for inttypes.h... (cached)
/yes checking limits.h usability... yes checking limits.h presence...
/yes checking for limits.h... yes checking linux/types.h usability... no
/checking linux/types.h presence... no checking for linux/types.h... no
/checking mach/vm_inherit.h usability... yes checking mach/vm_inherit.h
/presence... yes checking for mach/vm_inherit.h... yes checking
/machine/limits.h usability... yes checking machine/limits.h presence...
/yes checking for machine/limits.h... yes checking malloc.h usability...
/no checking malloc.h presence... no checking for malloc.h... no
/checking malloc/malloc.h usability... yes checking malloc/malloc.h
/presence... yes checking for malloc/malloc.h... yes checking
/malloc_np.h usability... no checking malloc_np.h presence... no
/checking for malloc_np.h... no checking netdb.h usability... yes
/checking netdb.h presence... yes checking for netdb.h... yes checking
/netinet/in.h usability... yes checking netinet/in.h presence... yes
/checking for netinet/in.h... yes checking netinet/in6.h usability... no
/checking netinet/in6.h presence... no checking for netinet/in6.h... no
/checking pwd.h usability... yes checking pwd.h presence... yes checking
/for pwd.h... yes checking readpassphrase.h usability... yes checking
/readpassphrase.h presence... yes checking for readpassphrase.h... yes
/checking stdatomic.h usability... yes checking stdatomic.h presence...
/yes checking for stdatomic.h... yes checking sys/eventfd.h usability...
/no checking sys/eventfd.h presence... no checking for sys/eventfd.h...
/no checking sys/file.h usability... yes checking sys/file.h presence...
/yes checking for sys/file.h... yes checking sys/ioctl.h usability...
/yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h...
/yes checking sys/limits.h usability... no checking sys/limits.h
/presence... no checking for sys/limits.h... no checking sys/mman.h
/usability... yes checking sys/mman.h presence... yes checking for
/sys/mman.h... yes checking sys/param.h usability... yes checking
/sys/param.h presence... yes checking for sys/param.h... yes checking
/sys/prctl.h usability... no checking sys/prctl.h presence... no
/checking for sys/prctl.h... no checking sys/random.h usability... no
/checking sys/random.h presence... no checking for sys/random.h... no
/checking sys/resource.h usability... yes checking sys/resource.h
/presence... yes checking for sys/resource.h... yes checking
/sys/select.h usability... yes checking sys/select.h presence... yes
/checking for sys/select.h... yes checking sys/socket.h usability... yes
/checking sys/socket.h presence... yes checking for sys/socket.h... yes
/checking sys/statvfs.h usability... yes checking sys/statvfs.h
/presence... yes checking for sys/statvfs.h... yes checking
/sys/syscall.h usability... yes checking sys/syscall.h presence... yes
/checking for sys/syscall.h... yes checking sys/sysctl.h usability...
/yes checking sys/sysctl.h presence... yes checking for sys/sysctl.h...
/yes checking sys/syslimits.h usability... yes checking sys/syslimits.h
/presence... yes checking for sys/syslimits.h... yes checking for
/sys/time.h... (cached) yes checking for sys/types.h... (cached) yes
/checking sys/un.h usability... yes checking sys/un.h presence... yes
/checking for sys/un.h... yes checking sys/utime.h usability... no
/checking sys/utime.h presence... no checking for sys/utime.h... no
/checking sys/wait.h usability... yes checking sys/wait.h presence...
/yes checking for sys/wait.h... yes checking syslog.h usability... yes
/checking syslog.h presence... yes checking for syslog.h... yes checking
/utime.h usability... yes checking utime.h presence... yes checking for
/utime.h... yes checking for sys/param.h... (cached) yes checking for
/net/if.h... yes checking for net/pfvar.h... no checking for
/linux/if.h... no checking for linux/netfilter_ipv4.h... no checking for
/linux/netfilter_ipv6/ip6_tables.h... no configure: Transparent proxy
/support enabled, but missing headers. checking for struct
/timeval.tv_sec... yes checking size of char... 1 checking size of
/short... 2 checking size of int... 4 checking size of unsigned int... 4
/checking size of long... 8 checking size of long long... 8 checking
/size of __int64... 0 checking size of void *... 8 checking size of
/time_t... 8 checking size of size_t... 8 checking size of pid_t... 4
/checking for uint... yes checking for u_char... yes checking for
/ssize_t... yes checking ucontext.h usability... no checking ucontext.h
/presence... no checking for ucontext.h... no checking sys/ucontext.h
/usability... yes checking sys/ucontext.h presence... yes checking for
/sys/ucontext.h... yes checking cygwin/signal.h usability... no checking
/cygwin/signal.h presence... no checking for cygwin/signal.h... no
/checking how to access the program counter from a struct ucontext...
/uc_mcontext->__ss.__rip checking for struct in6_addr... yes checking
/for struct sockaddr_in6... yes checking for sa_family_t... yes checking
/for struct in6_addr.s6_addr32... no checking for struct
/in6_addr.s6_addr16... no checking for struct sockaddr_in.sin_len... yes
/checking for struct sockaddr_in6.sin6_len... yes checking for rlim_t...
/yes checking whether time_t is signed... yes checking whether size_t is
/signed... no checking whether enum always is signed... no checking size
/of socklen_t... 4 checking size of cell_t... 0 checking whether C11
/stdatomic.h actually works... yes checking whether memset(0) sets
/pointers to NULL... cross configure: Cross-compiling: we'll assume that
/NULL is represented as a sequence of 0-valued bytes. checking whether
/memset(0) sets doubles to 0.0... cross configure: Cross-compiling:
/we'll assume that 0.0 can be represented as a sequence of 0-valued
/bytes. checking whether we can malloc(0) safely.... cross configure:
/Cross-compiling: we'll assume that we need to check malloc() arguments
/for 0. checking whether we are using 2s-complement arithmetic... cross
/configure: Cross-compiling: we'll assume that negative integers are
/represented with two's complement. checking whether right-shift on
/negative values does sign-extension... cross configure:
/Cross-compiling: we'll assume that right-shifting negative integers
/causes sign-extension checking whether uint8_t is the same type as
/unsigned char... yes checking for mallinfo... no checking for
/mlockall... yes checking whether mlockall is declared... yes checking
/for getresuid... no checking for getresgid... no checking for
/gethostbyname_r... no checking whether the C compiler supports
/__func__... yes checking whether the C compiler supports __FUNC__... no
/checking whether the C compiler supports __FUNCTION__... yes checking
/whether we have extern char **environ already declared... no checking
/whether the compiler accepts -Waddress... yes checking whether the
/compiler accepts -Waddress-of-array-temporary... no checking whether
/the compiler accepts -Waddress-of-temporary... yes checking whether the
/compiler accepts -Wambiguous-macro... yes checking whether the compiler
/accepts -Wanonymous-pack-parens... yes checking whether the compiler
/accepts -Warc... yes checking whether the compiler accepts -Warc-abi...
/no checking whether the compiler accepts
/-Warc-bridge-casts-disallowed-in-nonarc... yes checking whether the
/compiler accepts -Warc-maybe-repeated-use-of-weak... yes checking
/whether the compiler accepts -Warc-performSelector-leaks... yes
/checking whether the compiler accepts -Warc-repeated-use-of-weak... yes
/checking whether the compiler accepts -Warray-bounds... yes checking
/whether the compiler accepts -Warray-bounds-pointer-arithmetic... yes
/checking whether the compiler accepts -Wasm... yes checking whether the
/compiler accepts -Wasm-operand-widths... yes checking whether the
/compiler accepts -Watomic-properties... yes checking whether the
/compiler accepts -Watomic-property-with-user-defined-accessor... yes
/checking whether the compiler accepts -Wauto-import... yes checking
/whether the compiler accepts -Wauto-storage-class... yes checking
/whether the compiler accepts -Wauto-var-id... yes checking whether the
/compiler accepts -Wavailability... yes checking whether the compiler
/accepts -Wbackslash-newline-escape... yes checking whether the compiler
/accepts -Wbad-array-new-length... no checking whether the compiler
/accepts -Wbind-to-temporary-copy... yes checking whether the compiler
/accepts -Wbitfield-constant-conversion... yes checking whether the
/compiler accepts -Wbool-conversion... yes checking whether the compiler
/accepts -Wbool-conversions... yes checking whether the compiler accepts
/-Wbuiltin-requires-header... yes checking whether the compiler accepts
/-Wchar-align... yes checking whether the compiler accepts
/-Wcompare-distinct-pointer-types... yes checking whether the compiler
/accepts -Wcomplex-component-init... yes checking whether the compiler
/accepts -Wconditional-type-mismatch... yes checking whether the
/compiler accepts -Wconfig-macros... yes checking whether the compiler
/accepts -Wconstant-conversion... yes checking whether the compiler
/accepts -Wconstant-logical-operand... yes checking whether the compiler
/accepts -Wconstexpr-not-const... yes checking whether the compiler
/accepts -Wcustom-atomic-properties... yes checking whether the compiler
/accepts -Wdangling-field... yes checking whether the compiler accepts
/-Wdangling-initializer-list... yes checking whether the compiler
/accepts -Wdate-time... yes checking whether the compiler accepts
/-Wdelegating-ctor-cycles... yes checking whether the compiler accepts
/-Wdeprecated-implementations... yes checking whether the compiler
/accepts -Wdeprecated-register... yes checking whether the compiler
/accepts -Wdirect-ivar-access... yes checking whether the compiler
/accepts -Wdiscard-qual... yes checking whether the compiler accepts
/-Wdistributed-object-modifiers... yes checking whether the compiler
/accepts -Wdivision-by-zero... yes checking whether the compiler accepts
/-Wdollar-in-identifier-extension... yes checking whether the compiler
/accepts -Wdouble-promotion... yes checking whether the compiler accepts
/-Wduplicate-decl-specifier... yes checking whether the compiler accepts
/-Wduplicate-enum... yes checking whether the compiler accepts
/-Wduplicate-method-arg... yes checking whether the compiler accepts
/-Wduplicate-method-match... yes checking whether the compiler accepts
/-Wduplicated-cond... no checking whether the compiler accepts
/-Wdynamic-class-memaccess... yes checking whether the compiler accepts
/-Wembedded-directive... yes checking whether the compiler accepts
/-Wempty-translation-unit... yes checking whether the compiler accepts
/-Wenum-conversion... yes checking whether the compiler accepts
/-Wexit-time-destructors... yes checking whether the compiler accepts
/-Wexplicit-ownership-type... yes checking whether the compiler accepts
/-Wextern-initializer... yes checking whether the compiler accepts
/-Wextra... yes checking whether the compiler accepts -Wextra-semi...
/yes checking whether the compiler accepts -Wextra-tokens... yes
/checking whether the compiler accepts -Wflexible-array-extensions...
/yes checking whether the compiler accepts -Wfloat-conversion... yes
/checking whether the compiler accepts -Wformat-non-iso... yes checking
/whether the compiler accepts -Wfour-char-constants... yes checking
/whether the compiler accepts -Wgcc-compat... yes checking whether the
/compiler accepts -Wglobal-constructors... yes checking whether the
/compiler accepts -Wgnu-array-member-paren-init... yes checking whether
/the compiler accepts -Wgnu-designator... yes checking whether the
/compiler accepts -Wgnu-static-float-init... yes checking whether the
/compiler accepts -Wheader-guard... yes checking whether the compiler
/accepts -Wheader-hygiene... yes checking whether the compiler accepts
/-Widiomatic-parentheses... yes checking whether the compiler accepts
/-Wignored-attributes... yes checking whether the compiler accepts
/-Wimplicit-atomic-properties... yes checking whether the compiler
/accepts -Wimplicit-conversion-floating-point-to-bool... yes checking
/whether the compiler accepts -Wimplicit-exception-spec-mismatch... yes
/checking whether the compiler accepts -Wimplicit-fallthrough... yes
/checking whether the compiler accepts
/-Wimplicit-fallthrough-per-function... yes checking whether the
/compiler accepts -Wimplicit-retain-self... yes checking whether the
/compiler accepts -Wimport-preprocessor-directive-pedantic... yes
/checking whether the compiler accepts
/-Wincompatible-library-redeclaration... yes checking whether the
/compiler accepts -Wincompatible-pointer-types-discards-qualifiers...
/yes checking whether the compiler accepts
/-Wincomplete-implementation... yes checking whether the compiler
/accepts -Wincomplete-module... yes checking whether the compiler
/accepts -Wincomplete-umbrella... yes checking whether the compiler
/accepts -Winit-self... yes checking whether the compiler accepts
/-Wint-conversions... yes checking whether the compiler accepts
/-Wint-to-void-pointer-cast... yes checking whether the compiler accepts
/-Winteger-overflow... yes checking whether the compiler accepts
/-Winvalid-constexpr... yes checking whether the compiler accepts
/-Winvalid-iboutlet... yes checking whether the compiler accepts
/-Winvalid-noreturn... yes checking whether the compiler accepts
/-Winvalid-pp-token... yes checking whether the compiler accepts
/-Winvalid-source-encoding... yes checking whether the compiler accepts
/-Winvalid-token-paste... yes checking whether the compiler accepts
/-Wknr-promoted-parameter... yes checking whether the compiler accepts
/-Wlarge-by-value-copy... yes checking whether the compiler accepts
/-Wliteral-conversion... yes checking whether the compiler accepts
/-Wliteral-range... yes checking whether the compiler accepts
/-Wlocal-type-template-args... yes checking whether the compiler accepts
/-Wlogical-op... no checking whether the compiler accepts
/-Wloop-analysis... yes checking whether the compiler accepts
/-Wmain-return-type... yes checking whether the compiler accepts
/-Wmalformed-warning-check... yes checking whether the compiler accepts
/-Wmethod-signatures... yes checking whether the compiler accepts
/-Wmicrosoft... yes checking whether the compiler accepts
/-Wmicrosoft-exists... yes checking whether the compiler accepts
/-Wmismatched-parameter-types... yes checking whether the compiler
/accepts -Wmismatched-return-types... yes checking whether the compiler
/accepts -Wmissing-field-initializers... yes checking whether the
/compiler accepts -Wmissing-format-attribute... yes checking whether the
/compiler accepts -Wmissing-noreturn... yes checking whether the
/compiler accepts -Wmissing-selector-name... yes checking whether the
/compiler accepts -Wmissing-sysroot... yes checking whether the compiler
/accepts -Wmissing-variable-declarations... yes checking whether the
/compiler accepts -Wmodule-conflict... yes checking whether the compiler
/accepts -Wnested-anon-types... yes checking whether the compiler
/accepts -Wnewline-eof... yes checking whether the compiler accepts
/-Wnon-literal-null-conversion... yes checking whether the compiler
/accepts -Wnon-pod-varargs... yes checking whether the compiler accepts
/-Wnonportable-cfstrings... yes checking whether the compiler accepts
/-Wnormalized=nfkc... no checking whether the compiler accepts
/-Wnull-arithmetic... yes checking whether the compiler accepts
/-Wnull-character... yes checking whether the compiler accepts
/-Wnull-conversion... yes checking whether the compiler accepts
/-Wnull-dereference... yes checking whether the compiler accepts
/-Wout-of-line-declaration... yes checking whether the compiler accepts
/-Wover-aligned... yes checking whether the compiler accepts
/-Woverlength-strings... yes checking whether the compiler accepts
/-Woverride-init... yes checking whether the compiler accepts
/-Woverriding-method-mismatch... yes checking whether the compiler
/accepts -Wpointer-type-mismatch... yes checking whether the compiler
/accepts -Wpredefined-identifier-outside-function... yes checking
/whether the compiler accepts -Wprotocol-property-synthesis-ambiguity...
/yes checking whether the compiler accepts
/-Wreadonly-iboutlet-property... yes checking whether the compiler
/accepts -Wreadonly-setter-attrs... no checking whether the compiler
/accepts -Wreceiver-expr... yes checking whether the compiler accepts
/-Wreceiver-forward-class... yes checking whether the compiler accepts
/-Wreceiver-is-weak... no checking whether the compiler accepts
/-Wreinterpret-base-class... yes checking whether the compiler accepts
/-Wrequires-super-attribute... yes checking whether the compiler accepts
/-Wreserved-user-defined-literal... yes checking whether the compiler
/accepts -Wreturn-stack-address... yes checking whether the compiler
/accepts -Wsection... yes checking whether the compiler accepts
/-Wselector-type-mismatch... yes checking whether the compiler accepts
/-Wsentinel... yes checking whether the compiler accepts
/-Wserialized-diagnostics... yes checking whether the compiler accepts
/-Wshadow... yes checking whether the compiler accepts
/-Wshift-count-negative... yes checking whether the compiler accepts
/-Wshift-count-overflow... yes checking whether the compiler accepts
/-Wshift-negative-value... yes checking whether the compiler accepts
/-Wshift-overflow=2... no checking whether the compiler accepts
/-Wshift-sign-overflow... yes checking whether the compiler accepts
/-Wshorten-64-to-32... yes checking whether the compiler accepts
/-Wsizeof-array-argument... yes checking whether the compiler accepts
/-Wsource-uses-openmp... yes checking whether the compiler accepts
/-Wstatic-float-init... yes checking whether the compiler accepts
/-Wstatic-in-inline... yes checking whether the compiler accepts
/-Wstatic-local-in-inline... yes checking whether the compiler accepts
/-Wstrict-overflow=1... yes checking whether the compiler accepts
/-Wstring-compare... yes checking whether the compiler accepts
/-Wstring-conversion... yes checking whether the compiler accepts
/-Wstrlcpy-strlcat-size... yes checking whether the compiler accepts
/-Wstrncat-size... yes checking whether the compiler accepts
/-Wsuggest-attribute=format... no checking whether the compiler accepts
/-Wsuggest-attribute=noreturn... no checking whether the compiler
/accepts -Wsuper-class-method-mismatch... yes checking whether the
/compiler accepts -Wswitch-bool... yes checking whether the compiler
/accepts -Wsync-nand... no checking whether the compiler accepts
/-Wtautological-constant-out-of-range-compare... yes checking whether
/the compiler accepts -Wtentative-definition-incomplete-type... yes
/checking whether the compiler accepts -Wtrampolines... no checking
/whether the compiler accepts -Wtype-safety... yes checking whether the
/compiler accepts -Wtypedef-redefinition... yes checking whether the
/compiler accepts -Wtypename-missing... yes checking whether the
/compiler accepts -Wundefined-inline... yes checking whether the
/compiler accepts -Wundefined-internal... yes checking whether the
/compiler accepts -Wundefined-reinterpret-cast... yes checking whether
/the compiler accepts -Wunicode... yes checking whether the compiler
/accepts -Wunicode-whitespace... yes checking whether the compiler
/accepts -Wunknown-warning-option... yes checking whether the compiler
/accepts -Wunnamed-type-template-args... yes checking whether the
/compiler accepts -Wunneeded-member-function... yes checking whether the
/compiler accepts -Wunsequenced... yes checking whether the compiler
/accepts -Wunsupported-visibility... yes checking whether the compiler
/accepts -Wunused-but-set-parameter... no checking whether the compiler
/accepts -Wunused-but-set-variable... no checking whether the compiler
/accepts -Wunused-command-line-argument... yes checking whether the
/compiler accepts -Wunused-const-variable=2... no checking whether the
/compiler accepts -Wunused-exception-parameter... yes checking whether
/the compiler accepts -Wunused-local-typedefs... yes checking whether
/the compiler accepts -Wunused-member-function... yes checking whether
/the compiler accepts -Wunused-sanitize-argument... no checking whether
/the compiler accepts -Wunused-volatile-lvalue... yes checking whether
/the compiler accepts -Wuser-defined-literals... yes checking whether
/the compiler accepts -Wvariadic-macros... yes checking whether the
/compiler accepts -Wvector-conversion... yes checking whether the
/compiler accepts -Wvector-conversions... yes checking whether the
/compiler accepts -Wvexing-parse... yes checking whether the compiler
/accepts -Wvisibility... yes checking whether the compiler accepts
/-Wvla-extension... yes checking whether the compiler accepts
/-Wzero-length-array... yes checking whether the compiler accepts
/@warning_flags... yes checking that generated files are newer than
/configure... done configure: creating ./config.status checking for
/tput... /usr/bin/tput Tor Version: Tor 0.4.3.4-rc Build Features
/Compiler:
//Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk Host OS: darwin19.4.0
/Warnings are fatal (--enable-fatal-warnings): no Rust support
/(--enable-rust): no Cargo Online Fetch (--enable-cargo-online-mode): no
/Android support (--enable-android): no Static Build tor
/(--enable-static-tor): no libevent:
//Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator
/libssl:
//Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator
/zlib1g (--enable-static-zlib): no Optional Libraries libnss
/(--enable-nss): no libseccomp (--disable-seccomp): yes libscrypt
/(--disable-libscrypt): yes Systemd support (--enable-systemd): no
/liblzma (--enable-lzma): yes libzstd (--enable-zstd): no Hardening
/Compiler Hardening (--disable-gcc-hardening): yes Linker Hardening
/(--disable-linker-hardening): no Fragile Hardening
/(--enable-fragile-hardening, dev only): no Modules relay
/(--disable-module-relay): yes dirauth (--disable-module-dirauth): no
/dircache (--disable-module-dircache): yes Documentation AsciiDoc
/(--disable-asciidoc): no Man Pages (--disable-manpage): no HTML Manual
/(--disable-html-manual): no Tests Unit tests (--disable-unittests): no
/assert()s enabled (--enable-asserts-in-tests, dev only): no Code
/Coverage (--enable-coverage): no libFuzzer support
/(--enable-libfuzzer): no OSS-Fuzz support (--enable-oss-fuzz): no
/Install Directories Binaries:
//Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Intermediates.noindex/Tor.build/
/Debug-iphonesimulator/tor-x86_64/bin Configuration:
//Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Intermediates.noindex/Tor.build/
/Debug-iphonesimulator/tor-x86_64/etc/tor Man Pages:
//Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Intermediates.noindex/Tor.build/
/Debug-iphonesimulator/tor-x86_64/share/man Configure Line: ./configure
/--enable-restart-debugging --enable-silent-rules --enable-pic
/--disable-module-dirauth --disable-tool-name-check --disable-unittests
/--enable-static-openssl --enable-static-libevent --disable-asciidoc
/--disable-system-torrc --disable-linker-hardening
/--disable-dependency-tracking --disable-manpage --disable-html-manual
/--prefix=/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Intermediates.noindex/Tor.build/
/Debug-iphonesimulator/tor-x86_64
/--with-libevent-dir=/Users/berhart/Library/Developer/Xcode/DerivedData/
/Tor-atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator
/--with-openssl-dir=/Users/berhart/Library/Developer/Xcode/DerivedData/
/Tor-atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator
/--enable-lzma --enable-zstd=no
/CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk
/CPP=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
/xctoolchain/usr/bin/clang -E -arch x86_64 -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk CPPFLAGS=-g -O0
/-fembed-bitcode-marker
/-I/Users/berhart/workspace/gp/Tor.framework/Tor/tor/core
/-I/Users/berhart/workspace/gp/Tor.framework/Tor/openssl/include
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator/
/openssl-x86_64
/-I/Users/berhart/workspace/gp/Tor.framework/Tor/libevent/include
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator/
/libevent-x86_64
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator/
/libevent-x86_64/include
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator/
/liblzma-x86_64
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug-iphonesimulator/
/liblzma-x86_64/include
/-I/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
/atzjucxhwnhfrqcmzwlymuguursh/Build/Intermediates.noindex/Tor.build/
/Debug-iphonesimulator/tor-sys -isysroot
//Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
/platform/Developer/SDKs/iPhoneSimulator13.4.sdk cross_compiling=yes
/ac_cv_func__NSGetEnviron=no ac_cv_func_clock_gettime=no
/ac_cv_func_getentropy=no LDFLAGS=-lz -fembed-bitcode-marker --no-create
/--no-recursion /bin/sh ./config.status config.status: creating Doxyfile
/config.status: creating Makefile config.status: creating config.rust
/config.status: creating contrib/operator-tools/tor.logrotate
/config.status: creating contrib/dist/tor.service config.status:
/creating src/config/torrc.sample config.status: creating
/src/config/torrc.minimal config.status: creating src/rust/.cargo/config
/config.status: creating scripts/maint/checkOptionDocs.pl config.status:
/creating warning_flags config.status: creating orconfig.h
/config.status: orconfig.h is unchanged config.status: executing
/depfiles commands src/core/libtor-app.a src/lib/libtor-compress.a
/src/lib/libtor-evloop.a src/lib/libtor-tls.a src/lib/libtor-crypt-ops.a
/src/ext/keccak-tiny/libkeccak-tiny.a src/lib/libcurve25519_donna.a
/src/ext/ed25519/ref10/libed25519_ref10.a
/src/ext/ed25519/donna/libed25519_donna.a src/lib/libtor-geoip.a
/src/lib/libtor-process.a src/lib/libtor-buf.a src/lib/libtor-confmgt.a
/src/lib/libtor-pubsub.a src/lib/libtor-dispatch.a src/lib/libtor-time.a
/src/lib/libtor-fs.a src/lib/libtor-encoding.a src/lib/libtor-sandbox.a
/src/lib/libtor-container.a src/lib/libtor-net.a src/lib/libtor-thread.a
/src/lib/libtor-memarea.a src/lib/libtor-math.a src/lib/libtor-meminfo.a
/src/lib/libtor-osinfo.a src/lib/libtor-log.a src/lib/libtor-lock.a
/src/lib/libtor-fdio.a src/lib/libtor-string.a src/lib/libtor-term.a
/src/lib/libtor-smartlist-core.a src/lib/libtor-malloc.a
/src/lib/libtor-wallclock.a src/lib/libtor-err.a
/src/lib/libtor-version.a src/lib/libtor-intmath.a
/src/lib/libtor-ctime.a src/trunnel/libor-trunnel.a
/src/lib/libtor-trace.a
/

comment:14 Changed 7 months ago by nickm

It looks like the configure script was out of date -- so it re-ran autoconf and then ran configure again. The actual info you want is down at the bottom there -- but maybe you should make sure that you re-run autogen.sh and configure after updating to a new version?

comment:15 in reply to:  10 Changed 7 months ago by teor

Replying to tla:

With your fixes I was able to do a new release containing

  • Tor 0.4.2.7
  • libevent 2.1.11
  • OpenSSL 1.1.1f
  • liblzma 5.2.5

https://github.com/iCepa/Tor.framework/releases/tag/v402.7.1

Is there any reason that you dopn't use zstd?

lzma and zstd are used to compress different tor directory documents.

comment:16 Changed 7 months ago by tla

Oh: Tor 0.4.2.7 is not stopping anymore:
https://github.com/iCepa/Tor.framework/issues/62

I'll investigate.

Is there any reason that you don't use zstd?

There sure is one, but I don't know it. Mike devised this and it's not so long ago, that liblzma was added by him.

comment:17 Changed 7 months ago by tla

I improved the build script further:
https://github.com/iCepa/Tor.framework/commit/8881bfb627d2ebbd37eb7aa9cced46092bb0f96e

Now, there's a configure before make show-libs is called.

I can compile 0.4.3.4-rc without problem now.
Master not so great, though:

Ld
/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug/Tor.framework/Versions
/A/Tor normal x86_64 (in target 'Tor-Mac' from project 'Tor') cd
/Users/berhart/workspace/gp/Tor.framework
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.
    /xctoolchain/usr/bin/clang -target x86_64-apple-macos10.9
    /-dynamiclib -isysroot
    //Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.
    /platform/Developer/SDKs/MacOSX10.15.sdk
    /-L/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
    /atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug
    /-F/Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
    /atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug -filelist
    //Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
    /atzjucxhwnhfrqcmzwlymuguursh/Build/Intermediates.noindex/Tor.build/
    /Debug/Tor-Mac.build/Objects-normal/x86_64/Tor.LinkFileList
    /-install_name @rpath/Tor.framework/Tor -Xlinker -rpath -Xlinker
    /@executable_path/../Frameworks -Xlinker -rpath -Xlinker
    /@loader_path/../Frameworks -Xlinker -object_path_lto -Xlinker
    //Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
    /atzjucxhwnhfrqcmzwlymuguursh/Build/Intermediates.noindex/Tor.build/
    /Debug/Tor-Mac.build/Objects-normal/x86_64/Tor_lto.o -Xlinker
    /-export_dynamic -Xlinker -no_deduplicate -fobjc-arc
    /-fobjc-link-runtime -fapplication-extension -framework CFNetwork
    /-ltor-app -ltor-compress -ltor-evloop -ltor-tls -ltor-crypt-ops
    /-lkeccak-tiny -ltor-pubsub -ltor-confmgt -led25519_ref10
    /-led25519_donna -lcurve25519_donna -ltor-geoip -ltor-process
    /-ltor-buf -ltor-time -ltor-fs -ltor-encoding -ltor-sandbox
    /-ltor-container -ltor-net -ltor-thread -ltor-memarea -ltor-math
    /-ltor-meminfo -ltor-osinfo -ltor-dispatch -ltor-log -ltor-lock
    /-ltor-fdio -ltor-string -ltor-term -ltor-smartlist-core
    /-ltor-malloc -ltor-wallclock -ltor-err -ltor-version -ltor-intmath
    /-ltor-ctime -lor-trunnel -ltor-trace -lssl -lcrypto -levent
    /-levent_core -levent_extra -levent_pthreads -llzma -lz -Xlinker
    /-dependency_info -Xlinker
    //Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
    /atzjucxhwnhfrqcmzwlymuguursh/Build/Intermediates.noindex/Tor.build/
    /Debug/Tor-Mac.build/Objects-normal/x86_64/Tor_dependency_info.dat
    /-o
    //Users/berhart/Library/Developer/Xcode/DerivedData/Tor-
    /atzjucxhwnhfrqcmzwlymuguursh/Build/Products/Debug/Tor.framework/
    /Versions/A/Tor
    /
Undefined symbols for architecture x86_64: "_sys_winprocess", referenced
from: _tor_subsystems in libtor-app.a(subsystem_list.o) ld: symbol(s)
not found for architecture x86_64 clang: error: linker command failed
with exit code 1 (use -v to see invocation)

comment:18 Changed 7 months ago by tla

Ok, so it seems Tor doesn't honor SIGNAL SHUTDOWN anymore. The first Tor version I tested was 0.4.1.5 (first stable of 0.4.1).

Sending it with 0.4.0.6, I see this in the logs:

Apr 16 16:31:58.000 [notice] Interrupt: exiting cleanly.

With later Tor versions, this message disappears and the TorThread still hangs around after app wake up.

comment:19 Changed 7 months ago by tla

Resolution: fixed
Status: closedreopened

comment:20 Changed 7 months ago by teor

Looks like you've found two more bugs in two different tor versions.

Please open a separate ticket for each bug, it's easier for us to fix them that way.

comment:21 Changed 7 months ago by tla

Resolution: fixed
Status: reopenedclosed

True.

I opened #33924 and #33925 instead! Thanks!

Note: See TracTickets for help on using tickets.