icl-utk-edu / papi

Other
115 stars 51 forks source link

papi 7.0.1 -- building with binutils/2.41 -- multiple definition of `_peu_update_control_state #97

Closed ashterenli closed 1 year ago

ashterenli commented 1 year ago

I'm trying to build papi 7.0.1 on aws Graviton3 armv8.

I'm using binutils/2.41

I can build papi fine when I just use

--with-perf-events \

However, if I try

--with-components="perf_event_uncore" \

I get:

564 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525365/cc69uRoe.o: in function `_peu_update_control_state':
565 /home/ec2-user/tmp/1696525365/papi-7.0.1/src/components/perf_event_uncore/perf_event_uncore.c:706: multiple definition of `_peu_update_co    ntrol_state'; /home/ec2-user/tmp/1696525365/cclMuroC.o:/home/ec2-user/tmp/1696525365/papi-7.0.1/src/components/perf_event_uncore/perf_eve    nt_uncore.c:706: first defined here
566 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525365/cc69uRoe.o:/home/ec2-user/tmp/1696525365/papi-7.0.1/src/compon    ents/perf_event_uncore/perf_event_uncore.c:52: multiple definition of `uncore_native_event_table'; /home/ec2-user/tmp/1696525365/cclMuroC    .o:/home/ec2-user/tmp/1696525365/papi-7.0.1/src/components/perf_event_uncore/perf_event_uncore.c:52: first defined here
567 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525365/cc69uRoe.o:/home/ec2-user/tmp/1696525365/papi-7.0.1/src/compon    ents/perf_event_uncore/perf_event_uncore.c:49: multiple definition of `_perf_event_uncore_vector'; /home/ec2-user/tmp/1696525365/cclMuroC    .o:/home/ec2-user/tmp/1696525365/papi-7.0.1/src/components/perf_event_uncore/perf_event_uncore.c:49: first defined here
568 collect2: error: ld returned 1 exit status
569 make[1]: *** [libpapi.so.7.0.1.0] Error 1

If I try

--with-components="perf_event" \

I get:

548 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/ccAQRk2S.o: in function `check_exclude_guest':
549 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/perf_event.c:279: multiple definition of `check_exclude_guest'; /home/    ec2-user/tmp/1696525546/ccDkH0GF.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/perf_event.c:279: first defined her    e
550 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/ccAQRk2S.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/compon    ents/perf_event/perf_event.c:76: multiple definition of `perf_native_event_table'; /home/ec2-user/tmp/1696525546/ccDkH0GF.o:/home/ec2-use    r/tmp/1696525546/papi-7.0.1/src/components/perf_event/perf_event.c:76: first defined here
551 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/ccAQRk2S.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/compon    ents/perf_event/perf_event.c:73: multiple definition of `_perf_event_vector'; /home/ec2-user/tmp/1696525546/ccDkH0GF.o:/home/ec2-user/tmp    /1696525546/papi-7.0.1/src/components/perf_event/perf_event.c:73: first defined here
552 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function `_pe_libpfm4_ntv_name_to_code':
553 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:582: multiple definition of `_pe_libpfm4_ntv_name_    to_code'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c    :582: first defined here
554 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function `_pe_libpfm4_ntv_code_to_name':
555 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:632: multiple definition of `_pe_libpfm4_ntv_code_    to_name'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c    :632: first defined here
556 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function `_pe_libpfm4_ntv_code_to_descr':
557 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:725: multiple definition of `_pe_libpfm4_ntv_code_    to_descr'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.    c:725: first defined here
558 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function `_pe_libpfm4_ntv_code_to_info':
559 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:791: multiple definition of `_pe_libpfm4_ntv_code_    to_info'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c    :791: first defined here
560 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function `_pe_libpfm4_ntv_enum_events':
561 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:831: multiple definition of `_pe_libpfm4_ntv_enum_    events'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:    831: first defined here
562 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function `_pe_libpfm4_shutdown':
563 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1093: multiple definition of `_pe_libpfm4_shutdown    '; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1093:     first defined here
564 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function `_pe_libpfm4_init':
565 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1145: multiple definition of `_pe_libpfm4_init'; /    home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1145: firs    t defined here
566 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function `_peu_libpfm4_init':
567 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1317: multiple definition of `_peu_libpfm4_init';     /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1317: fir    st defined here
568 collect2: error: ld returned 1 exit status

I also tried earlier binutils - 2.37 - still the same errors.

Am I doing something wrong?

adanalis commented 1 year ago

The 'perf_event' and 'perf_event_uncore' components are always built by default. When you try to specify them explicitly the configuration step adds them twice in the list. When I configured using the following line: ./configure --with-components="perf_event"

I saw the following in the output of configure: checking for components to build... perf_event perf_event_uncore perf_event sysdetect

and I encountered similar errors to yours. If all you need is these two components then you should not specify any components explicitly in the configure line.

thanks, Anthony

On Thu, Oct 5, 2023 at 1:18 PM ashterenli @.***> wrote:

I'm trying to build papi 7.0.1 on aws Graviton3 armv8.

I'm using binutils/2.41

I can build papi fine when I just use

--with-perf-events \

However, if I try

--with-components="perf_event_uncore" \

I get:

564 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525365/cc69uRoe.o: in function _peu_update_control_state': 565 /home/ec2-user/tmp/1696525365/papi-7.0.1/src/components/perf_event_uncore/perf_event_uncore.c:706: multiple definition of_peu_update_co ntrol_state'; /home/ec2-user/tmp/1696525365/cclMuroC.o:/home/ec2-user/tmp/1696525365/papi-7.0.1/src/components/perf_event_uncore/perf_eve nt_uncore.c:706: first defined here 566 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525365/cc69uRoe.o:/home/ec2-user/tmp/1696525365/papi-7.0.1/src/compon ents/perf_event_uncore/perf_event_uncore.c:52: multiple definition of uncore_native_event_table'; /home/ec2-user/tmp/1696525365/cclMuroC .o:/home/ec2-user/tmp/1696525365/papi-7.0.1/src/components/perf_event_uncore/perf_event_uncore.c:52: first defined here 567 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525365/cc69uRoe.o:/home/ec2-user/tmp/1696525365/papi-7.0.1/src/compon ents/perf_event_uncore/perf_event_uncore.c:49: multiple definition of_perf_event_uncore_vector'; /home/ec2-user/tmp/1696525365/cclMuroC .o:/home/ec2-user/tmp/1696525365/papi-7.0.1/src/components/perf_event_uncore/perf_event_uncore.c:49: first defined here 568 collect2: error: ld returned 1 exit status 569 make[1]: *** [libpapi.so.7.0.1.0] Error 1

If I try

--with-components="perf_event" \

I get:

548 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/ccAQRk2S.o: in function check_exclude_guest': 549 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/perf_event.c:279: multiple definition ofcheck_exclude_guest'; /home/ ec2-user/tmp/1696525546/ccDkH0GF.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/perf_event.c:279: first defined her e 550 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/ccAQRk2S.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/compon ents/perf_event/perf_event.c:76: multiple definition of perf_native_event_table'; /home/ec2-user/tmp/1696525546/ccDkH0GF.o:/home/ec2-use r/tmp/1696525546/papi-7.0.1/src/components/perf_event/perf_event.c:76: first defined here 551 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/ccAQRk2S.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/compon ents/perf_event/perf_event.c:73: multiple definition of_perf_event_vector'; /home/ec2-user/tmp/1696525546/ccDkH0GF.o:/home/ec2-user/tmp /1696525546/papi-7.0.1/src/components/perf_event/perf_event.c:73: first defined here 552 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function _pe_libpfm4_ntv_name_to_code': 553 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:582: multiple definition of_pe_libpfm4_ntvname to_code'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c :582: first defined here 554 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function _pe_libpfm4_ntv_code_to_name': 555 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:632: multiple definition of_pe_libpfm4_ntvcode to_name'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c :632: first defined here 556 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function _pe_libpfm4_ntv_code_to_descr': 557 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:725: multiple definition of_pe_libpfm4_ntvcode to_descr'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events. c:725: first defined here 558 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function _pe_libpfm4_ntv_code_to_info': 559 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:791: multiple definition of_pe_libpfm4_ntvcode to_info'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c :791: first defined here 560 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function _pe_libpfm4_ntv_enum_events': 561 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:831: multiple definition of_pe_libpfm4_ntvenum events'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c: 831: first defined here 562 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function _pe_libpfm4_shutdown': 563 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1093: multiple definition of_pe_libpfm4_shutdown '; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1093: first defined here 564 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function _pe_libpfm4_init': 565 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1145: multiple definition of_pe_libpfm4_init'; / home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1145: firs t defined here 566 /bm/ashterenli/install/binutils-2.41/bin/ld: /home/ec2-user/tmp/1696525546/cc3OTCSE.o: in function _peu_libpfm4_init': 567 /home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1317: multiple definition of_peu_libpfm4_init'; /home/ec2-user/tmp/1696525546/cclwRKSp.o:/home/ec2-user/tmp/1696525546/papi-7.0.1/src/components/perf_event/pe_libpfm4_events.c:1317: fir st defined here 568 collect2: error: ld returned 1 exit status

I also tried earlier binutils - 2.37 - still the same errors.

Am I doing something wrong?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

ashterenli commented 1 year ago

got it, thank you

gcongiu commented 1 year ago

Since this seems to be resolved I am closing the ticket