Opened 2 years ago

Closed 2 years ago

#63 closed defect (fixed)

Changeset r21929 breaks build

Reported by: abwillis Owned by:
Priority: major Milestone: 0.8.3
Component: odin Version:
Severity: low Keywords:
Cc:

Description

Changeset r21929 breaks the build process if %tmp% is not on the same drive as the build is being done on.

Change History (4)

comment:1 Changed 2 years ago by diver

  • Milestone changed from general enhancement to 0.8.3

comment:2 Changed 2 years ago by dmik

Thanks for the report, Andy.

Hmm, the tempnam() in kLIBC implementation is broken, it changes the CWD -(

And, there is also another bug in WRC itself which, together with the above bug, gives the problem you're observing: when it processes values of the -I command line option, it treats ':' as a separator between entries. As a result, the include path like 'D:\odin\include' becomes the two entries: 'D' and '\odin\include' -- of course, when the drive is wrong, the second path doesn't work.

Life is funny.

comment:3 Changed 2 years ago by dmik

The guilty boy is _fullpath() actually (which _tempnam() internally calls). See http://svn.netlabs.org/libc/ticket/237 for details.

comment:4 Changed 2 years ago by dmik

  • Resolution set to fixed
  • Status changed from new to closed

All issues are fixed/worked around in r21944, r21945 and r21946.

In r21947 I also provided the proper _tempnam() implementation in minivcrt.lib just in case if it becomes necessary later. Note that WRC doesn't use it since it doesn't link to Win32 runtime (pure C + LIBC code).

Note: See TracTickets for help on using tickets.