[Bug 217] undefined reference to `OutBuffer::writestring(char const*)'

via D.gnu d.gnu at puremagic.com
Sat Jun 10 16:00:20 PDT 2017


https://bugzilla.gdcproject.org/show_bug.cgi?id=217

Iain Buclaw <ibuclaw at gdcproject.org> changed:

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

--- Comment #9 from Iain Buclaw <ibuclaw at gdcproject.org> ---
(In reply to Johannes Pfau from comment #8)
> All files in dfrontend are c++ files with the .c extension. This was never
> an issue.
> 
> Also version.c isn't the problem. The problem is your build compiles
> version.c to VERSION.o (this is OK) but then tries to link VERSION.o into
> VERSION (and it shouldn't do this). version.c will be part of the final cc1d
> executable, it should not be linked into a VERSION executable. There
> shouldn't even be a VERSION executable: VERSION is a text file in the source
> tree https://github.com/D-Programming-GDC/GDC/blob/master/gcc/d/VERSION
> 
> What happens is probably this: A rule depends on d/VERSION and make hooks up
> an implicit (or GCC rule) which compiles %s.o into %s. Because your build
> system messes up version.c (lower case) into VERSION.o that implicit rule
> not matches and is invoked. Solution: Try using a newer build system (MSYS2)
> (on NTFS, don't know if FAT works).

version.c is now named dversion.c as part of the migration towards D.

So this would mean this is now fixed as per the explanation above, the name
collision in make should no longer happen.

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the D.gnu mailing list