Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

getting errors when trying to compile from source #155

Closed
ScarlettPPC opened this issue Apr 27, 2023 · 15 comments
Closed

getting errors when trying to compile from source #155

ScarlettPPC opened this issue Apr 27, 2023 · 15 comments

Comments

@ScarlettPPC
Copy link

[100%] Linking CXX executable abaddon
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: undefined reference to symbol 'dlclose@@GLIBC_2.0'
/bin/ld: /lib32/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/abaddon.dir/build.make:1500: abaddon] Error 1
make[1]: *** [CMakeFiles/Makefile2:119: CMakeFiles/abaddon.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

ouwou added a commit that referenced this issue Apr 27, 2023
@ouwou
Copy link
Member

ouwou commented Apr 27, 2023

can you try on latest master?

@ScarlettPPC
Copy link
Author

Just tried it, I seem to be getting a different error now:

[ 100%] Linking CXX executable abaddon
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_job_queue_cas(unsigned long long volatile*, unsigned long long, unsigned long long)': notifier_gio.cpp:(.text+0x56e8): undefined reference to __sync_val_compare_and_swap_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_job_queue_post': notifier_gio.cpp:(.text+0x5964): undefined reference to __atomic_load_8'
/bin/ld: notifier_gio.cpp:(.text+0x59a8): undefined reference to __atomic_load_8' /bin/ld: notifier_gio.cpp:(.text+0x5a3c): undefined reference to __atomic_load_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_job_queue_next': notifier_gio.cpp:(.text+0x5d54): undefined reference to __atomic_load_8'
/bin/ld: notifier_gio.cpp:(.text+0x5d78): undefined reference to __atomic_load_8' /bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o:notifier_gio.cpp:(.text+0x5dbc): more undefined references to __atomic_load_8' follow
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_resource_manager_data_stream_set_absolute_cursor(ma_resource_manager_data_stream*, unsigned long long)': notifier_gio.cpp:(.text+0x68f10): undefined reference to __atomic_exchange_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_resource_manager_data_stream_unmap(ma_resource_manager_data_stream*, unsigned long long)': notifier_gio.cpp:(.text+0x69fc4): undefined reference to __atomic_load_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_resource_manager_data_stream_seek_to_pcm_frame': notifier_gio.cpp:(.text+0x6a564): undefined reference to __atomic_load_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_resource_manager_data_stream_get_cursor_in_pcm_frames': notifier_gio.cpp:(.text+0x6a95c): undefined reference to __atomic_load_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_node_set_state_time': notifier_gio.cpp:(.text+0x70d7c): undefined reference to __atomic_exchange_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_node_get_state_time': notifier_gio.cpp:(.text+0x70e30): undefined reference to __atomic_load_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_node_get_time': notifier_gio.cpp:(.text+0x7104c): undefined reference to __atomic_load_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_node_set_time': notifier_gio.cpp:(.text+0x710e0): undefined reference to __atomic_exchange_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_node_read_pcm_frames(void*, unsigned int, float*, unsigned int, unsigned int*, unsigned long long)': notifier_gio.cpp:(.text+0x71dbc): undefined reference to __atomic_fetch_add_8'
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_engine_node_process_pcm_frames__sound(void*, float const**, unsigned int*, float**, unsigned int*)': notifier_gio.cpp:(.text+0x75eec): undefined reference to __atomic_load_8'
/bin/ld: notifier_gio.cpp:(.text+0x75f60): undefined reference to __atomic_exchange_8' /bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_sound_seek_to_pcm_frame':
notifier_gio.cpp:(.text+0x7bce8): undefined reference to __atomic_exchange_8' /bin/ld: subprojects/ixwebsocket/libixwebsocket.a(IXWebSocketTransport.cpp.o): in function std::__atomic_base::operator++(int)':
IXWebSocketTransport.cpp:(.text._ZNSt13__atomic_baseIyEppEi[_ZNSt13__atomic_baseIyEppEi]+0x68): undefined reference to `__atomic_fetch_add_8'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/abaddon.dir/build.make:1500: abaddon] Error 1
make[1]: *** [CMakeFiles/Makefile2:119: CMakeFiles/abaddon.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

@ouwou
Copy link
Member

ouwou commented Apr 27, 2023

whats your os/architecture?

@ScarlettPPC
Copy link
Author

Void Linux PPC

@ouwou
Copy link
Member

ouwou commented Apr 27, 2023

can you try linking with -latomic? or by adding target_link_libraries(abaddon atomic) around here
if that works i can try and write a proper fix in cmake

@ScarlettPPC
Copy link
Author

Ok, I did the second one and now I get this:
/bin/ld: CMakeFiles/abaddon.dir/src/notifications/notifier_gio.cpp.o: in function ma_job_queue_cas(unsigned long long volatile*, unsigned long long, unsigned long long)': notifier_gio.cpp:(.text+0x56e8): undefined reference to __sync_val_compare_and_swap_8'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/abaddon.dir/build.make:1500: abaddon] Error 1
make[1]: *** [CMakeFiles/Makefile2:119: CMakeFiles/abaddon.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

@ouwou
Copy link
Member

ouwou commented Apr 27, 2023

so not much i can do myself about that error, but i talked to the maintainer of miniaudio and he might be able to fix that up soonish. ill leave a comment if that happens so you can test it out

@ouwou
Copy link
Member

ouwou commented Apr 27, 2023

oh and silly me for forgetting to mention, but miniaudio is optional. you can compile with -DENABLE_NOTIFICATION_SOUNDS=OFF and it should fix that at the price of losing notification sounds (unless ur notification server supports it anyways)

@ouwou
Copy link
Member

ouwou commented Apr 28, 2023

miniaudio got an update. can you try doing git checkout 1ac2abc36e86623d386b489962d5190d387c042f in subprojects/miniaudio with notification sounds enabled?

@ScarlettPPC
Copy link
Author

It works! Thank you!

@ouwou
Copy link
Member

ouwou commented Apr 29, 2023

It works! Thank you!

noice, ill update the submodule and mess around in cmake to try and get it to automatically link atomic. i dont think its really safe to just link it no matter what so ill probably ask you to test it out after i make those changes

@ouwou
Copy link
Member

ouwou commented Apr 29, 2023

could you give the atomics branch a try? it should work without any changes. im also curious about if miniaudio will even work on whatever device youre using😹(assuming its quite old)

@ScarlettPPC
Copy link
Author

ScarlettPPC commented Apr 29, 2023

Sure, I'll give it a try in a bit! Audio does work for me on the master branch, I can hear the pings. Also the machine in question is a 2004 PowerBook G4 so yeah it's quite old lol

@ScarlettPPC
Copy link
Author

Just tried the atomics branch, it builds successfully

@ouwou
Copy link
Member

ouwou commented Apr 30, 2023

ok perfecto fix is merged now

@ouwou ouwou closed this as completed Apr 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants