Opened 14 years ago
Closed 14 years ago
#26261 closed defect (fixed)
libproxy tries to use webkit
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.9.1 |
Keywords: | Cc: | ||
Port: | libproxy |
Description
libproxy failed to build for me:
cd /opt/local/var/macports/build/_Users_rschmidt_macports_dports_net_libproxy/work/libproxy-0.4.0/libproxy && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/libproxy.dir/link.txt --verbose=1 /usr/bin/g++-4.2 -g -Wall -Werror -fvisibility=hidden -pipe -O2 -arch x86_64 -arch i386 -O3 -DNDEBUG -arch x86_64 -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -dynamiclib -headerpad_max_install_names -L/opt/local/lib -arch x86_64 -arch i386 -compatibility_version 1.0.0 -current_version 1.0.0 -o libproxy.1.0.0.dylib -install_name /opt/local/lib/libproxy.1.dylib CMakeFiles/libproxy.dir/extension_config.cpp.o CMakeFiles/libproxy.dir/extension_pacrunner.cpp.o CMakeFiles/libproxy.dir/extension_wpad.cpp.o CMakeFiles/libproxy.dir/proxy.cpp.o CMakeFiles/libproxy.dir/url.cpp.o CMakeFiles/libproxy.dir/modules/config_macosx.cpp.o CMakeFiles/libproxy.dir/modules/ignore_domain.cpp.o CMakeFiles/libproxy.dir/modules/ignore_hostname.cpp.o CMakeFiles/libproxy.dir/modules/ignore_ip.cpp.o CMakeFiles/libproxy.dir/modules/pacrunner_webkit.cpp.o CMakeFiles/libproxy.dir/modules/wpad_dns_alias.cpp.o -L/opt/local/lib ../libmodman/libmodman.0.dylib -lm -lpthread -ldl -framework SystemConfiguration -framework CoreFoundation -lwebkit-1.0 -lgtk-x11-2.0 -lsoup-2.4 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpangoft2-1.0 -lXext -lXfixes -lcairo -lpixman-1 -lpng12 -lXrender -lX11 -lXau -lXdmcp -lpango-1.0 -lfontconfig -lexpat -lfreetype -lxml2 -lpthread -lm -lgnutls -ltasn1 -lgio-2.0 -lz -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv -framework SystemConfiguration -framework CoreFoundation -lwebkit-1.0 -lgtk-x11-2.0 -lsoup-2.4 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpangoft2-1.0 -lXext -lXfixes -lcairo -lpixman-1 -lpng12 -lXrender -lX11 -lXau -lXdmcp -lpango-1.0 -lfontconfig -lexpat -lfreetype -lxml2 -ldl -lgnutls -ltasn1 -lgio-2.0 -lz -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv ld: warning: in /opt/local/lib/libwebkit-1.0.dylib, file was built for unsupported file format which is not the architecture being linked (i386) Undefined symbols: "_JSStringGetUTF8CString", referenced from: jstr2str(OpaqueJSString*, bool) in pacrunner_webkit.cpp.o "_JSValueIsString", referenced from: dnsResolve(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)in pacrunner_webkit.cpp.o webkit_pacrunner::run(libproxy::url const&) in pacrunner_webkit.cpp.o "_JSEvaluateScript", referenced from: webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::run(libproxy::url const&) in pacrunner_webkit.cpp.o "_JSGlobalContextRelease", referenced from: webkit_pacrunner::~webkit_pacrunner()in pacrunner_webkit.cpp.o webkit_pacrunner::~webkit_pacrunner()in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o "_JSGarbageCollect", referenced from: webkit_pacrunner::~webkit_pacrunner()in pacrunner_webkit.cpp.o webkit_pacrunner::~webkit_pacrunner()in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o "_JSCheckScriptSyntax", referenced from: webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::run(libproxy::url const&) in pacrunner_webkit.cpp.o "_JSObjectSetProperty", referenced from: webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o "_JSStringGetMaximumUTF8CStringSize", referenced from: jstr2str(OpaqueJSString*, bool) in pacrunner_webkit.cpp.o jstr2str(OpaqueJSString*, bool) in pacrunner_webkit.cpp.o "_JSGlobalContextCreate", referenced from: webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o "_JSStringCreateWithUTF8CString", referenced from: dnsResolve(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)in pacrunner_webkit.cpp.o myIpAddress(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::run(libproxy::url const&) in pacrunner_webkit.cpp.o "_JSStringRelease", referenced from: jstr2str(OpaqueJSString*, bool) in pacrunner_webkit.cpp.o dnsResolve(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)in pacrunner_webkit.cpp.o myIpAddress(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::run(libproxy::url const&) in pacrunner_webkit.cpp.o webkit_pacrunner::run(libproxy::url const&) in pacrunner_webkit.cpp.o "_JSValueToStringCopy", referenced from: dnsResolve(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)in pacrunner_webkit.cpp.o webkit_pacrunner::run(libproxy::url const&) in pacrunner_webkit.cpp.o "_JSObjectMakeFunctionWithCallback", referenced from: webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o "_JSValueMakeString", referenced from: dnsResolve(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)in pacrunner_webkit.cpp.o myIpAddress(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**)in pacrunner_webkit.cpp.o "_JSContextGetGlobalObject", referenced from: webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o webkit_pacrunner::webkit_pacrunner(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, libproxy::url const&)in pacrunner_webkit.cpp.o ld: symbol(s) not found collect2: ld returned 1 exit status lipo: can't open input file: /var/tmp//ccdSdoaW.out (No such file or directory) make[2]: *** [libproxy/libproxy.1.0.0.dylib] Error 1 make[1]: *** [libproxy/CMakeFiles/libproxy.dir/all] Error 2 make: *** [all] Error 2
Yes, I am trying to build libproxy universal, and yes, libwebkit-1.0.dylib which is provided by webkit-gtk is not universal, but libproxy should not be using libwebkit since it does not declare a dependency on the webkit-gtk port.
Change History (2)
comment:1 Changed 14 years ago by dbevans (David B. Evans)
comment:2 Changed 14 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | new → closed |
problem fixed in r71365 by disabling the webkit pacrunner module to avoid the stealth circular dependency
webkit-gtk -> libsoup -> libproxy -> webkit-gtk
It's possible to build the webkit pacrunner module in libproxy if webkit-gtk is installed first (installing libproxy without the webkit pacrunner enabled) and then reinstall libproxy with the runner enabled. Not sure how to do this in Macports, however, without asking the user to manually install webkit-gtk first if a +webkit variant is enabled rather than declaring a direct dependency on webkit-gtk. Even so, there may be problems lurking on upgrade.
I ran into the same thing but deactivating the old version of libproxy before installing the new seemed to fix it.
I'm not sure what is going on here. libproxy should not depend on webkit-gtk because it is an indirect dependency of webkit-gtk via libsoup.
I'm open to suggestions if you have any.