Bug 85528

Summary: shader_runner.c.obj : error LNK2019: unresolved external symbol _strtoll
Product: piglit Reporter: Vinson Lee <vlee>
Component: testsAssignee: Ian Romanick <idr>
Status: RESOLVED WONTFIX QA Contact: Jose Fonseca <jfonseca>
Severity: blocker    
Priority: medium CC: brian.e.paul, chrisf, idr, jfonseca, sroland
Version: unspecifiedKeywords: bisected, regression
Hardware: x86-64 (AMD64)   
OS: Windows (All)   
Whiteboard:
i915 platform: i915 features:

Description Vinson Lee 2014-10-27 23:11:46 UTC
piglit: b13d0bb86d175e36e013dbd528a50e59308adad0 (master)


Build error with MSVC 2012.

tests\shaders\shader_runner.c(1209) : warning C4013: 'strtoll' undefined; assuming extern returning int

Linking CXX executable ..\..\..\..\bin\shader_runner.exe
shader_runner.c.obj : error LNK2019: unresolved external symbol _strtoll referenced in function _get_doubles
Comment 1 Vinson Lee 2014-10-29 05:44:45 UTC
Build error introduced with commit d859c94fd1d0406c3d109ed209897baccf99b57d.

commit d859c94fd1d0406c3d109ed209897baccf99b57d
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Wed Sep 3 18:38:08 2014 -0700

    shader_runner: Allow loading hex values for floats
    
    For some cases we want to have shaders where we load an exact bit
    pattern into a float (or double) uniform.
    
    NOTE: The double path isn't really tested.
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Comment 2 Jose Fonseca 2014-10-29 23:56:01 UTC
Hi Vinson,

I'm building with MSVC 2013 and it builds fine.

Unless you have a strong need to build with MSVC 2012, I'd rather make MSVC 2013 a requirement to build piglit, instead of worrying with older MSVC versions.

MSVC 2013 has better C99, so there's less portability hacks need.  I don't even try building with MSVC 2012 anymore.

Could you build with MSVC 2013 instead?

Jose
Comment 3 Ian Romanick 2014-10-30 00:05:03 UTC
I sent out a patch:

http://lists.freedesktop.org/archives/piglit/2014-October/013121.html

But it sounds like that will have problems with later MSVC.
Comment 4 Jose Fonseca 2014-10-30 20:30:36 UTC
> Could you build with MSVC 2013 instead?
Comment 5 Vinson Lee 2014-11-05 23:37:14 UTC
(In reply to José Fonseca from comment #4)
> > Could you build with MSVC 2013 instead?

I can successfully build piglit with MSVC 2013.
Comment 6 Jose Fonseca 2014-11-07 11:28:18 UTC
(In reply to Vinson Lee from comment #5)
> (In reply to José Fonseca from comment #4)
> > > Could you build with MSVC 2013 instead?
> 
> I can successfully build piglit with MSVC 2013.

Great.  In that case I'm going to update piglit's cmake files to require MSVC 2013 henceforth.
Comment 7 Jose Fonseca 2014-11-08 10:22:51 UTC
As of commit 6927659f5fc484a40a13028edab99eb33264fad8 MSVC 2012 is required to build piglit.

So we can resolve this now.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.