Thread overview
[Issue 4831] New: Optlink failed to parse PATH env variable with -g option
Sep 06, 2010
Xavier Bigand
Nov 20, 2011
Lionello Lunesu
Dec 14, 2011
Walter Bright
Oct 15, 2012
Andrej Mitrovic
Oct 15, 2012
Andrej Mitrovic
Feb 10, 2013
Andrej Mitrovic
[Issue 4831] Optlink rejects paths with invalid characters based on HPFS filesystem instead of NTFS
Feb 10, 2013
Andrej Mitrovic
Feb 13, 2013
Andrej Mitrovic
Feb 17, 2013
Andrej Mitrovic
September 06, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4831

           Summary: Optlink failed to parse PATH env variable with -g
                    option
           Product: D
           Version: D2
          Platform: All
        OS/Version: Windows
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: Optlink
        AssignedTo: nobody@puremagic.com
        ReportedBy: flamaros.xavier@gmail.com


--- Comment #0 from Xavier Bigand <flamaros.xavier@gmail.com> 2010-09-06 13:03:39 PDT ---
Here is the error :

OPTLINK : Error 118: Filename Expected
Path=D:\Softs\D\dmd2\windows\bin;C:\Program Files\Microsoft
SDKs\Windows\v6.0A\\bin;C:\Program Files\NVIDIA
Corporation\PhysX\Common;D:\Softs\VTune\CGGlbCache;D:\Softs\VTune\Analyzer\Bin;D:\Softs\VTune\Shared\Bin;D:\Softs\Python26\Lib\site-packages\PyQt4\bin;D:\Softs\Perl\site\bin;D:\Softs\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program
Files\Fichiers communs\Roxio Shared\DLLShared\;C:\Program Files\Fichiers
communs\Roxio
Shared\9.0\DLLShared\;D:\Softs\SDKs\Wii\NDEV\bin;D:\Softs\Microsoft Visual
Studio 8\VC\bin;D:\Softs\doxygen\bin;D:\Softs\Graphviz2.24\bin;c:\Program
Files\Microsoft SQL
Server\90\Tools\binn\;C:\WINDOWS\system32\WindowsPowerShell\v1.0;D:\Softs\TortoiseGit\bin;D:\Softs\QuickTime\QTSystem\;D:\Softs\TortoiseSVN\bin;D:\Softs\gDEBugger\gDEBugger\;D:\Softs\D\dmd\windows\bin;D:\Softs\D\dmd2\windows\bin;D:\Softs\D\dm\bin;D:\Projects\Tetraedge\Trunk\TeEngine_3\Tools\Libs\Qt;D:\Softs\FileVerifier++\;D:\Softs\SDKs\Android\android-sdk-windows\tools;D:\Softs\apache-ant\bin

It seems D:\Softs\FileVerifier++\ with '+' character reveal the issue.

Here it's my original discussion : http://www.dsource.org/forums/viewtopic.php?t=5585

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
November 20, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4831


Lionello Lunesu <lio+bugzilla@lunesu.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lio+bugzilla@lunesu.com
         AssignedTo|nobody@puremagic.com        |bugzilla@digitalmars.com


--- Comment #1 from Lionello Lunesu <lio+bugzilla@lunesu.com> 2011-11-19 23:11:38 PST ---
This bug is reported since 2004 and I'm still hitting it. Took me too long to find out what's wrong. OPTLINK fails when linking debug info and PATH has "++". I wonder how the first part relates to the second.

Assigning to Walter.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 14, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4831



--- Comment #2 from Walter Bright <bugzilla@digitalmars.com> 2011-12-14 02:03:34 PST ---
As a workaround for the time being, try enclosing the path in "".

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 15, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=4831


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich@gmail.com


--- Comment #3 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-10-14 18:01:26 PDT ---
*** Issue 8791 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: -------
October 15, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=4831


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |spam@extrawurst.org


--- Comment #4 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-10-14 18:01:40 PDT ---
*** Issue 5860 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: -------
February 10, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=4831



--- Comment #5 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-02-09 20:09:31 PST ---
Walter Bright(In reply to comment #2)
> As a workaround for the time being, try enclosing the path in "".

I think we've established it doesn't quite work. However I think the lines in this .asm file could be changed to fix this:

https://github.com/DigitalMars/optlink/blob/master/parse/parse_fn.asm#L206

It refers to "illegal HPFS filename path", a google search reveals this is an ancient OS/2 file system: http://en.wikipedia.org/wiki/High_Performance_File_System

We should update this so only NTFS illegal chars are rejected (if you want to keep supporting OS/2 then we should at least branch out for D). These are the illegal ones:

/ ? < > \ : * | ”

Btw, I still can't build Optlink so I can't make a pull request for this.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 10, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=4831


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ascend4nt@gmail.com


--- Comment #6 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-02-09 20:13:35 PST ---
*** Issue 7800 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: -------
February 13, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=4831


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull


--- Comment #7 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-02-12 18:08:57 PST ---
https://github.com/DigitalMars/optlink/pull/1

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=4831


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|pull                        |


--- Comment #8 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-02-16 16:42:09 PST ---
(In reply to comment #7)
> https://github.com/DigitalMars/optlink/pull/1

Now that thanks to Reiner I can build Optlink, I can see this pull was wrong. Optlink uses '+' on the commandline as an argument separator, but it should not reject such a path when it's e.g. enclosed in quotes. So both of these should work:

link kernel32.lib+phobos.lib

link kernel32.lib+phobos.lib+"some/path++/to"

The same holds true for "," and ";", and maybe some other special characters.

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