Do these warning messages during my bedops install mean bedops won't work properly?
1
0
Entering edit mode
10.0 years ago
Jason ▴ 920

While installing the most recent version of bedops the following two warnings appeared:

In file included from Wig2Bed.cpp:36:
../../../../../interfaces/general-headers/suite/BEDOPS.Constants.hpp:57:5: warning: static_assert declarations are incompatible with C++98
      [-Wc++98-compat]
    static_assert(sizeof(SignedCoordType) >= sizeof(INT_MAX_COORD_VALUE), "INT_MAX_COORD_VALUE is too big!"); // expected-warning {{static_...
    ^
In file included from Wig2Bed.cpp:39:
./Input.hpp:132:38: warning: padding struct 'Wig2Bed::Input' with 3 bytes to align 'inFiles_' [-Wpadded]
        std::vector< std::istream* > inFiles_;
                                     ^
2 warnings generated.
ARCH=x86_64 CC=clang CXX=clang++ make -C applications/bed/conversion/src/wig2bed -f Makefile.darwin
mkdir -p ../../bin && clang++ -o ../../bin/wig2bed_bin_x86_64 -Weverything -O3 -mmacosx-version-min=10.7 -arch x86_64 -lc++  -std=c++11 -stdlib=libc++ Wig2Bed.cpp -iquote../../../../../interfaces/general-headers
In file included from Wig2Bed.cpp:36:
../../../../../interfaces/general-headers/suite/BEDOPS.Constants.hpp:57:5: warning: static_assert declarations are incompatible with C++98
      [-Wc++98-compat]
    static_assert(sizeof(SignedCoordType) >= sizeof(INT_MAX_COORD_VALUE), "INT_MAX_COORD_VALUE is too big!"); // expected-warning {{static_...
    ^
In file included from Wig2Bed.cpp:39:
./Input.hpp:132:38: warning: padding struct 'Wig2Bed::Input' with 7 bytes to align 'inFiles_' [-Wpadded]
        std::vector< std::istream* > inFiles_;
                                     ^
2 warnings generated.
lipo -create applications/bed/conversion/bin/wig2bed_bin_i386 applications/bed/conversion/bin/wig2bed_bin_x86_64 -output applications/bed/conversion/bin/wig2bed_bin

Has anyone else experienced this and will it affect the performance of the program? Also, I've noticed that since the switch to the new maverick OS my installs have not gone as smoothly as before, could this new OS be an issue here?

Thanks

bedops • 2.6k views
ADD COMMENT
3
Entering edit mode
10.0 years ago

Clang in OS X is chatty with warnings, and we see them on our side, as well.

The static_assert issue is an expected warning and can be ignored, as we use (and require) C++11 features not available in the C++98 standard, and so we're unlikely to apply that older standard when compiling. (In fact, we need a fairly recent version of Xcode and the associated command-line toolkit in order to build BEDOPS on OS X, because of the need for C++11 support.)

The padded struct warning is just letting you know that an instance of the Wig2Bed::Input object will be allocated a little more memory in order to maintain word boundaries for the inFiles_ instance variable; this can also be ignored. We can explore re-ordering the declaration of variables to reduce padding, but wig2bed will function normally, all else the same.

ADD COMMENT
1
Entering edit mode

Thanks so much for the quick and informative reply!

ADD REPLY

Login before adding your answer.

Traffic: 1623 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6