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

Reply via email to