www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 9510] New: Undefined symbols encountered

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9510

           Summary: Undefined symbols encountered
           Product: D
           Version: D2
          Platform: x86_64
        OS/Version: Mac OS X
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: arthur itssomething.ca


--- Comment #0 from Arthur Castonguay <arthur itssomething.ca> 2013-02-14
07:16:38 PST ---
Running the latest 2.061 compiler on my Mac, I have a simple program that
imports std.stdio, does a bit of math and then writeln's a result.  It compiles
and runs fine on my Linux box.  On the Mac, I'm getting:

dmd -w -O -inline -noboundscheck  p001.d
Undefined symbols for architecture x86_64:
  "_D4core5bitop3bsrFNaNbmZi", referenced from:
      _D3std5array17__T8popFrontTAyaZ8popFrontFNaNbNeKAyaZv in p001.o
      _D3std5array16__T8popFrontTAaZ8popFrontFNaNbNeKAaZv in p001.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

Demangling these:
_D4core5bitop3bsrFNaNbmZi 
    pure nothrow int core.bitop.bsr(ulong)
_D3std5array17__T8popFrontTAyaZ8popFrontFNaNbNeKAyaZv 
   pure nothrow  trusted void
std.array.popFront!(immutable(char)[]).popFront(ref immutable(char)[])
_D3std5array16__T8popFrontTAaZ8popFrontFNaNbNeKAaZv  
   pure nothrow  trusted void std.array.popFront!(char[]).popFront(ref char[])

Interestingly, I'm not even calling using popFront directly in the program.

It was working with a previous version of the compiler (2.060).  I'd installed
the latest since I was getting issues with a program that actually uses
popFront and thought perhaps the newer version would address this issue.  It
appears there be dragons in this area.

Yell if there's additional information you require.  A skeleton of the program
I have is:

import std.stdio;
immutable auto N = 10;
auto func(int n) {
  auto d = N / n;
  return n * d * (d + 1)/2;
}
void main() {
  writeln(func(2)+func(7)-func(14));
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 14 2013
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9510



--- Comment #1 from David Nadlinger <code klickverbot.at> 2013-02-14 07:24:00
PST ---
This looks like an issue caused by stale files.

Please make sure that you don't have any old druntime module/library files
lying around in your search path. If you just copied the 2.061 files over the
2.060 ones, try a completely pristine install to make sure.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 14 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9510



--- Comment #2 from Arthur Castonguay <arthur itssomething.ca> 2013-02-14
12:47:42 PST ---
(In reply to comment #1)
 This looks like an issue caused by stale files.
 
 Please make sure that you don't have any old druntime module/library files
 lying around in your search path. If you just copied the 2.061 files over the
 2.060 ones, try a completely pristine install to make sure.

Will check. However, if this does fix the problem, I'd argue there is a bug in the installer script since I used the DMD installer on the Mac to install this... not from a tarball. It should be ensuring the old stuff is nixed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 14 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9510


Arthur Castonguay <arthur itssomething.ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


--- Comment #3 from Arthur Castonguay <arthur itssomething.ca> 2013-02-15
03:12:22 PST ---
Confirmed that completely removing D and reinstalling addressed the issue. 
Apparently the installer doesn't tidy up first.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 15 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9510



--- Comment #4 from Arthur Castonguay <arthur itssomething.ca> 2013-02-15
03:13:41 PST ---
*** Issue 9509 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 15 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9510


Stewart Gordon <smjg iname.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |smjg iname.com
           Platform|x86_64                      |All
         OS/Version|Mac OS X                    |All


--- Comment #5 from Stewart Gordon <smjg iname.com> 2013-07-14 06:29:19 PDT ---
Was happening under Windows as well, and when just unzipping the files and not
using an installer.  But I remain confused - even if there were obsolete files
in the DMD directory, I would think it wouldn't be a problem as there would be
no references to these files in the files that actually are being used.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 14 2013