karelia / curlhandle Goto Github PK
View Code? Open in Web Editor NEWCocoa Class wrapping libcurl
Cocoa Class wrapping libcurl
curlhandle 3.1.1 fails to compile in MacPorts on OS X 10.7 Lion with Xcode 4.3.3 or on OS X 10.6 Snow Leopard with Xcode 3.2.6 with this error:
Ld build/Release/CURLHandle.framework/Versions/A/CURLHandle normal x86_64
cd /Volumes/Data/macports/lion/var/macports/build/_Volumes_Data_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource
setenv MACOSX_DEPLOYMENT_TARGET 10.7
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -dynamiclib -L/Volumes/Data/macports/lion/var/macports/build/_Volumes_Data_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/build/Release -L/Volumes/Data/macports/lion/var/macports/build/_Volumes_Data_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource -L/Volumes/Data/macports/lion/var/macports/build/_Volumes_Data_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource -F/Volumes/Data/macports/lion/var/macports/build/_Volumes_Data_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/build/Release -filelist /Volumes/Data/macports/lion/var/macports/build/_Volumes_Data_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/build/CURLHandle.build/Release/CURLHandle.build/Objects-normal/x86_64/CURLHandle.LinkFileList -install_name "@executable_path/../Frameworks/CURLHandle.framework/Versions/A/CURLHandle" -Xlinker -rpath -Xlinker "@loader_path/Frameworks" -mmacosx-version-min=10.7 -lcurl -framework Foundation -framework CFNetwork -framework SystemConfiguration -single_module -compatibility_version 1 -current_version 1 -o /Volumes/Data/macports/lion/var/macports/build/_Volumes_Data_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/build/Release/CURLHandle.framework/Versions/A/CURLHandle
ld: framework not found CFNetwork
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Am I to understand that if you need to support both FTP and SFTP you need to also use the CK2SFTPSession class from https://github.com/karelia/libssh2_sftp-Cocoa-wrapper? or should we be using the latest ConnectionKit to get both?
Unable to replicate this myself but have had a couple reports from users with the following excerpted dump (the stack is nearly identical in each case). Note that I'm using ConnectionKit and not CurlHandle directly. If I should post this issue there instead, let me know.
Crashed Thread: 3 Dispatch queue: com.karelia.CURLMulti.0x608000098a10
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: exc handler [0]
Application Specific Information:
BUG IN CLIENT OF LIBDISPATCH: dispatch_barrier_sync called on queue already owned by current thread
[...stuff omitted...]
Thread 3 Crashed:: Dispatch queue: com.karelia.CURLMulti.0x608000098a10
0 libdispatch.dylib 0x00007fffb74916fb _dispatch_barrier_sync_f_slow + 675
1 com.karelia.CURLHandle 0x000000010d410e39 -[CURLTransferStack cleanupMulti] + 86
2 libdispatch.dylib 0x00007fffb748ef5f _dispatch_call_block_and_release + 12
3 libdispatch.dylib 0x00007fffb7486128 _dispatch_client_callout + 8
4 libdispatch.dylib 0x00007fffb749cb97 _dispatch_queue_serial_drain + 896
5 libdispatch.dylib 0x00007fffb748ed41 _dispatch_queue_invoke + 1046
6 libdispatch.dylib 0x00007fffb7495158 _dispatch_queue_override_invoke + 369
7 libdispatch.dylib 0x00007fffb7487ee0 _dispatch_root_queue_drain + 476
8 libdispatch.dylib 0x00007fffb7487cb7 _dispatch_worker_thread3 + 99
9 libsystem_pthread.dylib 0x00007fffb76d2746 _pthread_wqthread + 1299
10 libsystem_pthread.dylib 0x00007fffb76d2221 start_wqthread + 13
CURLHandle cancel should talk to the multi and tell it to remove the handle - currently it sort of works the other way round, which means that you need access to the multi.
MacPorts is considering updating the CurlHandle port to use this repository (see http://trac.macports.org/ticket/13890#comment:8 for more info), however, it'd be easier if you guys would just keep the portfile up to date yourselves...
I remember the old (ancient) versions had zero support for IPv6, is this still the case in current versions, i cant find any release notes that suggest it is now supported
if not consider this is a feature request :)
Hey,
I was just seeing if it could be code signed, and it actually went through fine, but when I made some changes to the .pch file (commented the log #defines) it stopped working. Validation just wouldn't run. Any ideas what would be causing this?
curlhandle 3.1.1 fails to compile in MacPorts on Lion with Xcode 4.3.3 and its clang compiler, which is:
$ clang -v
Apple clang version 3.1 (tags/Apple/clang-318.0.61) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix
The error is:
/Volumes/Data/macports/lion/var/macports/build/_Volumes_Data_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/CURLFTPSession.m:353:40: error: unexpected '@' in program
return [self executeCustomCommands:@[from, to]
^
It builds fine on OS X 10.8.2 with Xcode 4.6 and its clang, which is Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
.
libcurl is broken under 10.12 and needs to be updated:
https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-broken/
curlhandle 3.1.1 fails to compile in MacPorts on OS X 10.5 Leopard with Xcode 3.1.4:
CompileC build/CURLHandle.build/Release/CURLHandle.build/Objects-normal/i386/CURLHandle.o /opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/CURLHandle.m normal i386 objective-c com.apple.compilers.gcc.4_0
cd /opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource
/Developer/usr/bin/gcc-4.0 -x objective-c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -Os -Wreturn-type -Wunused-variable -mmacosx-version-min=10.5 -gdwarf-2 -I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/build/CURLHandle.build/Release/CURLHandle.build/CURLHandle.hmap -F/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/build/Release -I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/build/Release/include -I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/build/CURLHandle.build/Release/CURLHandle.build/DerivedSources/i386 -I/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/build/CURLHandle.build/Release/CURLHandle.build/DerivedSources -include /var/folders/ms/msB4wNMxEB8E7e2Yj0VJV++++TM/-Caches-/com.apple.Xcode.502/SharedPrecompiledHeaders/CURLHandle_Prefix-egfgmlvyombgwneoyvyvctoaetux/CURLHandle_Prefix.pch -c /opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/CURLHandle.m -o /opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/build/CURLHandle.build/Release/CURLHandle.build/Objects-normal/i386/CURLHandle.o
In file included from /opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/CURLHandle.m:8:
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/CURLHandle.h:94: error: syntax error before ‘curl_usessl’
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/CURLHandle.h:110: error: syntax error before ‘curl_usessl’
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_curlhandle/curlhandle/work/CurlHandle-3.1.1/CURLHandleSource/CURLHandle.h:111: fatal error: method definition not in @implementation context
compilation terminated.
{standard input}:32:FATAL:.abort detected. Assembly stopping.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.