Bug #1382
Build error latest code git hash 4515f5a
0%
Description
CC build.linux/src/capmt.o
/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/capmt.c:73: warning: unknown option after '#pragma GCC diagnostic' kind
CC build.linux/src/ffdecsa/ffdecsa_interface.o
CC build.linux/src/ffdecsa/ffdecsa_int.o
CC build.linux/tvheadend
./build.linux/src/packet.o: In function `atomic_add':
/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/packet.c:208: undefined reference to `__sync_fetch_and_add_4'
/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/packet.c:83: undefined reference to `__sync_fetch_and_add_4'
./build.linux/src/packet.o: In function `atomic_add':
/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/atomic.h:24: undefined reference to `__sync_fetch_and_add_4'
/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/atomic.h:24: undefined reference to `__sync_fetch_and_add_4'
./build.linux/src/packet.o: In function `atomic_add':
/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/packet.c:74: undefined reference to `__sync_fetch_and_add_4'
./build.linux/src/streaming.o:/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/atomic.h:24: more undefined references to `__sync_fetch_and_add_4' follow
./build.linux/src/subscriptions.o: In function `atomic_exchange':
/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/atomic.h:30: undefined reference to `__sync_lock_test_and_set_4'
./build.linux/src/service.o: In function `atomic_add':
/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/service.c:447: undefined reference to `__sync_fetch_and_add_4'
./build.linux/src/service.o: In function `atomic_add':
/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/atomic.h:24: undefined reference to `__sync_fetch_and_add_4'
./build.linux/src/cwc.o: In function `atomic_add':
/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a/src/atomic.h:24: undefined reference to `__sync_fetch_and_add_4'
collect2: ld returned 1 exit status
make3: * [build.linux/tvheadend] Error 1
make3: Leaving directory `/home/openelec/github/spksrc/spk/tvheadend/work-88f6281/tvheadend-git4515f5a'
make2: [compile_target] Error 2
make2: Leaving directory `/home/openelec/github/spksrc/cross/tvheadend'
make1: [depend_target] Error 2
make1: Leaving directory `/home/openelec/github/spksrc/spk/tvheadend'
make: * [tvheadend] Error 2
History
Updated by Adam Sutton about 12 years ago
- Category set to General
- Status changed from New to Need feedback
- Priority changed from High to Normal
- Found in version changed from 3.2 to 4515f5a
What version of GCC is this?
Adam
Updated by Adam Sutton about 12 years ago
- Status changed from Need feedback to Rejected
Ok,
that would explain things, master no longer supports GCC <4.3, the reason for this is that we were having to maintain all the atomic_* operations for different platforms (including some new func's that Andreas wanted to use and thus far hadn't implemented).
Since in gcc 4.3+ these atomic operations are provided internally, it saves us a lot of effort to simply mandate gcc 4.3+. We did realise this might cause some problems for certain build environments (specifically for embedded/ARM systems etc...) but we hope that people will have time to update their toolchains before 3.4.
If of course you can't do so, then you will need to look at porting the required functions into the TVH code for your build.
Adam
Updated by Randy M about 12 years ago
Can you tell from which commit GCC < 4.3 is unsupported so i at least can update to a more recent build then i'm currently running?
Updated by Adam Sutton about 12 years ago
This one, commit:a40aad8
In theory you could re-instate the old atomic_add functions from before that mod, but I think Andreas is now using (he was certainly planning to) some other atomic functions that TVH never had implementations for.
Adam