eclipse-titan fails to build for Debian_Unstable on OBS
Apparently gcc has been upgraded in debian unstable, and now eclipse-titan fails to build:
[ 161s] g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -DYY_NO_INPUT -DNDEBUG -DLINUX -DUSE_EPOLL -DYY_NO_INPUT -DNDEBUG -DLINUX -DUSE_EPOLL -D_REENTRANT -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-long-long -O2 -fPIC -Wall -Wno-long-long -O2 -fPIC new.cc -o new.o [ 161s] new.cc:21:33: error: ISO C++17 does not allow dynamic exception specifications [ 161s] 21 | void *operator new(size_t size) throw (std::bad_alloc) [ 161s] | ^~~~~
We are building eclipse-titan 6.6.1, which was released in November 2019. The last version upstream tagged is 8.0.0 from June 2021.
The build failure has been fixed in newer releases:
laforge: do you want me to upgrade to a new version (8.0.0?) or backport the patch?
regen-makefile.sh: remove titan < 6.5.1 code path
Prepare to make osmo-ttcn3-hacks.git work with eclipse-titan 8.0.0,
where "ttcn3_makefilegen -v" does not have a "Product number" anymore.
../regen-makefile.sh: 54: ../regen-makefile.sh: arithmetic expression: expecting primary: " >= 65"
regen_makefile.sh: files/flags in separate lines
Make all regen_makefile.sh more readable and diff friendly by moving
each entry in FILES and CPPFLAGS_TTCN3 into separate lines. Order
selftest: add missing Native_FunctionDefs.cc
/usr/bin/ld: Native_Functions.so: undefined reference to `Native__Functions::f__str__tolower(CHARSTRING const&)'
/usr/bin/ld: Native_Functions.so: undefined reference to `Native__Functions::f__inet__hntoa(OCTETSTRING const&)'
/usr/bin/ld: Native_Functions.so: undefined reference to `Native__Functions::f__inet__haddr(CHARSTRING const&)'
/usr/bin/ld: BSSMAP_Templates.so: undefined reference to `Native__Functions::f__inet6__addr(CHARSTRING const&)'
/usr/bin/ld: BSSMAP_Templates.so: undefined reference to `Native__Functions::f__inet__addr(CHARSTRING const&)'
/usr/bin/ld: Native_Functions.so: undefined reference to `Native__Functions::f__str__toupper(CHARSTRING const&)'
/usr/bin/ld: Native_Functions.so: undefined reference to `Native__Functions::f__inet__ntoa(OCTETSTRING const&)'
pgw: add missing BSSGP_EncDec.cc
/usr/bin/ld: BSSGP_Types_part_4.so: undefined reference to `BSSGP__Types::dec__PDU__BSSGP(OCTETSTRING const&)'
/usr/bin/ld: Osmocom_Gb_Types.so: undefined reference to `BSSGP__Types::enc__PDU__BSSGP(BSSGP__Types::PDU__BSSGP const&)'
mme: link against gnutls
/usr/bin/ld: key_derivation.so: undefined reference to `gnutls_hmac_fast'
regen_makefile.sh: set executable name explicitly
Set the executable name in each regen_makefile.sh explicitly with -e,
instead of having it set indirectly from the first .ttcn file. Make it
consistent by placing the name on top of each of these files.
Fix for warning:
ttcn3_makefilegen: warning: File `BSC_Tests.ttcn' was given more than once for the Makefile.
- Status changed from Feedback to New
- Assignee changed from laforge to osmith
I think there is no reason we should stay on ancient versions. Let's upgrade to latest upstream. In the past, the amount of fall-out was relatively minor during upgrades. Of course it makes sense to first at least test if osmo-ttcn3-tests at least still builds with 8.0.0.
Maybe fixeria knows, in the past he had been tracking upstream Titan relatively closely?
- % Done changed from 0 to 50
This patch for regen-makefile.sh is needed: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25745
Otherwise "make compile" ran through (ttcn3 -> C++). I'm running "make all" right now (building all C++ sources).
As expected, 8.0.0 builds on debian unstable:
- Status changed from In Progress to Resolved
- % Done changed from 50 to 100
We don't build these projects in jenkins, so they have probably been broken for some time.
Fixes submitted: https://gerrit.osmocom.org/q/topic:ttcn3-fix-make-all
Everything else built fine with 8.0.0 so I rolled it out to network:osmocom:latest: