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

Multiple definition error while compiling on a 32bit machine. #3919

Closed
verso9 opened this issue May 16, 2024 · 1 comment
Closed

Multiple definition error while compiling on a 32bit machine. #3919

verso9 opened this issue May 16, 2024 · 1 comment

Comments

@verso9
Copy link

verso9 commented May 16, 2024

Output of awesome --version:
awesome-4.3

REPLACE with full version output

How to reproduce the issue:
Have a clean (no desktop enviroments) debian-12.4-1386 installation.
Install awesome dependencies:
sudo apt install asciidoctor debhelper-compat imagemagick libcairo2-dev libdbus-1-dev libgdk-pixbuf2.0-dev libglib2.0-dev libpango1.0-dev libstartup-notification0-dev libx11-xcb-dev libxcb-cursor-dev libxcb-icccm4-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-util0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xrm-dev libxcb-xtest0-dev libxdg-basedir-dev libxkbcommon-dev libxkbcommon-x11-dev x11proto-core-dev xmlto zsh build-essential dbus-x11 gir1.2-gtk-3.0 libxcb-icccm4-dev libxcb-util0-dev libxcb1-dev x11-apps x11-utils x11-xserver-utils xfonts-base xterm xvfb libxcb-xfixes0-dev
Run make

Actual result:
Output

 [ 66%] Built target setup_directories

[ 67%] Built target generate_awesomerc

[ 68%] Linking C executable awesome 

This is the stage where the compiling process breaks.

I get lots of these errors:

/usr/bin/ld: CMakeFiles/awesome.dir/objects/tag.c.o:/home/sander/git/awesome-luajit/src/awesome-4.3/build/objects/tag.h:49: multiple definition of `tag_class'; CMakeFiles/awesome.dir/event.c.o:/home/sander/git/awesome-luajit/src/awesome-4.3/build/objects/tag.h:49: first defined here
/usr/bin/ld: CMakeFiles/awesome.dir/objects/tag.c.o:/home/sander/git/awesome-luajit/src/awesome-4.3/build/luaa.h:314: multiple definition of `global_signals'; CMakeFiles/awesome.dir/awesome.c.o:/home/sander/git/awesome-luajit/src/awesome-4.3/build/luaa.h:314: first defined here
/usr/bin/ld: CMakeFiles/awesome.dir/objects/tag.c.o:/home/sander/git/awesome-luajit/src/awesome-4.3/build/objects/client.h:195: multiple definition of `client_class'; CMakeFiles/awesome.dir/awesome.c.o:/home/sander/git/awesome-luajit/src/awesome-4.3/build/objects/client.h:195: first defined here
/usr/bin/ld: CMakeFiles/awesome.dir/objects/tag.c.o:/home/sander/git/awesome-luajit/src/awesome-4.3/build/objects/window.h:83: multiple definition of `window_class'; CMakeFiles/awesome.dir/awesome.c.o:/home/sander/git/awesome-luajit/src/awesome-4.3/build/objects/window.h:83: first defined here
/usr/bin/ld: CMakeFiles/awesome.dir/objects/tag.c.o:/home/sander/git/awesome-luajit/src/awesome-4.3/build/objects/button.h:42: multiple definition of `button_class'; CMakeFiles/awesome.dir/awesome.c.o:/home/sander/git/awesome-luajit/src/awesome-4.3/build/objects/button.h:42: first defined here

Expected result:
Have a clean compilation process just like on a 64bit machine

I know the error is Multiple definition of ...
But I don' know how to solve it.
Did I missed a step?
Are there other steps for 32-bit PC's?
Do you think it will compile, i really wouldn't like to go back to DWM.

@awilfox
Copy link

awilfox commented May 28, 2024

This is because you are using GCC 10 or later. It happens to me on a 64-bit machine as well. It is fixed by d256d90.

Note that this commit does not apply cleanly to the tree without applying c5202a4 first, but the difference is only in the context, so you could probably manually apply it without.

@actionless actionless closed this as not planned Won't fix, can't repro, duplicate, stale May 28, 2024
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

3 participants