Thread overview
[Issue 1327] New: Long environment variable value causes link failure.
Jul 09, 2007
d-bugmail
Jul 09, 2007
d-bugmail
Jul 10, 2007
d-bugmail
Jul 10, 2007
d-bugmail
July 09, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1327

           Summary: Long environment variable value causes link failure.
           Product: D
           Version: 1.015
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: tortoise_74@yahoo.co.uk


Hi
  I had some problems getting DMD to play nicely with cygwin. It turns out the
problem was down to a long environment variable value. As a newcomer to D I was
very confused. It was not at all obvious what was happening.

Regards,

Bruce.


F:\projects\Agenda>c:\cygwin\bin\make dtest2
dmc hello.d -o hello
c:\dmd\bin\..\..\dm\bin\link.exe hello,,,user32+kernel32/noi;
c:\dmd\bin\..\..\dm\bin\link.exe hello,,,user32+kernel32/noi;
hello.d:
hello.d:
link hello+hello,,,user32+kernel32/noi;

F:\projects\Agenda>set GCCINCDIR="C:\cygwin\usr\include;C:\cygwin\usr\include\sy s;C:\cygwin\usr\include\w32api;C:\cygwin\usr\local\i686-pc-cygwin\include;C:\cyg win\usr\local\i686-pc-cygwin\include\sys;C:\cygwin\usr\include\c++\3.4.4;C:\cygw in\usr\include\c++\3.4.4\i686-pc-cygwin;C:\cygwin\usr\include\c++\3.4.4\i686-pc- cygwin\bits;C:\cygwin\lib\gcc-lib\i686-pc-cygwin\3.4.4\include;C:\cygwin\usr\inc lude;C:\cygwin\usr\include\sys;C:\cygwin\usr\include\w32api;C:\cygwin\usr\local\ i686-pc-cygwin\include;C:\cygwin\usr\local\i686-pc-cygwin\include\sys;C:\cygwin\ usr\include\c++\3.4.4;C:\cygwin\usr\include\c++\3.4.4\i686-pc-cygwin;C:\cygwin\u sr\include\c++\3.4.4\i686-pc-cygwin\bits;C:\cygwin\lib\gcc\i686-pc-cygwin\C:\cyg win\usr\include;C:\cygwin\usr\include\sys;C:\cygwin\usr\include\w32api;C:\cygwin \usr\local\i686-pc-cygwin\include;C:\cygwin\usr\local\i686-pc-cygwin\include\sys ;C:\cygwin\usr\include\c++\3.4.4;C:\cygwin\usr\include\c++\3.4.4\i686-pc-cygwin; C:\cygwin\usr\include\c++\3.4.4\i686-pc-cygwin\bits;C:\cygwin\lib\gcc-lib\i686-p c-cygwin\3.4.4\include;C:\cygwin\usr\include;C:\cygwin\usr\include\sys;C:\cygwin \usr\include\w32api;C:\cygwin\usr\local\i686-pc-cygwin\include;C:\cygwin\usr\loc al\i686-pc-cygwin\include\sys;C:\cygwin\usr\include\c++\3.4.4;C:\cygwin\usr\incl ude\c++\3.4.4\i686-pc-cygwin;C:\cygwin\usr\include\c++\3.4.4\i686-pc-cygwin\bits \include;C:\cygwin\lib\gcc\i686-pc-cygwin\3.4.4\include\c++;;C:\cygwin\lib\gcc\i 686-pc-cygwin\3.4.4\include\c++\i686-pc-cygwin;C:\cygwin\lib\gcc\i686-pc-cygwin\ 3.4.4\include"

F:\projects\Agenda>c:\cygwin\bin\make dtest2
dmc hello.d -o hello
c:\dmd\bin\..\..\dm\bin\link.exe hello,,,user32+kernel32/noi;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

phobos.lib
 Warning 2: File Not Found phobos.lib
OPTLINK : Warning 23: No Stack
hello.obj(hello)
 Error 42: Symbol Undefined _main
hello.obj(hello)
 Error 42: Symbol Undefined __acrtused_con
OPTLINK : Warning 134: No Start Address
--- errorlevel 2
hello.d:
--- errorlevel 2
make: *** [dtest2] Error 2


-- 

July 09, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1327


tortoise_74@yahoo.co.uk changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|1.015                       |2.002




------- Comment #1 from tortoise_74@yahoo.co.uk  2007-07-09 18:51 -------
I can confirm this also happens on the latest version (v2.002)


-- 

July 10, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1327





------- Comment #2 from wbaxter@gmail.com  2007-07-09 19:10 -------
Ouch.  That must have taken ages to figure out.

Actually it seems to be related to both the variable name and its value. For instance "XCCINCDIR" worked ok, and many values of GCCINCDIR are ok for me. But other variables caused the problem too, like "FOOINCDIR".  I can't really determine a pattern.

In any event you should probably use 'dmd' to compile D code and not 'dmc'
(which is a C++ compiler) ;-)


-- 

July 10, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1327


deewiant@gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|2.002                       |1.015




------- Comment #3 from deewiant@gmail.com  2007-07-10 03:49 -------
Keep the version at the oldest, not the newest, relevant value, please.


--