ports/183467: Port sysutils/fusefs-s3fs does not compile on 10.0-BETA2
Kenji Rikitake
kenji at k2r.org
Wed Oct 30 08:50:04 UTC 2013
>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 at 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:
More information about the freebsd-ports-bugs
mailing list