View mode: basic / threaded / horizontal-split · Log in · Help
February 14, 2013
[Issue 9510] New: Undefined symbols encountered
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: -------
February 14, 2013
[Issue 9510] core.bitop.bsr undefined
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: -------
February 14, 2013
[Issue 9510] core.bitop.bsr undefined
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: -------
February 15, 2013
[Issue 9510] core.bitop.bsr undefined
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: -------
February 15, 2013
[Issue 9510] core.bitop.bsr undefined
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: -------
July 14, 2013
[Issue 9510] core.bitop.bsr undefined
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: -------
Top | Discussion index | About this forum | D home