Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Every time I've attempted to compile emelfm2 I keep getting this error. What would be the best way forward with this?
Code:
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2a00): multiple definition of `tree_view_buffer_hash'; objs/src/e2_bookmark.o:(.bss+0x2a00): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2a04): multiple definition of `options_queue'; objs/src/e2_bookmark.o:(.bss+0x2a04): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2a08): multiple definition of `options_hash'; objs/src/e2_bookmark.o:(.bss+0x2a08): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2a0c): multiple definition of `options_array'; objs/src/e2_bookmark.o:(.bss+0x2a0c): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2a10): multiple definition of `default_config_file'; objs/src/e2_bookmark.o:(.bss+0x2a10): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2a20): multiple definition of `config_labels'; objs/src/e2_bookmark.o:(.bss+0x2a20): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2ae0): multiple definition of `action_labels'; objs/src/e2_bookmark.o:(.bss+0x2ae0): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2ce8): multiple definition of `toggles_hash'; objs/src/e2_bookmark.o:(.bss+0x2ce8): first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:424: emelfm2] Error 1
most probably it cannot be built with a modern compiler. It was abandoned 8 years ago.
But as usual without details hard to say anything. What OS is it, what compiler is it and actually what did you try to compile? Where is it from?
most probably it cannot be built with a modern compiler. It was abandoned 8 years ago.
But as usual without details hard to say anything. What OS is it, what compiler is it and actually what did you try to compile? Where is it from?
>What computer is it
Toughbook cf-19 mk1
>what os
Void linux i686
>compiler
Gcc
>location
Archive of the last 2014 release emelfm2-0.9.1.tar.bz2 (while the dls taken down you can still grab it from web.archive.org)
>what did I try to compile
Emelfm2
Last edited by hancocktom41; 05-13-2022 at 11:49 AM.
>What computer is it
Toughbook cf-19 mk1
>what os
Void linux i686
>compiler
Gcc
>location
Archive of the last 2014 release emelfm2-0.9.1.tar.bz2 (while the dls taken down you can still grab it from web.archive.org)
>what did I try to compile
Emelfm2
This is useless. pan64 was asking for the version of the compiler, and a link to the source you're trying to compile.
In any case, I just discovered that ArchLinux has it in [community]. This means there's a way to compile it for a modern system. Let's see... aah yes, here it is.
Looks like you will need the -fcommon CFLAG.
This is useless. pan64 was asking for the version of the compiler, and a link to the source you're trying to compile.
In any case, I just discovered that ArchLinux has it in [community]. This means there's a way to compile it for a modern system. Let's see... aah yes, here it is.
Looks like you will need the -fcommon CFLAG.
Okay! Didnt know arch had it in their repos...Ill try out their script. I was thinking he was asking if it was make or cmake, sorry. Gcc is 10.2.1 pre 1.3
Okay so I just pulled this command in terminal
CFLAGS+=' -fcommon' make>output.txt
resulting in the same output:
Code:
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2a08): multiple definition of `options_hash'; objs/src/e2_bookmark.o:(.bss+0x2a08): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2a0c): multiple definition of `options_array'; objs/src/e2_bookmark.o:(.bss+0x2a0c): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2a10): multiple definition of `default_config_file'; objs/src/e2_bookmark.o:(.bss+0x2a10): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2a20): multiple definition of `config_labels'; objs/src/e2_bookmark.o:(.bss+0x2a20): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2ae0): multiple definition of `action_labels'; objs/src/e2_bookmark.o:(.bss+0x2ae0): first defined here
/bin/ld: objs/src/utils/e2_widget.o:(.bss+0x2ce8): multiple definition of `toggles_hash'; objs/src/e2_bookmark.o:(.bss+0x2ce8): first defined here
output.txt showed this message:
linking binary 'emelfm2'
Okay I'm stupid but I figured it out thanks to a little bit of messing around and it works perfectly. All I needed to do was edit the makefile.config file and then under line 249 add a new line where all the cflags are listed put CFLAGS+= -fcommon . I think the main issue was that I needed to remove ' these ' around the word. Honestly was a shot in the wind but it worked perfectly. Thanks again!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.