Date: Wed, 30 Oct 2013 08:49:32 GMT From: Kenji Rikitake <kenji@k2r.org> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/183467: Port sysutils/fusefs-s3fs does not compile on 10.0-BETA2 Message-ID: <201310300849.r9U8nWeu095403@oldred.freebsd.org> Resent-Message-ID: <201310300850.r9U8o3A3041040@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 183467 >Category: ports >Synopsis: Port sysutils/fusefs-s3fs does not compile on 10.0-BETA2 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Oct 30 08:50:03 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Kenji Rikitake >Release: 10.0-BETA2 >Organization: >Environment: FreeBSD wellmax.priv.k2r.org 10.0-BETA2 FreeBSD 10.0-BETA2 #13 r257290: Tue Oct 29 12:31:14 JST 2013 root@wellmax.priv.k2r.org:/usr/obj/usr/src/sys/K2RKERNEL amd64 >Description: 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 -- >How-To-Repeat: cd /usr/ports/sysutils/fusefs-s3fs make >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: --- Makefile.FCS 2013-09-21 08:05:58.000000000 +0900 +++ Makefile 2013-10-30 17:36:48.000000000 +0900 @@ -2,7 +2,7 @@ # $FreeBSD: sysutils/fusefs-s3fs/Makefile 327772 2013-09-20 23:05:58Z bapt $ PORTNAME= s3fs -DISTVERSION= 1.71 +DISTVERSION= 1.73 PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= GOOGLE_CODE @@ -14,6 +14,10 @@ LIB_DEPENDS= curl:${PORTSDIR}/ftp/curl \ xml2:${PORTSDIR}/textproc/libxml2 +USE_GCC= yes +USE_OPENSSL= yes +LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl + GNU_CONFIGURE= yes PLIST_FILES= bin/s3fs USES= fuse pkgconfig --- distinfo.FCS 2013-06-27 16:03:34.000000000 +0900 +++ distinfo 2013-10-29 23:27:12.000000000 +0900 @@ -1,2 +1,2 @@ -SHA256 (s3fs-1.71.tar.gz) = a31a2c318c7149a5f387a69583fcecbf0ce8afa581a89a2a683c5ca5f7331e8d -SIZE (s3fs-1.71.tar.gz) = 167136 +SHA256 (s3fs-1.73.tar.gz) = a82bc35ccc50cd42b175571535697df0d3201cdec23064e53f0c2859de2519ec +SIZE (s3fs-1.73.tar.gz) = 184898 >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310300849.r9U8nWeu095403>