make-deb build error on raspberrypi armhf

61 views
Skip to first unread message

Scott Evans (VK7HSE)

unread,
Aug 4, 2023, 6:01:23 AM8/4/23
to Aprx software
Hello to all...

Once upon a time I would have been able to backtrace this and sort out what needs to be done to get the debian packge to build without the following error...

gcc -Wall -g -O2 -z noexecstack  -o aprx-stat erlang.o aprx-stat.o aprxpolls.o valgrind.o timercmp.o -lutil    -lm
/usr/bin/ld: timercmp.o:/home/vk7hse/aprx/timercmp.c:22: multiple definition of `now'; aprx-stat.o:/home/vk7hse/aprx/aprx-stat.c:21: first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:105: aprx-stat] Error 1
make[2]: Leaving directory '/home/vk7hse/aprx'
make[1]: *** [debian/rules:32: build-stamp] Error 2
make[1]: Leaving directory '/home/vk7hse/aprx'
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
make: *** [Makefile:205: make-deb] Error 2

My first concern is that in the debian control file the build standards is c2006 and might need a revision, now I used to do this around that time but havent don it for years so I haven't kept up with all the relevant changes over the years. Now I may be on the wrong path here! 

Just tried building it on an older release of raspberry pi os (buster) and it build without the error ...

doing a build with just make the error is still there but with some more information...

gcc -g -O2 -pthread   -DAPRXVERSION="\"2.9.1-2-g2c84448\"" -DVARRUN="\"/var/run\"" -DVARLOG="\"/var/log/aprx\"" -DCFGFILE="\"/etc/aprx.conf\"" -c timercmp.c
gcc  -o aprx aprx.o ttyreader.o ax25.o aprsis.o beacon.o config.o netax25.o erlang.o aprxpolls.o telemetry.o igate.o cellmalloc.o historydb.o keyhash.o parse_aprs.o dupecheck.o  kiss.o interface.o pbuf.o digipeater.o valgrind.o filter.o dprsgw.o  crc.o  agwpesocket.o netresolver.o timercmp.o  -lutil    -lm -pthread
/usr/bin/ld: ttyreader.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: ttyreader.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: ax25.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: ax25.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: aprsis.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: aprsis.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: beacon.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: beacon.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: config.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: config.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: netax25.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: netax25.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: erlang.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: erlang.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: aprxpolls.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: aprxpolls.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: telemetry.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: telemetry.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: igate.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: igate.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: historydb.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: historydb.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: parse_aprs.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: parse_aprs.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: dupecheck.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: dupecheck.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: kiss.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: kiss.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: interface.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: interface.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: pbuf.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: pbuf.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: digipeater.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: digipeater.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: filter.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: filter.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: dprsgw.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: dprsgw.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: crc.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: crc.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: agwpesocket.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: agwpesocket.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: netresolver.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: netresolver.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
/usr/bin/ld: timercmp.o:/home/vk7hse/src/aprx/aprx.h:45: multiple definition of `pthr_attrs'; aprx.o:/home/vk7hse/src/aprx/aprx.h:45: first defined here
/usr/bin/ld: timercmp.o:/home/vk7hse/src/aprx/aprx.h:44: multiple definition of `aprsis_thread'; aprx.o:/home/vk7hse/src/aprx/aprx.h:44: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:102: aprx] Error 1

Suggestions?
Reply all
Reply to author
Forward
0 new messages