AltraMayor / f3

F3 - Fight Flash Fraud
https://fight-flash-fraud.readthedocs.io/en/stable/
GNU General Public License v3.0
2.5k stars 141 forks source link

Fails to build on i686 (glibc 2.23) #227

Open Zopolis4 opened 1 week ago

Zopolis4 commented 1 week ago

Built from git tag v8.0, using make PREFIX=/usr/local.

cc -O2 -pipe -ffat-lto-objects -fPIC  -fuse-ld=mold  -fno-lto -std=c99 -Wall -Wextra -pedantic -MMD -ggdb   -c -o utils.o utils.c
cc -O2 -pipe -ffat-lto-objects -fPIC  -fuse-ld=mold  -fno-lto -std=c99 -Wall -Wextra -pedantic -MMD -ggdb   -c -o libflow.o libflow.c
cc -O2 -pipe -ffat-lto-objects -fPIC  -fuse-ld=mold  -fno-lto -std=c99 -Wall -Wextra -pedantic -MMD -ggdb   -c -o f3write.o f3write.c
cc -O2 -pipe -ffat-lto-objects -fPIC  -fuse-ld=mold  -fno-lto -std=c99 -Wall -Wextra -pedantic -MMD -ggdb   -c -o f3read.o f3read.c
libflow.c: In function ‘is_rate_above’:
libflow.c:190:22: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘unsigned int’ [-Wsign-compare]
  190 |         return delay > fw->delay_ms || inst_speed > fw->max_process_rate;
      |                      ^
libflow.c: In function ‘is_rate_below’:
libflow.c:197:22: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘unsigned int’ [-Wsign-compare]
  197 |         return delay <= fw->delay_ms && inst_speed < fw->max_process_rate;
      |                      ^~
cc -o f3write utils.o libflow.o f3write.o -fno-lto -lm
/usr/local/bin/ld: libflow.o: in function `argp_usage':
/usr/local/include/argp.h:563: multiple definition of `argp_usage'; utils.o:/usr/local/include/argp.h:563: first defined here
/usr/local/bin/ld: libflow.o: in function `_option_is_short':
/usr/local/include/argp.h:569: multiple definition of `_option_is_short'; utils.o:/usr/local/include/argp.h:569: first defined here
/usr/local/bin/ld: libflow.o: in function `_option_is_end':
/usr/local/include/argp.h:581: multiple definition of `_option_is_end'; utils.o:/usr/local/include/argp.h:581: first defined here
/usr/local/bin/ld: f3write.o: in function `argp_usage':
/usr/local/include/argp.h:563: multiple definition of `argp_usage'; utils.o:/usr/local/include/argp.h:563: first defined here
/usr/local/bin/ld: f3write.o: in function `_option_is_short':
/usr/local/include/argp.h:569: multiple definition of `_option_is_short'; utils.o:/usr/local/include/argp.h:569: first defined here
/usr/local/bin/ld: f3write.o: in function `_option_is_end':
/usr/local/include/argp.h:581: multiple definition of `_option_is_end'; utils.o:/usr/local/include/argp.h:581: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:35: f3write] Error 1
make: *** Waiting for unfinished jobs....
Command "make -j8 PREFIX=/usr/local" failed, retrying with "-j1"...
cc -o f3write utils.o libflow.o f3write.o -fno-lto -lm
/usr/local/bin/ld: libflow.o: in function `argp_usage':
/usr/local/include/argp.h:563: multiple definition of `argp_usage'; utils.o:/usr/local/include/argp.h:563: first defined here
/usr/local/bin/ld: libflow.o: in function `_option_is_short':
/usr/local/include/argp.h:569: multiple definition of `_option_is_short'; utils.o:/usr/local/include/argp.h:569: first defined here
/usr/local/bin/ld: libflow.o: in function `_option_is_end':
/usr/local/include/argp.h:581: multiple definition of `_option_is_end'; utils.o:/usr/local/include/argp.h:581: first defined here
/usr/local/bin/ld: f3write.o: in function `argp_usage':
/usr/local/include/argp.h:563: multiple definition of `argp_usage'; utils.o:/usr/local/include/argp.h:563: first defined here
/usr/local/bin/ld: f3write.o: in function `_option_is_short':
/usr/local/include/argp.h:569: multiple definition of `_option_is_short'; utils.o:/usr/local/include/argp.h:569: first defined here
/usr/local/bin/ld: f3write.o: in function `_option_is_end':
/usr/local/include/argp.h:581: multiple definition of `_option_is_end'; utils.o:/usr/local/include/argp.h:581: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:35: f3write] Error 1

See also #130.

Zopolis4 commented 1 week ago

Was able to get it to build like so:

git clone https://github.com/AltraMayor/f3
cd f3
git checkout v8.0
git clone https://github.com/xhebox/libuargp
make -C libuargp prefix=/usr/local
make -C libuargp prefix=/usr/local includedir= libdir= DESTDIR=$PWD install
make PREFIX=/usr/local

sometimes, that is. i can't actually get this build to work in the package file.