I got "go get" to download all dependencies on cygwin and when I try to do a make build , I get a couple of category of errors
1) gcc warnings in various dependencies which get treated as errors ( I assume I can use some flag on gcc to ignore these warnings? )
2) Errors like "skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc_s.dll.a when searching for -lgcc_s" . I have bolded them in the below logs
Any pointers? I'll continue to try and find what the issues are and fix them.
PS: I am using Windows Go (not compiled for Cygwin) for running the build from within Cygwin.
My GCC version is
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/lto-wrapper.exe
Target: x86_64-pc-cygwin
Configured with: /cygdrive/i/szsz/tmpp/gcc/gcc-4.9.2-3.x86_64/src/gcc-4.9.2/configure --srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-4.9.2-3.x86_64/src/gcc-4.9.2 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --libdir=/usr/lib --datarootdir=/usr/share --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-tune=generic --enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-libada --enable-libgcj-sublibs --disable-java-awt --disable-symvers --with-ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id
Thread model: posix
gcc version 4.9.2 (GCC)
Build Logs
In file included from internal/src/google/protobuf/any.h:36:0,
from ..\c-protobuf\any.cc:31:
internal/src/google/protobuf/stubs/common.h:207:48: warning: overflow in implicit constant conversion [-Woverflow]
static const int64 kint64max = GOOGLE_LONGLONG(0x7FFFFFFFFFFFFFFF);
^
internal/src/google/protobuf/stubs/common.h:200:28: note: in definition of macro ‘GOOGLE_LONGLONG’
#define GOOGLE_LONGLONG(x) x##LL
^
internal/src/google/protobuf/stubs/common.h:210:51: warning: large integer implicitly truncated to unsigned type [-Woverflow]
static const uint64 kuint64max = GOOGLE_ULONGLONG(0xFFFFFFFFFFFFFFFF);
^
internal/src/google/protobuf/stubs/common.h:201:29: note: in definition of macro ‘GOOGLE_ULONGLONG’
#define GOOGLE_ULONGLONG(x) x##ULL
^
In file included from internal/src/google/protobuf/arena.h:39:0,
from internal/src/google/protobuf/arenastring.h:39,
from internal/src/google/protobuf/any.h:37,
from ..\c-protobuf\any.cc:31:
internal/src/google/protobuf/stubs/atomic_sequence_num.h: In member function ‘google::protobuf::internal::AtomicWord google::protobuf::internal::SequenceNumber::GetNext()’:
internal/src/google/protobuf/stubs/atomic_sequence_num.h:44:47: error: invalid conversion from ‘google::protobuf::internal::AtomicWord* {aka long int*}’ to ‘volatile Atomic32* {aka volatile int*}’ [-fpermissive]
return NoBarrier_AtomicIncrement(&word_, 1) - 1;
^
In file included from internal/src/google/protobuf/stubs/atomicops.h:203:0,
from internal/src/google/protobuf/stubs/atomic_sequence_num.h:33,
from internal/src/google/protobuf/arena.h:39,
from internal/src/google/protobuf/arenastring.h:39,
from internal/src/google/protobuf/any.h:37,
from ..\c-protobuf\any.cc:31:
internal/src/google/protobuf/stubs/atomicops_internals_x86_gcc.h:75:17: note: initializing argument 1 of ‘google::protobuf::internal::Atomic32 google::protobuf::internal::NoBarrier_AtomicIncrement(volatile Atomic32*, google::protobuf::internal::Atomic32)’
inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
^
In file included from internal/src/google/protobuf/generated_message_util.h:44:0,
from internal/src/google/protobuf/arenastring.h:40,
from internal/src/google/protobuf/any.h:37,
from ..\c-protobuf\any.cc:31:
internal/src/google/protobuf/stubs/once.h: In function ‘void google::protobuf::GoogleOnceInit(google::protobuf::ProtobufOnceType*, void (*)())’:
internal/src/google/protobuf/stubs/once.h:125:34: error: invalid conversion from ‘google::protobuf::ProtobufOnceType* {aka long int*}’ to ‘const volatile Atomic32* {aka const volatile int*}’ [-fpermissive]
if (internal::Acquire_Load(once) != ONCE_STATE_DONE) {
^
In file included from internal/src/google/protobuf/stubs/atomicops.h:203:0,
from internal/src/google/protobuf/stubs/atomic_sequence_num.h:33,
from internal/src/google/protobuf/arena.h:39,
from internal/src/google/protobuf/arenastring.h:39,
from internal/src/google/protobuf/any.h:37,
from ..\c-protobuf\any.cc:31:
internal/src/google/protobuf/stubs/atomicops_internals_x86_gcc.h:163:17: note: initializing argument 1 of ‘google::protobuf::internal::Atomic32 google::protobuf::internal::Acquire_Load(const volatile Atomic32*)’
inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
^
In file included from internal/include/rocksdb/status.h:21:0,
from internal/include/rocksdb/listener.h:11,
from internal/include/rocksdb/options.h:22,
from internal/table/adaptive_table_factory.h:10,
from ..\c-rocksdb\adaptive_table_factory.cc:6:
internal/include/rocksdb/slice.h: In member function ‘std::string rocksdb::Slice::ToString(bool) const’:
internal/include/rocksdb/slice.h:81:58: error: ‘snprintf’ was not declared in this scope
snprintf(buf, 10, "%02X", (unsigned char)data_[i]);
^
In file included from internal/table/adaptive_table_factory.h:10:0,
from ..\c-rocksdb\adaptive_table_factory.cc:6:
internal/include/rocksdb/options.h: At global scope:
internal/include/rocksdb/options.h:1189:75: error: large integer implicitly truncated to unsigned type [-Werror=overflow]
uint64_t target_db_size = 68719476736 /* 64GB */);
^
In file included from internal/include/rocksdb/table.h:23:0,
from internal/table/adaptive_table_factory.h:11,
from ..\c-rocksdb\adaptive_table_factory.cc:6:
internal/include/rocksdb/env.h: In member function ‘virtual void rocksdb::Logger::Logv(rocksdb::InfoLogLevel, const char*, va_list)’:
internal/include/rocksdb/env.h:655:53: error: ‘snprintf’ was not declared in this scope
kInfoLogLevelNames[log_level], format);
^
..\c-rocksdb\adaptive_table_factory.cc: In member function ‘virtual std::string rocksdb::AdaptiveTableFactory::GetPrintableTableOptions() const’:
..\c-rocksdb\adaptive_table_factory.cc:86:73: error: ‘snprintf’ was not declared in this scope
table_factory_to_write_->GetPrintableTableOptions().c_str());
^
..\c-rocksdb\adaptive_table_factory.cc:92:70: error: ‘snprintf’ was not declared in this scope
plain_table_factory_->GetPrintableTableOptions().c_str());
^
..\c-rocksdb\adaptive_table_factory.cc:98:76: error: ‘snprintf’ was not declared in this scope
block_based_table_factory_->GetPrintableTableOptions().c_str());
^
..\c-rocksdb\adaptive_table_factory.cc:104:71: error: ‘snprintf’ was not declared in this scope
cuckoo_table_factory_->GetPrintableTableOptions().c_str());
^
cc1plus: all warnings being treated as errors
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../libcygwin.a when searching for -lcygwin
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../libcygwin.a when searching for -lcygwin
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../libcygwin.a when searching for -lcygwin
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lcygwin
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -ladvapi32
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lshell32
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -luser32
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lkernel32
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc_s
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2//libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lgcc
collect2: error: ld returned 1 exit status
In file included from /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/include/c++/random:49:0,
from /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/include/c++/bits/stl_algo.h:66,
from /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/include/c++/algorithm:62,
from ..\c-snappy\snappy-stubs-internal.cc:29:
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/include/c++/bits/random.h:106:26: error: expected unqualified-id before ‘__int128’
{ typedef unsigned __int128 type; };
^
Makefile:70: recipe for target 'build' failed
make: *** [build] Error 2