Hello! Thank you so much! We moved -latomic to the bottom of cname file to guarantee tee that it will be last one https://github.com/pavel-odintsov/fastnetmon/commit/6ece82da31abde8f55bfd9f1b6b457ec6b85e0f8 and it worked great.
On Fri, 6 May 2022 at 10:20, Patrick Matthäi <[email protected]> wrote: > Hey, > > thank you very much, this was the correct solution! :) > > > Am 06.05.2022 um 00:47 schrieb Pavel Odintsov: > > Hello! > > Thank you so much for your feedback! That's indeed a very tricky one. > > Do you have any link or documentation about this issue in ld? > > I've changed the code > https://github.com/pavel-odintsov/fastnetmon/commit/6ece82da31abde8f55bfd9f1b6b457ec6b85e0f8 > and we will try to build shortly. > > Thank you! > > On Thu, 5 May 2022 at 16:27, YunQiang Su <[email protected]> wrote: > >> >> >> Patrick Matthäi <[email protected]> 于2022年5月5日周四 19:54写道: >> >>> Hello mips(el) porters, >>> (please CC us, we are not subscribed). >>> >>> We are trying to build fastnetmon on mipsel, without success. Maybe you >>> can help us on fixing this?: >>> >>> /usr/bin/c++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. >>> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time >>> -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -rdynamic >>> CMakeFiles/fastnetmon.dir/fastnetmon.cpp.o -o fastnetmon -latomic >>> libgraphite_metrics.a libinfluxdb_metrics.a -lgpr -lgrpc++ -lgrpc >>> libfastnetmon_grpc_pb_cc.a libfastnetmon_pb_cc.a -lprotobuf -lhiredis >>> -lmongoc-1.0 -lbson-1.0 -llog4cpp -lpthread libpatricia.a >>> libfastnetmon_pcap_format.a libipfix_rfc.a libfast_library.a >>> libunified_parser.a -lssl -lcrypto libgobgp_action.a libexabgp_action.a >>> libafpacket_plugin.a libsflow_plugin.a libnetflow_plugin.a libpcap_plugin.a >>> libexample_plugin.a libfastnetmon_logic.a >>> /usr/lib/mipsel-linux-gnu/libboost_thread.so.1.74.0 >>> /usr/lib/mipsel-linux-gnu/libboost_atomic.so.1.74.0 -lpthread >>> /usr/lib/mipsel-linux-gnu/libboost_regex.so.1.74.0 >>> /usr/lib/mipsel-linux-gnu/libboost_program_options.so.1.74.0 >>> /usr/lib/mipsel-linux-gnu/libboost_system.so.1.74.0 libpatricia.a >>> libfastnetmon_pcap_format.a libsimple_packet_capnp.a -lcapnp -lkj -ljson-c >>> -lssl -lcrypto -lgpr -lgrpc++ -lgrpc -lprotobuf libgobgp_api_client_pb_cc.a >>> libgobgp_api_client_grpc_pb_cc.a libattribute_pb_cc.a libunified_parser.a >>> libfastnetmon_packet_parser.a libsimple_packet_parser_ng.a >>> libnetwork_data_structures.a liblibsflow.a libipfix_rfc.a libnetflow.a >>> -lpcap -lhiredis -lmongoc-1.0 -lbson-1.0 libexabgp_action.a >>> libbgp_protocol.a >>> >>> In this command, libfastnetmon_logic.a is put after -latomic, while >> libfastnetmon_logic.a(fastnetmon_logic.cpp.o) uses symbols from libatomic. >> Due to the limitation of gnu ld, -latomic should be put after >> libfastnetmon_logic.a. >> >> /usr/bin/ld: libfastnetmon_logic.a(fastnetmon_logic.cpp.o): undefined >> reference to symbol '__atomic_fetch_add_8@@LIBATOMIC_1.0' >>> /usr/bin/ld: /usr/lib/gcc/mipsel-linux-gnu/11/libatomic.so: error adding >>> symbols: DSO missing from command line >>> >>> >>> >>> -------- Weitergeleitete Nachricht -------- >>> Betreff: Re: GoBGP and FastNetMon on Debian >>> Datum: Thu, 5 May 2022 11:33:33 +0100 >>> Von: Pavel Odintsov <[email protected]> >>> <[email protected]> >>> An: Patrick Matthäi <[email protected]> <[email protected]> >>> >>> Hello! >>> >>> That's extremely strange indeed. >>> >>> Cmake claims that library is here: >>> >>> -- Performing Test HAVE__ATOMIC_ADD_FETCH - Failed >>> -- We have no __atomic_add_fetch, will try linking with libatomic >>> -- Looking for __atomic_add_fetch_8 in atomic >>> -- Looking for __atomic_add_fetch_8 in atomic - found >>> -- Linked with atomic library >>> -- Performing Test HAVE__SYNC_FETCH_AND_ADD >>> -- Performing Test HAVE__SYNC_FETCH_AND_ADD - Failed >>> -- We have no __sync_fetch_and_add on this platform, will try linking with >>> libatomic >>> -- Looking for __sync_fetch_and_add_8 in atomic >>> -- Looking for __sync_fetch_and_add_8 in atomic - not found >>> -- We have no support for __sync_fetch_and_add in atomic library, skip >>> linking >>> >>> Do you have ssh access to any machine with this such architecture? >>> >>> On Thu, 5 May 2022 at 10:37, Patrick Matthäi <[email protected]> >>> wrote: >>> >>>> Hey, >>>> >>>> hmpf, I hate mipsel.. >>>> >>>> https://buildd.debian.org/status/fetch.php?pkg=fastnetmon&arch=mipsel&ver=1.2.0%2Bgit20220505-1&stamp=1651743326&raw=0 >>>> >>>> >>>> Am 05.05.2022 um 02:14 schrieb Pavel Odintsov: >>>> >>>> Good morning! >>>> >>>> I hope you liked your movie yesterday. >>>> >>>> I did my side of task and resurrected logic which >>>> uses __atomic_add_fetch instead of __sync_fetch_and_add: >>>> https://github.com/pavel-odintsov/fastnetmon/commit/dad1c7b0b9fe16d24566649aa92d757050f4ec2a >>>> >>>> >>>> Good news that we have it in place for Debian build for multiple >>>> platforms we had issues previously: >>>> https://salsa.debian.org/debian/fastnetmon/-/blob/master/debian/rules#L11 >>>> >>>> Please keep me updated about mipsel builds. >>>> >>>> We have some work to get rid of atomic increments and replace them by >>>> locks and I hope we will drop this magic in coming releases. >>>> >>>> >>>> On Wed, 4 May 2022 at 18:54, Pavel Odintsov <[email protected]> >>>> wrote: >>>> >>>>> Hello! >>>>> >>>>> Excellent! >>>>> >>>>> Have a great evening! >>>>> >>>>> On Wed, 4 May 2022 at 18:54, Patrick Matthäi <[email protected]> >>>>> wrote: >>>>> >>>>>> Yes i will try tomorrow, now i Went to the Cinema :) >>>>>> >>>>>> Am 04.05.2022 19:45 schrieb Pavel Odintsov <[email protected] >>>>>> >: >>>>>> >>>>>> Hello! >>>>>> >>>>>> It may be really fun but I even had fix for it back in time: >>>>>> https://github.com/pavel-odintsov/fastnetmon/commit/d5711bb3da43bff3f90a33c5d5ab9b5a262660c5 >>>>>> >>>>>> >>>>>> I think it was removed during one of many code refactorings from >>>>>> previous years. >>>>>> >>>>>> I'll return this logic back shortly. >>>>>> >>>>>> Is it possible to set flag cmake .. -DUSE_NEW_ATOMIC_BUILTINS=ON only >>>>>> for mipsel targets? I'm not 100% sure about this patch to enable it for >>>>>> all >>>>>> platforms. >>>>>> >>>>>> Thank you! >>>>>> >>>>>> On Wed, 4 May 2022 at 18:41, Pavel Odintsov <[email protected]> >>>>>> wrote: >>>>>> >>>>>> Hello! >>>>>> >>>>>> Oh, sad stuff indeed. >>>>>> >>>>>> -- Will use new memory model aware atomic builtins >>>>>> -- Performing Test HAVE__ATOMIC_ADD_FETCH >>>>>> -- Performing Test HAVE__ATOMIC_ADD_FETCH - Failed >>>>>> -- We have no __atomic_add_fetch, will try linking with libatomic >>>>>> -- Looking for __atomic_add_fetch_8 in atomic >>>>>> -- Looking for __atomic_add_fetch_8 in atomic - found >>>>>> -- Linked with atomic library >>>>>> -- Performing Test HAVE__SYNC_FETCH_AND_ADD >>>>>> -- Performing Test HAVE__SYNC_FETCH_AND_ADD - Failed >>>>>> -- We have no __sync_fetch_and_add on this platform, will try linking >>>>>> with libatomic >>>>>> -- Looking for __sync_fetch_and_add_8 in atomic >>>>>> -- Looking for __sync_fetch_and_add_8 in atomic - not found >>>>>> -- We have no support for __sync_fetch_and_add in atomic library, >>>>>> skip linking >>>>>> >>>>>> We actually linked with libatomic for __atomic_add_fetch but it looks >>>>>> like __sync_fetch_and_add_8 is missing from libatomic. >>>>>> >>>>>> But I found something in Debian's bug tracker: >>>>>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869805 which is >>>>>> quite insightful about this exact issue. >>>>>> >>>>>> On Wed, 4 May 2022 at 18:17, Patrick Matthäi <[email protected]> >>>>>> wrote: >>>>>> >>>>>> >>>>>> https://buildd.debian.org/status/fetch.php?pkg=fastnetmon&arch=mipsel&ver=1.2.0%2Bgit20220504-1&stamp=1651682939&raw=0 >>>>>> >>>>>> Does not work :/ But I see the -latomic humpf.. >>>>>> Am 04.05.2022 um 14:49 schrieb Pavel Odintsov: >>>>>> >>>>>> Hello! >>>>>> >>>>>> Thank you for feedback. >>>>>> >>>>>> I added some logic to fix it or at least confirm root cause of this >>>>>> issue with atomic: >>>>>> >>>>>> https://github.com/pavel-odintsov/fastnetmon/commit/89e8923759175a104aa491d4d0b683d627088110 >>>>>> >>>>>> Would you mind adding this patch and trying build again? >>>>>> >>>>>> Thank you! >>>>>> >>>>>> On Tue, 3 May 2022 at 19:18, Patrick Matthäi <[email protected]> >>>>>> wrote: >>>>>> >>>>>> >>> >> >> -- >> YunQiang Su >> > > > -- > Sincerely yours, Pavel Odintsov > > > -- > /* > Mit freundlichem Gruß / With kind regards, > Patrick Matthäi > GNU/Linux Debian Developer > > Blog: https://www.linux-dev.org/ > E-Mail: [email protected] > [email protected] > */ > > -- Sincerely yours, Pavel Odintsov

