www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - linker errors after upgrade to Ubuntu 11.10

reply Sean Silva <chisophugis gmail.com> writes:
I just upgraded to Ubuntu 11.10 (from 11.04). I have attached the error
message. It looks like it is a problem with a reference to
`clock_gettime`.

Any suggestions?
Oct 23 2011
next sibling parent reply Jesse Phillips <jessekphillips+d gmail.com> writes:
Ubuntu made some changes to the linker. See if this information helps and 
report back. This is from a post in digitalmars.D

"Changes to gcc or ld in Ubuntu 11.10 require a small addition to prevent
linker errors referencing librt. "-L-lphobos2" needs to be added to DFLAGS
before "-L-lrt". I spent a long time trying to figure the problem out
before I realized that gcc was tacking on a -lphobos2 to the END of the
command (after the -lrt flag).

"This page: https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition may
explain the behavior, I'm not sure." Justin Whear
Oct 23 2011
next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Monday, October 24, 2011 03:45:14 Jesse Phillips wrote:
 Ubuntu made some changes to the linker. See if this information helps and
 report back. This is from a post in digitalmars.D
 
 "Changes to gcc or ld in Ubuntu 11.10 require a small addition to prevent
 linker errors referencing librt. "-L-lphobos2" needs to be added to DFLAGS
 before "-L-lrt". I spent a long time trying to figure the problem out
 before I realized that gcc was tacking on a -lphobos2 to the END of the
 command (after the -lrt flag).
 
 "This page: https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition may
 explain the behavior, I'm not sure." Justin Whear

It will be fixed with the next release. -L-lrt won't even be needed in dmd.conf anymore. It's being linked in by the compiler just like libpthread is. - Jonathan M Davis
Oct 23 2011
prev sibling parent Sean Silva <chisophugis gmail.com> writes:
== Quote from Jesse Phillips (jessekphillips+d gmail.com)'s article
 Ubuntu made some changes to the linker. See if this information

 report back. This is from a post in digitalmars.D
 "Changes to gcc or ld in Ubuntu 11.10 require a small addition to

 linker errors referencing librt. "-L-lphobos2" needs to be added to

 before "-L-lrt". I spent a long time trying to figure the problem

 before I realized that gcc was tacking on a -lphobos2 to the END of

 command (after the -lrt flag).
 "This page: https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition

 explain the behavior, I'm not sure." Justin Whear

Yup, that did the trick! Everything is working just fine now as far as I can tell.
Oct 23 2011
prev sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Sun, 23 Oct 2011 21:36:10 -0400, Sean Silva <chisophugis gmail.com>  
wrote:

 I just upgraded to Ubuntu 11.10 (from 11.04). I have attached the error
 message. It looks like it is a problem with a reference to
 `clock_gettime`.

 Any suggestions?

It's a "bug" fixed in the upcoming compiler release: http://d.puremagic.com/issues/show_bug.cgi?id=6822 -Steve
Oct 24 2011