Question: Do these warning messages during my bedops install mean bedops won't work properly?
0
gravatar for Jason
3.4 years ago by
Jason810
United States
Jason810 wrote:

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 • 981 views
ADD COMMENTlink modified 3.4 years ago by Alex Reynolds20k • written 3.4 years ago by Jason810
3
gravatar for Alex Reynolds
3.4 years ago by
Alex Reynolds20k
Seattle, WA USA
Alex Reynolds20k wrote:

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 COMMENTlink modified 3.4 years ago • written 3.4 years ago by Alex Reynolds20k
1

Thanks so much for the quick and informative reply! 

ADD REPLYlink written 3.4 years ago by Jason810
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 925 users visited in the last hour