Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29236 Discussions

error error_during_IPO_compilation: problem during multi-file optimization compilation (code 1)

lm_lxt
Beginner
1,335 Views

Mywindows application project is all right compiled with VS2003+IVF10.0 but the following errors occurs when using VS2008RTM+IVF10.1.021:

Build Log

Build started: Project: WinApp1, Configuration: Debug|Win32

Output
Linking...
Link /OUT:"DebugWinApp1.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /MANIFESTFILE:"C:Documents and SettingslxtMy DocumentsVisual Studio 2008ProjectsWinApp1WinApp1debugwinapp1.exe.intermediate.manifest" /DEBUG /PDB:"C:Documents and SettingslxtMy DocumentsVisual Studio 2008ProjectsWinApp1WinApp1debugwinapp1.pdb" /SUBSYSTEM:WINDOWS /IMPLIB:"C:Documents and SettingslxtMy DocumentsVisual Studio 2008ProjectsWinApp1WinApp1debugwinapp1.lib" "DebugSource1.obj" "Debug/Resource1.res"
ipo: error #11035: Fatal error cannot open glaux.lib
Link: error error_during_IPO_compilation: problem during multi-file optimization compilation (code 1)
Link: error error_during_IPO_compilation: problem during multi-file optimization compilation (code 1)


WinApp1 - 3 error(s), 0 warning(s)
why?thanks!

0 Kudos
9 Replies
Steven_L_Intel1
Employee
1,335 Views
The real error is "cannot open glaux.lib". It would appear that Microsoft removed this library in VS2008 and all its functions. This was news to me - I'm going to have to rewrite the OpenGL samples! Argh.

The "Aux" routines were often considered a "hack" by the OpenGL community and many recommended against their use. But they sure did make things easier.
0 Kudos
lm_lxt
Beginner
1,335 Views

Many thanks!

The following is my code used to draw 3D graphic:

Subroutine Wedge( )
use IFwin
use Ifopngl
use VarGlob
Implicit None

call fglClear(ior(GL_COLOR_BUFFER_BIT,GL_DEPTH_BUFFER_BIT))
call fglLoadIdentity()
call fglTranslatef(-1.5 ,0.0 ,-6.0 )
call fglBegin(GL_POLYGON)

call fglColor3f(1.0 ,0.0 ,0.0 )
call fglVertex3f( 0.0 , 1.0 , 0.0 )
call fglColor3f(0.0 ,1.0 ,0.0 )
call fglVertex3f(-1.0 ,-1.0 , 1.0 )
call fglColor3f(0.0 ,0.0 ,1.0 )
call fglVertex3f( 1.0 ,-1.0 , 1.0 )

call fglColor3f(1.0 ,0.0 ,0.0 )
call fglVertex3f( 0.0 , 1.0 , 0.0 )
call fglColor3f(0.0 ,0.0 ,1.0 )
call fglVertex3f( 1.0 ,-1.0 , 1.0 )
call fglColor3f(0.0 ,1.0 ,0.0 )
call fglVertex3f( 1.0 ,-1.0 , -1.0 )

call fglColor3f(1.0 ,0.0 ,0.0 )
call fglVertex3f( 0.0 , 1.0 , 0.0 )
call fglColor3f(0.0 ,1.0 ,0.0 )
call fglVertex3f( 1.0 ,-1.0 , -1.0 )
call fglColor3f(0.0 ,0.0 ,1.0 )
call fglVertex3f(-1.0 ,-1.0 , -1.0 )

call fglColor3f(1.0 ,0.0 ,0.0 )
call fglVertex3f( 0.0 , 1.0 , 0.0 )
call fglColor3f(0.0 ,0.0 ,1.0 )
call fglVertex3f(-1.0 ,-1.0 ,-1.0 )
call fglColor3f(0.0 ,1.0 ,0.0 )
call fglVertex3f(-1.0 ,-1.0 , 1.0 )
call fglEnd()

call fglLoadIdentity()
call fglTranslatef(1.5 ,0.0 ,-6.0 )
call fglRotatef(45,1.0 ,0.0 ,0.0 )
call fglColor3f(0.5 ,0.5 ,1.0 )

call fglBegin(GL_QUADS)
call fglColor3f(0.0 ,1.0 ,0.0 )
call fglVertex3f( 1.0 , 1.0 ,-1.0 )
call fglVertex3f(-1.0 , 1.0 ,-1.0 )
call fglVertex3f(-1.0 , 1.0 , 1.0 )
call fglVertex3f( 1.0 , 1.0 , 1.0 )

call fglColor3f(1.0 ,0.5 ,0.0 )
call fglVertex3f( 1.0 ,-1.0 , 1.0 )
call fglVertex3f(-1.0 ,-1.0 , 1.0 )
call fglVertex3f(-1.0 ,-1.0 ,-1.0 )
call fglVertex3f( 1.0 ,-1.0 ,-1.0 )

call fglColor3f(1.0 ,0.0 ,0.0 )
call fglVertex3f( 1.0 , 1.0 , 1.0 )
call fglVertex3f(-1.0 , 1.0 , 1.0 )
call fglVertex3f(-1.0 ,-1.0 , 1.0 )
call fglVertex3f( 1.0 ,-1.0 , 1.0 )

call fglColor3f(1.0 ,1.0 ,0.0 )
call fglVertex3f( 1.0 ,-1.0 ,-1.0 )
call fglVertex3f(-1.0 ,-1.0 ,-1.0 )
call fglVertex3f(-1.0 , 1.0 ,-1.0 )
call fglVertex3f( 1.0 , 1.0 ,-1.0 )

call fglColor3f(0.0 ,0.0 ,1.0 )
call fglVertex3f(-1.0 , 1.0 , 1.0 )
call fglVertex3f(-1.0 , 1.0 ,-1.0 )
call fglVertex3f(-1.0 ,-1.0 ,-1.0 )
call fglVertex3f(-1.0 ,-1.0 , 1.0 )

call fglColor3f(1.0 ,0.0 ,1.0 )
call fglVertex3f( 1.0 , 1.0 ,-1.0 )
call fglVertex3f( 1.0 , 1.0 , 1.0 )
call fglVertex3f( 1.0 ,-1.0 , 1.0 )
call fglVertex3f( 1.0 ,-1.0 ,-1.0 )
call fglEnd()
return
end Subroutine Wedge


Subroutine Teapot( )
use IFwin
use Ifopngl
use VarGlob
Implicit None
call fglClear(ior(GL_COLOR_BUFFER_BIT,GL_DEPTH_BUFFER_BIT))
call fglMatrixMode(GL_MODELVIEW)
call fglLoadIdentity()
call fglTranslatef(0.0,0.0,-6.0)
call fglRotatef(45.0,1.0,0.0,0.0)
call fglRotatef(30.0,0.0,1.0,0.0)
call fglColor3f ( 1.0,1.0,0.0 )
call fauxWireTeapot(1.0_8)
return
End Subroutine Teapot

How should I do to use the code?I have no any mentality!

0 Kudos
Steven_L_Intel1
Employee
1,335 Views
As far as I can tell, you will have to remove the Teapot routine and not call it. I have to assume this is from sample code and that your application does not in fact require drawing a teapot. Calls to fauxInitDisplayWindow, etc., can be replaced but I can't tell you the details right now. I'll have to investigate so I can fix up the ifort samples to not rely on aux.
0 Kudos
lm_lxt
Beginner
1,335 Views

I solved the problem like this:

Copy Glaux.lib from Opengl1.1 to C:Program FilesMicrosoft SDKsWindowsv6.0ALib

then compile the code,all is right!

0 Kudos
Steven_L_Intel1
Employee
1,335 Views
I suppose that's one way!
0 Kudos
lm_lxt
Beginner
1,335 Views
Many thanks for your help!Thank you!
0 Kudos
Les_Neilson
Valued Contributor II
1,335 Views
Quoting - lm_lxt
Many thanks for your help!Thank you!

I amupgrading from VS2005 to VS2008 and fromIVF 9 toIVF 10.1.025
Asmentioned aboveMicrosoft have removed the file glaux.lib from the VS 2008 installation (for IA32 development) which means we are getting a link error "cannot find fileglaux.lib"

The problem appears to be due to routines which haveUSE DFOPNGL(which in turn USEs IFOPNGL)The ifopngl.f90 file (inIVF v10) has a statement
!DEC$ objcomment lib:"glaux.lib"

Steve : How did you get on with the changes? Presumably the IFOPNGL.f90 will have to be modified too?
Is there a change we can make to allow our code to compile?

Les

0 Kudos
Steven_L_Intel1
Employee
1,335 Views

I'm sorry to say that I have not made progress on this, and I see I have made a mistake in assuming that the OBJCOMMENT directive was harmless. I'll get this fixed as soon as I can.

In the meantime, you can either create an empty glaux.lib, copy it from VS2005 (or perhaps the Windows Server 2003 Platform SDK), or add glaux.lib to "Ignore libraries" in the Linker properties.

0 Kudos
Les_Neilson
Valued Contributor II
1,335 Views
Thanks Steve. The ignore option worked fine.
Les

0 Kudos
Reply