[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: rdynamic? Re: ProjectCenter running or building
From: |
David Chisnall |
Subject: |
Re: rdynamic? Re: ProjectCenter running or building |
Date: |
Mon, 13 Jan 2020 09:24:22 +0000 |
-rdynamic is fine. This means put all symbols on the dynamic symbol table.
The problem is -r, which means do a partial link. Some linkers do too much of
one and prevent the final link from correctly placing everything in the correct
sections.
David
> On 13 Jan 2020, at 00:05, Patryk Laurent <plaurent@me.com> wrote:
>
> Hi,
>
> On December 29, 2019 at 6:21 AM, David Chisnall <gnustep@theravensnest.org>
> wrote:
>
>> On 29 Dec 2019, at 13:16, Fred Kiefer <fredkiefer@gmx.de> wrote:
>>>
>>>> 2019-12-29 00:35:39.702 ProjectCenter[10666:10666] NSDocumentClass
>>>> PCProjectDocument not found
>>
>> Is this project using ld -r (I forget what GNUstep Make calls this -
>> subprojects?)? If so, it may be the same issue as Base Additions, which
>> can’t be linked with BFD LD.
>>
>> David
>
> On January 6, 2020 at 3:48 AM, David Chisnall <gnustep@theravensnest.org>
> wrote:
>
>> On 05/01/2020 16:15, Patryk Laurent wrote:
>>> Do you think the bug is also is in ld.gold? During build, we set
>>> LD=/usr/bin/ld.gold (for
>>> example,https://github.com/plaurent/gnustep-build/blob/master/ubuntu-19.10-clang-9.0-runtime-2.0/GNUstep-buildon-ubuntu1910.sh#L46)
>>
>> Is $LD actually used to build? Most of the time, $CC is invoked as the
>> linker, so you need -fuse-ld=gold in the LDFLAGS.
>>
>> David
>
> While building ProjectCenter I see the use of clang -rdynamic, it looks like
> it's coming in from gnustep-config --objc-libs. Is this the "-r" you were
> mentioning before, and may be causing the problem with the
> frameworks/subprojects and resource bundle loading?
>
> Should we try to find some way to disable it? What is the recommended way to
> do this?
>
> Best,
> Patryk
>
>
> clang -shared -Wl,-soname,libProjectCenter.so.0 -rdynamic
> -fuse-ld=/usr/bin/ld.gold -L/usr/local/lib -pthread -fexceptions -o
> ./ProjectCenter.framework/Versions/0.6.2/./libProjectCenter.so.0.6.2 obj/
> ProjectCenter.obj/NSFramework_ProjectCenter.o
> obj/ProjectCenter.obj/PCBundleManager.m.o
> obj/ProjectCenter.obj/PCEditorManager.m.o
> obj/ProjectCenter.obj/PCMakefileFactory.m.o
> obj/ProjectCenter.obj/PCFileManager.m.o obj/
> ProjectCenter.obj/PCAddFilesPanel.m.o obj/ProjectCenter.obj/PCFileCreator.m.o
> obj/ProjectCenter.obj/ PCSaveModified.m.o
> obj/ProjectCenter.obj/PCProjectManager.m.o
> obj/ProjectCenter.obj/PCProject.m.o obj/
> ProjectCenter.obj/PCProjectWindow.m.o
> obj/ProjectCenter.obj/PCProjectInspector.m.o obj/ProjectCenter.obj/
> PCProjectBuilder.m.o obj/ProjectCenter.obj/PCProjectBuilderOptions.m.o
> obj/ProjectCenter.obj/ PCProjectBuilderPanel.m.o
> obj/ProjectCenter.obj/PCProjectLauncher.m.o obj/ProjectCenter.obj/
> PCProjectLauncherPanel.m.o obj/ProjectCenter.obj/PCProjectEditor.m.o
> obj/ProjectCenter.obj/PCProjectBrowser.m.o
> obj/ProjectCenter.obj/PCProjectLoadedFiles.m.o
> obj/ProjectCenter.obj/PCProjectLoadedFilesPanel.m.o obj/
> ProjectCenter.obj/PCButton.m.o obj/ProjectCenter.obj/PCFileNameField.m.o
> obj/ProjectCenter.obj/PCFileNameIcon.m.o
> obj/ProjectCenter.obj/PCLogController.m.o
> obj/ProjectCenter.obj/PCAuxiliaryWindow.m.o -L../
> ProjectCenter/./obj -L/home/patryk/GNUstep/Library/Libraries
> -L/usr/GNUstep/Local/Library/Libraries
> -L/usr/GNUstep/System/Library/Libraries -lobjc -lgnustep-base -lgnustep-gui
>
>
> clang -shared -rdynamic -fuse-ld=/usr/bin/ld.gold -L/usr/local/lib -pthread
> -fexceptions -o ./ProjectCe
> nter.debugger/./ProjectCenter ./obj/ProjectCenter.obj/PCDebugger.m.o
> ./obj/ProjectCenter.obj/PCDebuggerView.m.
> o ./obj/ProjectCenter.obj/PipeDelegate.m.o
> -L../../../Framework/ProjectCenter.framework/. -L/home/patryk/
> GNUstep/Library/Libraries -L/usr/GNUstep/Local/Library/Libraries
> -L/usr/GNUstep/System/Library/Libraries
> -lgnustep-gui -lgnustep-base -lpthread -lobjc -lm
>
>
> clang -rdynamic -fuse-ld=/usr/bin/ld.gold -L/usr/local/lib -pthread
> -fexceptions -fobjc-runtime=gnuste
> p-2.0 -fblocks -o ProjectCenter.app/./ProjectCenter \
> ./obj/ProjectCenter.obj/PCAppController.m.o
> ./obj/ProjectCenter.obj/PCInfoController.m.o
> ./obj/ProjectCenter.obj/PCMenuController.m.o
> ./obj/ProjectCenter.obj/PCPrefController.m.o
> ./obj/ProjectCenter.obj/ProjectCenter_main.m.o
> -L./Framework/ProjectCenter.framework/.
> -L/home/patryk/GNUstep/Library/Libraries
> -L/usr/GNUstep/Local/Library/Libraries
> -L/usr/GNUstep/System/Library/Libraries -lProjectCenter -lgnustep-gui
> -lgnustep-base -lpthread -lobjc -lm
>
>
>
>