Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Compiling, Linking, Debugging of your packages » Cannot enable dynamic (Shared libs) building for release configurations on Linux
Cannot enable dynamic (Shared libs) building for release configurations on Linux [message #15919] Fri, 16 May 2008 04:14 Go to next message
Novo is currently offline  Novo
Messages: 1358
Registered: December 2006
Ultimate Contributor
RELEASE_LINKMODE is set to 1 in the "bm" file. Everything is fine in the debug configuration. Everything looks correctly except it doesn't work as expected. I have this problem at work and at home. There was no problem at home before I reinstalled Ubuntu. (8.04 didn't work for me, so I reinstalled 7.10 back). So, now I do not have officially built version of TheIDE installed either at home or at work, and I have this problem instead.

I've tried to debug TheIDE. I found several places where "bm" files are read. Unfortunately I couldn't find a place where values of Ide::release are assigned. At least I couldn't stop there in debugger.

Does anybody have any idea?

TIA


Regards,
Novo
Re: Cannot enable dynamic (Shared libs) building for release configurations on Linux [message #15920 is a reply to message #15919] Fri, 16 May 2008 07:19 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Have you checked with "Verbose"?

Mirek
Re: Cannot enable dynamic (Shared libs) building for release configurations on Linux [message #15925 is a reply to message #15920] Fri, 16 May 2008 17:08 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1358
Registered: December 2006
Ultimate Contributor
luzr wrote on Fri, 16 May 2008 01:19

Have you checked with "Verbose"?

Mirek


That was first what I did.

Can you tell me where Ide::release is initiaalized, so I can put a breakpoint there? The initialization code can be found at many places. That makes debugging somewhat difficult.


Regards,
Novo
Re: Cannot enable dynamic (Shared libs) building for release configurations on Linux [message #15927 is a reply to message #15925] Sat, 17 May 2008 00:25 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Index<String> Ide::PackageConfig(const Workspace& wspc, int package,
const VectorMap<String, String>& bm, String mainparam,
Host& host, Builder& b, String *target)

(ide/Build.cpp the start of file)

...and the rest is in builder...

Mirek

[Updated on: Sat, 17 May 2008 00:25]

Report message to a moderator

Re: Cannot enable dynamic (Shared libs) building for release configurations on Linux [message #15931 is a reply to message #15919] Sat, 17 May 2008 21:41 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1358
Registered: December 2006
Ultimate Contributor
targetmode is set to 1, m.linkmode is set to 0. I have no idea where Ide::release is initialized. TargetMode has only a default constructor. No setters at all. No place to put a breakpoint.

BTW. Ide::PackageConfig() is called 57 times during building of I18NCtrlLayoutTest.


Regards,
Novo

[Updated on: Sat, 17 May 2008 23:47]

Report message to a moderator

Re: Cannot enable dynamic (Shared libs) building for release configurations on Linux [message #15932 is a reply to message #15931] Sun, 18 May 2008 09:14 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Novo wrote on Sat, 17 May 2008 15:41

targetmode is set to 1, m.linkmode is set to 0. I have no idea where Ide::release is initialized. TargetMode has only a default constructor. No setters at all. No place to put a breakpoint.



It is loaded from config file.

User can set it in output mode dialog. See OutputMode.cpp, beginning of file.

Mirek
Re: Cannot enable dynamic (Shared libs) building for release configurations on Linux [message #15934 is a reply to message #15932] Mon, 19 May 2008 05:21 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1358
Registered: December 2006
Ultimate Contributor
You've mentioned earlier about setting RELEASE_LINKMODE="1" in GCC.bm but Ide::SetupDefaultMethod() reads release.linkmode from RELEASE_SO.

I couldn't make TheIDE stop either in Ide::SetupDefaultMethod (release.linkmode = atoi(map.Get("RELEASE_LINKMODE", "0"))) or in OutMode::Preset(), where RELEASE_LINKMODE is read.

I have no ideas where else RELEASE_LINKMODE can be processed. Serialized configuration files for a workspace store release.linkmode = 0. User interface displays correct values from GCC.bm. GCC.bm is read from ~/.upp/ide. I traced that.

BTW. "Default debug info level" also seems to be ignored by the linker. I wasn't able to get debug information till I added "-g2" to the "Debug options".

Something is definitely wrong ...


Regards,
Novo

[Updated on: Mon, 19 May 2008 05:57]

Report message to a moderator

Re: Cannot enable dynamic (Shared libs) building for release configurations on Linux [message #16173 is a reply to message #15934] Fri, 30 May 2008 18:06 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
This is really weird, everything works well for me.

Maybe you can just try to delete cfg dir?

Mirek
Re: Cannot enable dynamic (Shared libs) building for release configurations on Linux [message #16188 is a reply to message #16173] Sat, 31 May 2008 22:43 Go to previous message
Novo is currently offline  Novo
Messages: 1358
Registered: December 2006
Ultimate Contributor
luzr wrote on Fri, 30 May 2008 12:06

This is really weird, everything works well for me.

Maybe you can just try to delete cfg dir?

Mirek


Sorry for spamming this forum. It turned out I forgot to make changes in Build->Output mode->Link mode.

It was hard for me to realize that building options are set in two separate places.


Regards,
Novo
Previous Topic: Wp64 command line option not needed
Next Topic: Compile and Link OpenGL
Goto Forum:
  


Current Time: Fri Mar 29 02:02:08 CET 2024

Total time taken to generate the page: 0.02556 seconds