Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 338360 - incorrect org.eclipse.core.net/natives/unix/linux/makefile
Summary: incorrect org.eclipse.core.net/natives/unix/linux/makefile
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Team (show other bugs)
Version: 4.1   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform Team Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-27 19:50 EST by Igor Vlasenko CLA
Modified: 2022-02-25 16:49 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Igor Vlasenko CLA 2011-02-27 19:50:03 EST
Build Identifier: 3.6.2

there is a mistake in org.eclipse.core.net/natives/unix/linux/makefile:
$(LIBS) is listed _BEFORE_ object files, $(GNOMEPROXY.O) but should be listed 
_AFTER_  object files. 
It does not fail for dynamic linkage with gcc that have by default --no-as-needed option, but always fail if the linkage is static or gcc has --as-needed
option by default (as in some Linux distributions).

in latter case the binaries are produced but invalid due to lots of undefined symbols:
undefined symbol: gconf_client_get_bool
+(/usr/src/tmp/eclipse-buildroot/usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/31/1/.cp/libgnomeproxy-1.0.0.so)
[...]

for details, see http://www.akkadia.org/drepper/dsohowto.pdf

----------------------------------------
        proposed patch:
----------------------------------------
--- build/eclipse-3.6.1-src/plugins/org.eclipse.core.net/natives/unix/linux/make
file    2010-03-29 14:36:30.000000000 +0000                                     
+++ build/eclipse-3.6.1-src/plugins/org.eclipse.core.net/natives/unix/linux/make
file    2011-02-28 00:25:16.095307064 +0000                                     
@@ -38,7 +38,7 @@                                                               
 link: compile                                                                  
        @echo "Building target: $(LIB_NAME_FULL)"                               
        @echo "Invoking: GCC C Linker"                                          
-       gcc $(LINKER_FLAGS) -shared -Wl,-soname,$(LIB_NAME) -o $(LIB_NAME_FULL) 
$(LIBS) $(GNOMEPROXY.O) -lc                                                     
+       gcc $(LINKER_FLAGS) -shared -Wl,-soname,$(LIB_NAME) -o $(LIB_NAME_FULL) 
 $(GNOMEPROXY.O) $(LIBS) -lc                                                    
        @echo "Finished building target: $(LIB_NAME_FULL)"                      
        @echo " "                                                               


----------------------------------------


Reproducible: Always

Steps to Reproduce:
during the build with gcc that have --as-needed option enabled by default.
Comment 1 Lars Vogel CLA 2019-09-24 13:58:12 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.
Comment 2 Eclipse Genie CLA 2022-02-25 16:49:13 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.