Linking fails with "multiple definition of `global_client_list'"
Hi,
the linking, at least on Ubuntu 21.04 and Alpine Linux (docker latest), fails with:
CCLD icecast
/usr/bin/ld: icecast-logging.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-sighandler.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-connection.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-global.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-util.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-slave.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-source.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-stats.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-client.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-xslt.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-fserve.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-admin.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-format.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-format_ogg.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-format_mp3.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-format_midi.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-format_flac.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-format_ebml.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-format_kate.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-format_skeleton.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-format_opus.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-event.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-event_exec.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-auth.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-auth_htpasswd.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-auth_anonymous.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-auth_static.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-auth_enforce_auth.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-auth_url.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-yp.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
/usr/bin/ld: icecast-format_vorbis.o:/home/schlien/devel/icecast-server/src/client.h:146: multiple definition of `global_client_list'; icecast-main.o:/home/schlien/devel/icecast-server/src/client.h:146: first defined here
collect2: error: ld returned 1 exit status
I used ./autogen.sh && ./configure && make -j5 install
to compile.
If I can provide any more information, please let me know.
Best regards, Thomas