Two different bugs found. Also, one source code update proposed. BUGS: * clang does not compile the current code. Log attached to the end of this section. * OpenSSL is not correctly linked. UPDATE: s3fs-1.71 to s3fs-1.73 update Clang problem details: -- start here -- ===> fusefs-s3fs-1.73_1 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by fusefs-s3fs-1.73_1 for building ===> Extracting for fusefs-s3fs-1.73_1 => SHA256 Checksum OK for s3fs-1.73.tar.gz. ===> Patching for fusefs-s3fs-1.73_1 /usr/bin/sed -i.bak -e 's/libcrypto >= 0.9//g' /usr/ports/sysutils/fusefs-s3fs/work/s3fs-1.73/configure ===> fusefs-s3fs-1.73_1 depends on file: /usr/local/lib/libcrypto.so.8 - found ===> fusefs-s3fs-1.73_1 depends on executable: pkgconf - found ===> fusefs-s3fs-1.73_1 depends on shared library: libfuse.so - found ===> fusefs-s3fs-1.73_1 depends on shared library: curl - found ===> fusefs-s3fs-1.73_1 depends on shared library: xml2 - found ===> Configuring for fusefs-s3fs-1.73_1 ===> FreeBSD 10 autotools fix applied to /usr/ports/sysutils/fusefs-s3fs/work/s3fs-1.73/aclocal.m4 ===> FreeBSD 10 autotools fix applied to /usr/ports/sysutils/fusefs-s3fs/work/s3fs-1.73/configure configure: loading site script /usr/ports/Templates/config.site checking build system type... amd64-portbld-freebsd10.0 checking host system type... amd64-portbld-freebsd10.0 checking target system type... amd64-portbld-freebsd10.0 checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel checking whether build environment is sane... yes checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p checking for gawk... (cached) /usr/bin/awk checking whether make sets $(MAKE)... yes checking for C++ compiler default output file name... a.out checking whether the C++ compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether c++ accepts -g... yes checking for style of include used by make... GNU checking dependency style of c++... gcc3 checking pkg-config is at least version 0.9.0... yes checking for DEPS... yes configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating test/Makefile config.status: creating doc/Makefile config.status: executing depfiles commands ===> Building for fusefs-s3fs-1.73_1 --- all-recursive --- Making all in src --- s3fs.o --- --- curl.o --- --- cache.o --- --- string_util.o --- --- s3fs.o --- c++ -DPACKAGE_NAME=\"s3fs\" -DPACKAGE_TARNAME=\"s3fs\" -DPACKAGE_VERSION=\"1.73\" -DPACKAGE_STRING=\"s3fs\ 1.73\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"s3fs\" -DVERSION=\"1.73\" -I. -I/usr/local/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/usr/local/include/libxml2 -O2 -pipe -fno-omit-frame-pointer -fstack-protector -fno-strict-aliasing -Wall -D_FILE_OFFSET_BITS=64 -MT s3fs.o -MD -MP -MF .deps/s3fs.Tpo -c -o s3fs.o s3fs.cpp --- curl.o --- c++ -DPACKAGE_NAME=\"s3fs\" -DPACKAGE_TARNAME=\"s3fs\" -DPACKAGE_VERSION=\"1.73\" -DPACKAGE_STRING=\"s3fs\ 1.73\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"s3fs\" -DVERSION=\"1.73\" -I. -I/usr/local/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/usr/local/include/libxml2 -O2 -pipe -fno-omit-frame-pointer -fstack-protector -fno-strict-aliasing -Wall -D_FILE_OFFSET_BITS=64 -MT curl.o -MD -MP -MF .deps/curl.Tpo -c -o curl.o curl.cpp --- cache.o --- c++ -DPACKAGE_NAME=\"s3fs\" -DPACKAGE_TARNAME=\"s3fs\" -DPACKAGE_VERSION=\"1.73\" -DPACKAGE_STRING=\"s3fs\ 1.73\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"s3fs\" -DVERSION=\"1.73\" -I. -I/usr/local/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/usr/local/include/libxml2 -O2 -pipe -fno-omit-frame-pointer -fstack-protector -fno-strict-aliasing -Wall -D_FILE_OFFSET_BITS=64 -MT cache.o -MD -MP -MF .deps/cache.Tpo -c -o cache.o cache.cpp --- string_util.o --- c++ -DPACKAGE_NAME=\"s3fs\" -DPACKAGE_TARNAME=\"s3fs\" -DPACKAGE_VERSION=\"1.73\" -DPACKAGE_STRING=\"s3fs\ 1.73\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"s3fs\" -DVERSION=\"1.73\" -I. -I/usr/local/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/usr/local/include/libxml2 -O2 -pipe -fno-omit-frame-pointer -fstack-protector -fno-strict-aliasing -Wall -D_FILE_OFFSET_BITS=64 -MT string_util.o -MD -MP -MF .deps/string_util.Tpo -c -o string_util.o string_util.cpp --- cache.o --- mv -f .deps/cache.Tpo .deps/cache.Po --- s3fs_util.o --- c++ -DPACKAGE_NAME=\"s3fs\" -DPACKAGE_TARNAME=\"s3fs\" -DPACKAGE_VERSION=\"1.73\" -DPACKAGE_STRING=\"s3fs\ 1.73\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"s3fs\" -DVERSION=\"1.73\" -I. -I/usr/local/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/usr/local/include/libxml2 -O2 -pipe -fno-omit-frame-pointer -fstack-protector -fno-strict-aliasing -Wall -D_FILE_OFFSET_BITS=64 -MT s3fs_util.o -MD -MP -MF .deps/s3fs_util.Tpo -c -o s3fs_util.o s3fs_util.cpp --- string_util.o --- mv -f .deps/string_util.Tpo .deps/string_util.Po --- fdcache.o --- c++ -DPACKAGE_NAME=\"s3fs\" -DPACKAGE_TARNAME=\"s3fs\" -DPACKAGE_VERSION=\"1.73\" -DPACKAGE_STRING=\"s3fs\ 1.73\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"s3fs\" -DVERSION=\"1.73\" -I. -I/usr/local/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/usr/local/include/libxml2 -O2 -pipe -fno-omit-frame-pointer -fstack-protector -fno-strict-aliasing -Wall -D_FILE_OFFSET_BITS=64 -MT fdcache.o -MD -MP -MF .deps/fdcache.Tpo -c -o fdcache.o fdcache.cpp --- s3fs.o --- s3fs.cpp:759:53: warning: format specifies type 'unsigned long' but the argument has type 'dev_t' (aka 'unsigned int') [-Wformat] FPRN("[path=%s][mode=%04o][dev=%lu]", path, mode, rdev); ~~~ ^~~~ ./common.h:48:34: note: expanded from macro 'FPRN' #define FPRN(...) FPRINT(0, __VA_ARGS__) ^ ./common.h:23:27: note: expanded from macro 'FPRINT' LOWFPRINT(NEST, __VA_ARGS__); \ ^ ./common.h:18:16: note: expanded from macro 'LOWFPRINT' printf(__VA_ARGS__); \ ^ s3fs.cpp:2742:15: warning: comparison of constant -1 with expression of type 'bool' is always false [-Wtautological-constant-out-of-range-compare] }else if(-1 == aws_format){ ~~ ^ ~~~~~~~~~~ 2 warnings generated. mv -f .deps/s3fs.Tpo .deps/s3fs.Po --- s3fs_util.o --- s3fs_util.cpp:478:10: warning: comparison of 0 > unsigned expression is always false [-Wtautological-compare] if(0 > (maxlen = (size_t)sysconf(_SC_GETGR_R_SIZE_MAX))){ ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. mv -f .deps/s3fs_util.Tpo .deps/s3fs_util.Po --- fdcache.o --- mv -f .deps/fdcache.Tpo .deps/fdcache.Po --- curl.o --- In file included from curl.cpp:45: /usr/include/c++/v1/map:1028:17: error: no matching function for call to object of type 'const case_insensitive_compare_func' if (__tree_.value_comp().key_comp()(__k, __nd->__value_.__cc.first)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/v1/map:1197:36: note: in instantiation of member function 'std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__find_equal_key' requested here __node_base_pointer& __child = __find_equal_key(__parent, __k); ^ curl.cpp:353:28: note: in instantiation of member function 'std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::operator[]' requested here S3fsCurl::mimeTypes[ext] = mimeType; ^ ./curl.h:88:8: note: candidate function not viable: 'this' argument has type 'const case_insensitive_compare_func', but method is not marked const bool operator()(const std::string& a, const std::string& b){ ^ In file included from curl.cpp:45: /usr/include/c++/v1/map:408:17: error: no matching function for call to object of type 'const case_insensitive_compare_func' {return static_cast<const _Compare&>(*this)(__x.__cc.first, __y);} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/v1/__tree:2093:14: note: in instantiation of member function 'std::__1::__map_value_compare<std::__1::basic_string<char>, std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type, case_insensitive_compare_func, true>::operator()' requested here if (!value_comp()(__root->__value_, __v)) ^ /usr/include/c++/v1/__tree:2019:20: note: in instantiation of function template specialization 'std::__1::__tree<std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type, std::__1::__map_value_compare<std::__1::basic_string<char>, std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type, case_insensitive_compare_func, true>, std::__1::allocator<std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type> >::__lower_bound<std::__1::basic_string<char> >' requested here iterator __p = __lower_bound(__v, __root(), __end_node()); ^ /usr/include/c++/v1/map:961:68: note: in instantiation of function template specialization 'std::__1::__tree<std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type, std::__1::__map_value_compare<std::__1::basic_string<char>, std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type, case_insensitive_compare_func, true>, std::__1::allocator<std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type> >::find<std::__1::basic_string<char> >' requested here iterator find(const key_type& __k) {return __tree_.find(__k);} ^ curl.cpp:392:54: note: in instantiation of member function 'std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::find' requested here mimes_t::const_iterator iter = S3fsCurl::mimeTypes.find(ext); ^ ./curl.h:88:8: note: candidate function not viable: 'this' argument has type 'const case_insensitive_compare_func', but method is not marked const bool operator()(const std::string& a, const std::string& b){ ^ In file included from curl.cpp:45: /usr/include/c++/v1/map:411:17: error: no matching function for call to object of type 'const case_insensitive_compare_func' {return static_cast<const _Compare&>(*this)(__x, __y.__cc.first);} ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/v1/__tree:2020:26: note: in instantiation of member function 'std::__1::__map_value_compare<std::__1::basic_string<char>, std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type, case_insensitive_compare_func, true>::operator()' requested here if (__p != end() && !value_comp()(__v, *__p)) ^ /usr/include/c++/v1/map:961:68: note: in instantiation of function template specialization 'std::__1::__tree<std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type, std::__1::__map_value_compare<std::__1::basic_string<char>, std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type, case_insensitive_compare_func, true>, std::__1::allocator<std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::__value_type> >::find<std::__1::basic_string<char> >' requested here iterator find(const key_type& __k) {return __tree_.find(__k);} ^ curl.cpp:392:54: note: in instantiation of member function 'std::__1::map<std::__1::basic_string<char>, std::__1::basic_string<char>, case_insensitive_compare_func, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >::find' requested here mimes_t::const_iterator iter = S3fsCurl::mimeTypes.find(ext); ^ ./curl.h:88:8: note: candidate function not viable: 'this' argument has type 'const case_insensitive_compare_func', but method is not marked const bool operator()(const std::string& a, const std::string& b){ ^ 3 errors generated. *** [curl.o] Error code 1 make[2]: stopped in /usr/ports/sysutils/fusefs-s3fs/work/s3fs-1.73/src 1 error make[2]: stopped in /usr/ports/sysutils/fusefs-s3fs/work/s3fs-1.73/src *** [all-recursive] Error code 1 make[1]: stopped in /usr/ports/sysutils/fusefs-s3fs/work/s3fs-1.73 1 error make[1]: stopped in /usr/ports/sysutils/fusefs-s3fs/work/s3fs-1.73 ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make: stopped in /usr/ports/sysutils/fusefs-s3fs -- end here -- Fix: Added the following flags in the Makefile solves the compilation issue: USE_GCC= yes USE_OPENSSL= yes LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl Patch included for Makefile and distinfo. Patch attached with submission follows: How-To-Repeat: cd /usr/ports/sysutils/fusefs-s3fs make
Maintainer of sysutils/fusefs-s3fs, Please note that PR ports/183467 has just been submitted. If it contains a patch for an upgrade, an enhancement or a bug fix you agree on, reply to this email stating that you approve the patch and a committer will take care of it. The full text of the PR can be found at: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/183467 -- Edwin Groothuis via the GNATS Auto Assign Tool edwin@FreeBSD.org
State Changed From-To: open->feedback Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Author: tijl Date: Tue Mar 4 22:02:51 2014 New Revision: 347074 URL: http://svnweb.freebsd.org/changeset/ports/347074 QAT: https://qat.redports.org/buildarchive/r347074/ Log: - New LIB_DEPENDS syntax. - Staging. - Explicitly link with -lcrypto to fix build when curl has been configured without crypto support. - Add patch to fix build with Clang. PR: ports/183467 Added: head/sysutils/fusefs-s3fs/files/ head/sysutils/fusefs-s3fs/files/patch-src-curl.cpp (contents, props changed) Modified: head/sysutils/fusefs-s3fs/Makefile Modified: head/sysutils/fusefs-s3fs/Makefile ============================================================================== --- head/sysutils/fusefs-s3fs/Makefile Tue Mar 4 21:06:03 2014 (r347073) +++ head/sysutils/fusefs-s3fs/Makefile Tue Mar 4 22:02:51 2014 (r347074) @@ -11,20 +11,17 @@ PKGNAMEPREFIX= fusefs- MAINTAINER= gslin@gslin.org COMMENT= FUSE-based file system backed by Amazon S3 -LIB_DEPENDS= curl:${PORTSDIR}/ftp/curl \ - xml2:${PORTSDIR}/textproc/libxml2 +LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl \ + libxml2.so:${PORTSDIR}/textproc/libxml2 GNU_CONFIGURE= yes -PLIST_FILES= bin/s3fs +PLIST_FILES= bin/s3fs man/man1/s3fs.1.gz USES= fuse pkgconfig +USE_OPENSSL= yes -MAN1= s3fs.1 - -NO_STAGE= yes post-patch: ${REINPLACE_CMD} -e 's/libcrypto >= 0.9//g' ${WRKSRC}/configure - -post-install: - @${CAT} ${PKGMESSAGE} + ${REINPLACE_CMD} -e '/^DEPS_LIBS =/s/$$/ -lcrypto/' \ + ${WRKSRC}/src/Makefile.in .include <bsd.port.mk> Added: head/sysutils/fusefs-s3fs/files/patch-src-curl.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/fusefs-s3fs/files/patch-src-curl.cpp Tue Mar 4 22:02:51 2014 (r347074) @@ -0,0 +1,11 @@ +--- src/curl.cpp.orig 2014-03-04 22:16:31.000000000 +0100 ++++ src/curl.cpp 2014-03-04 22:16:41.000000000 +0100 +@@ -53,7 +53,7 @@ + // Typedef + //------------------------------------------------------------------- + struct case_insensitive_compare_func { +- bool operator ()(const string &a, const string &b) { ++ bool operator ()(const string &a, const string &b) const { + return strcasecmp(a.c_str(), b.c_str()) < 0; + } + }; _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: feedback->closed Fixed in r347074.
Responsible Changed From-To: freebsd-ports-bugs->tijl Fixed in r347074.