rkdeveloptool icon indicating copy to clipboard operation
rkdeveloptool copied to clipboard

Unable to make in ubuntu lts

Open W0jtini opened this issue 1 year ago • 2 comments

g++ -DHAVE_CONFIG_H -I. -I./cfg -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/usr/include/libusb-1.0 -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cpp main.cpp: In function ‘bool _Z9mergeBootv.part.0()’: main.cpp:1493:43: error: ‘%s’ directive output may be truncated writing up to 557 bytes into a region of size 5 [-Werror=format-truncation=] 1493 | snprintf(buffer, sizeof(buffer), "%s", chip); | ^~ ...... 1534 | chipType = convertChipType(chip + 2); | ~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/stdio.h:894, from DefineHeader.h:3, from main.cpp:11: /usr/include/x86_64-linux-gnu/bits/stdio2.h:71:35: note: ‘__builtin_snprintf’ output between 1 and 558 bytes into a destination of size 5 71 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ cc1plus: all warnings being treated as errors make[1]: *** [Makefile:491: main.o] Error 1 make[1]: Leaving directory '/home/wojtek/rkdeveloptool' make: *** [Makefile:511: all-recursive] Error 1

W0jtini avatar Jun 28 '24 17:06 W0jtini

Just add "-Wno-format-truncation" on line 6 of Makefile.am to suppress this error:

"AM_CPPFLAGS = -Wall -Werror -Wextra -Wreturn-type -Wno-format-truncation -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE $(LIBUSB1_CFLAGS)"

elektronxyz avatar Jul 02 '24 15:07 elektronxyz

Edit file main.cpp in line 1493 like this:

static inline uint32_t convertChipType(const char* chip) {
        char buffer[512];
        memset(buffer, 0, sizeof(buffer));
        if (strlen(chip) < sizeof(buffer))  {
                snprintf(buffer, sizeof(buffer), "%s", chip);
        } else {
                strncpy(buffer, chip, sizeof(buffer) - 1);
                buffer[sizeof(buffer) - 1] = '\0';
        }
        return buffer[0] << 24 | buffer[1] << 16 | buffer[2] << 8 | buffer[3];
}

It works for me

capton586 avatar Oct 30 '24 08:10 capton586