Hi Pavel,
What version of base is this?
I think you can avoid this error by adding this line to
base/configure/os/CONFIG_SITE.win32-x86-mingw.win32-x86-mingw
USR_CFLAGS += -fpermissive
USR_CXXFLAGS += -fpermissive
But if this is the latest version of base then I think there is an
error that should be fixed.
Mark
________________________________________
From: Pavel Masloff [mailto:[email protected]]
Sent: Friday, December 02, 2011 4:13 PM
To: Mark Rivers
Cc: [email protected]; [email protected]
Subject: Re: [help] EPICS build no good
Mark,
I did what you'd proposed.
This is what i get:
"Installing generic include file ../../../include/tsDefs.h"
windres -I. -I../O.Common -I. -I../../../src/libCom/osi/os/WIN32
-I../../../src/libCom/osi/os/posix -I../../../src/libC
m/osi/os/default -I.. -I../../../src/libCom/bucketLib
-I../../../src/libCom/ring -I../../../src/libCom/calc -I../../../
rc/libCom/cvtFast -I../../../src/libCom/cppStd
-I../../../src/libCom/cxxTemplates -I../../../src/libCom/dbmf -I../../..
src/libCom/ellLib -I../../../src/libCom/env
-I../../../src/libCom/error -I../../../src/libCom/fdmgr -I../../../src/libC
m/freeList -I../../../src/libCom/gpHash
-I../../../src/libCom/iocsh -I../../../src/libCom/logClient -I../../../src/libC
m/macLib -I../../../src/libCom/misc
-I../../../src/libCom/osi -I../../../src/libCom/taskwd
-I../../../src/libCom/timer
I../../../src/libCom/tsDefs
-I../../../include/os/WIN32
-I../../../include ../Com.rc Com.coff
""
g++
-c
-D_MINGW -O3
-Wall -m32 -D_DLL
-MMD -I. -I../O.Common -I. -I../../../src/libCom/osi/
s/WIN32 -I../../../src/libCom/osi/os/posix
-I../../../src/libCom/osi/os/default -I.. -I../../../src/libCom/bucketLib -I
./../../src/libCom/ring -I../../../src/libCom/calc
-I../../../src/libCom/cvtFast -I../../../src/libCom/cppStd -I../../.
/src/libCom/cxxTemplates -I../../../src/libCom/dbmf
-I../../../src/libCom/ellLib -I../../../src/libCom/env -I../../../s
c/libCom/error -I../../../src/libCom/fdmgr
-I../../../src/libCom/freeList -I../../../src/libCom/gpHash -I../../../src/l
bCom/iocsh -I../../../src/libCom/logClient
-I../../../src/libCom/macLib -I../../../src/libCom/misc -I../../../src/libCo
/osi -I../../../src/libCom/taskwd -I../../../src/libCom/timer
-I../../../src/libCom/tsDefs -I../../../include/os/WIN32
I../../../include
../../../src/libCom/bucketLib/bucketLib.c
../../../src/libCom/bucketLib/bucketLib.c: In function <ITEM**
bucketStringCompare(ITEM**, const void*)>:
../../../src/libCom/bucketLib/bucketLib.c:125:21: error: incorrect
transform from <const void*> to <const char*>
-fpermissive]
../../../src/libCom/bucketLib/bucketLib.c: in function <BUCKETID
bucketUnsignedHash(BUCKET*, const void*)>:
../../../src/libCom/bucketLib/bucketLib.c:147:25: error: incorrect
transform from <const void*> to <const unsigne
int*> [-fpermissive]
../../../src/libCom/bucketLib/bucketLib.c: In function <BUCKETID
bucketStringHash(BUCKET*, const void*)>:
../../../src/libCom/bucketLib/bucketLib.c:197:21: error: incorrect
transform from <const void*> to <const char*>
-fpermissive]
mingw32-make[3]: *** [bucketLib.o] Error 1
mingw32-make[3]: Leaving directory
`C:/epics/base/bin/win32-x86-mingw/src/libCom/O.win32-x86-mingw'
mingw32-make[2]: *** [install.win32-x86-mingw] Error 2
mingw32-make[2]: Leaving directory
`C:/epics/base/bin/win32-x86-mingw/src/libCom'
mingw32-make[1]: *** [libCom.install] Error 2
mingw32-make[1]: Leaving directory
`C:/epics/base/bin/win32-x86-mingw/src'
mingw32-make: *** [src.install] Error 2
mingw32-make: Leaving directory `C:/epics/base/bin/win32-x86-mingw'
On Sat, Dec 3, 2011 at 12:45 AM, Mark Rivers
<[email protected]> wrote:
Hi Pavel,
I understand now. I thought you were just using MinGW for
gnumake. But you want to use the gcc compiler as well.
You have set the wrong value for EPICS_HOST_ARCH. You have set it
to win32-x86, which is the architecture that requires Visual Studio.
You need to set the environment variable EPICS_HOST_ARCH to
win32-x86-mingw. That will use gcc.
Mark
________________________________________
From: Pavel Masloff [mailto:[email protected]]
Sent: Friday, December 02, 2011 3:41 PM
To: Mark Rivers;
[email protected]
Subject: Re: [help] EPICS build no good
Hi Mark,
Do I really need MS Visual Studio?
According to this
(http://www.aps.anl.gov/epics/base/win32.phphttp://www.aps.anl.gov/epics/base/win32.php):
Download and install a compiler:
• Microsoft Visual C++ Express 2010, or
• MinGW version of GCC
• You can also use Microsoft's commercial C++ development tools
if you have them.
I used MinGW. I see 'or' here.
On Sat, Dec 3, 2011 at 12:27 AM, Mark Rivers
<[email protected]> wrote:
Hi Pavel,
I think the problem is that you have not set up your environment for
Visual Studio. Your PATH environment variable does not include the path
to the Visual Studio compiler. You need to execute the
"vcvarsall.bat file that comes with Visual Studio.
This is the batch file I use to set up EPICS builds for win32-x86.
rem This file sets up for an EPICS win32-x86 build
set EPICS_HOST_ARCH=win32-x86
rem This is the location of "make"
set PATH=C:\Program
Files\GnuWin32\bin;C:\Perl\bin;H:\epics\base\bin\win32-x86;%PATH%
"C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
x86
Mark
________________________________________
From: [email protected]
[mailto:[email protected]] On Behalf Of Pavel Masloff
Sent: Friday, December 02, 2011 2:52 PM
To: [email protected]; Dirk Zimoch; [email protected]
Subject: [help] EPICS build no good
Hello,
This is my first attempt ever to build EPICS (and it's the first time I
try to compile something really big, as a matter of fact).
In accordance with the following instructions
(http://www.aps.anl.gov/epics/base/win32.php) and recommendations by Dirk
Zimoch (thanks!), I tried to build EPICS baseR3.14.12.1 on Windows 7 Starter
using:
* MinGW version of GCC
* ActiveState Perl (ActivePerl-5.14.2.1402-MSWin32-x86)
This is what I get :
"Installing generic include file ../../../include/tsDefs.h"
rc -l 0x409 -I. -I../O.Common -I. -I../../../src/libCom/osi/os/WIN32
-I../../../src/libCom/osi/os/default -I.. -I../../.
./src/libCom/bucketLib -I../../../src/libCom/ring
-I../../../src/libCom/calc -I../../../src/libCom/cvtFast -I../../../sr
c/libCom/cppStd -I../../../src/libCom/cxxTemplates
-I../../../src/libCom/dbmf -I../../../src/libCom/ellLib -I../../../sr
c/libCom/env -I../../../src/libCom/error -I../../../src/libCom/fdmgr
-I../../../src/libCom/freeList -I../../../src/libCo
m/gpHash -I../../../src/libCom/iocsh -I../../../src/libCom/logClient
-I../../../src/libCom/macLib -I../../../src/libCom/
misc -I../../../src/libCom/osi -I../../../src/libCom/taskwd
-I../../../src/libCom/timer -I../../../src/libCom/tsDefs -I.
./../../include/os/WIN32
-I../../../include -fo Com.res
../Com.rc
process_begin: CreateProcess(NULL, rc -l 0x409 -I.
-I../O.Common -I.
-I../../../src/libCom/osi/os/WIN32 -I../../../src/l
ibCom/osi/os/default -I.. -I../../../src/libCom/bucketLib
-I../../../src/libCom/ring -I../../../src/libCom/calc -I../../
../src/libCom/cvtFast -I../../../src/libCom/cppStd
-I../../../src/libCom/cxxTemplates -I../../../src/libCom/dbmf -I../..
/../src/libCom/ellLib -I../../../src/libCom/env
-I../../../src/libCom/error -I../../../src/libCom/fdmgr -I../../../src/l
ibCom/freeList -I../../../src/libCom/gpHash
-I../../../src/libCom/iocsh -I../../../src/libCom/logClient -I../../../src/l
ibCom/macLib -I../../../src/libCom/misc
-I../../../src/libCom/osi -I../../../src/libCom/taskwd
-I../../../src/libCom/tim
er -I../../../src/libCom/tsDefs -I../../../include/os/WIN32
-I../../../include -fo Com.res ../Com.rc, ...) failed.
make (e=2): No such file.
mingw32-make[3]: *** [Com.res] Error 2
mingw32-make[3]: Leaving directory
`C:/epics/base/bin/win32-x86/src/libCom/O.win32-x86'
mingw32-make[2]: *** [install.win32-x86] Error 2
mingw32-make[2]: Leaving directory
`C:/epics/base/bin/win32-x86/src/libCom'
mingw32-make[1]: *** [libCom.install] Error 2
mingw32-make[1]: Leaving directory `C:/epics/base/bin/win32-x86/src'
mingw32-make: *** [src.install] Error 2
mingw32-make: Leaving directory `C:/epics/base/bin/win32-x86'
Why can it be so? The same thing using GnuWin32:
"Installing generic include file ../../../include/tsDefs.h"
rc -l 0x409 -I. -I../O.Common -I. -I../../../src/libCom/osi/os/WIN32
-I../../../src/libCom/osi/os/default -I.. -I../../.
./src/libCom/bucketLib -I../../../src/libCom/ring
-I../../../src/libCom/calc -I../../../src/libCom/cvtFast -I../../../sr
c/libCom/cppStd -I../../../src/libCom/cxxTemplates
-I../../../src/libCom/dbmf -I../../../src/libCom/ellLib -I../../../sr
c/libCom/env -I../../../src/libCom/error -I../../../src/libCom/fdmgr
-I../../../src/libCom/freeList -I../../../src/libCo
m/gpHash -I../../../src/libCom/iocsh -I../../../src/libCom/logClient
-I../../../src/libCom/macLib -I../../../src/libCom/
misc -I../../../src/libCom/osi -I../../../src/libCom/taskwd
-I../../../src/libCom/timer -I../../../src/libCom/tsDefs -I.
./../../include/os/WIN32
-I../../../include -fo Com.res
../Com.rc
process_begin: CreateProcess(NULL, rc -l 0x409 -I.
-I../O.Common -I.
-I../../../src/libCom/osi/os/WIN32 -I../../../src/l
ibCom/osi/os/default -I.. -I../../../src/libCom/bucketLib
-I../../../src/libCom/ring -I../../../src/libCom/calc -I../../
../src/libCom/cvtFast -I../../../src/libCom/cppStd
-I../../../src/libCom/cxxTemplates -I../../../src/libCom/dbmf -I../..
/../src/libCom/ellLib -I../../../src/libCom/env
-I../../../src/libCom/error -I../../../src/libCom/fdmgr -I../../../src/l
ibCom/freeList -I../../../src/libCom/gpHash
-I../../../src/libCom/iocsh -I../../../src/libCom/logClient -I../../../src/l
ibCom/macLib -I../../../src/libCom/misc
-I../../../src/libCom/osi -I../../../src/libCom/taskwd
-I../../../src/libCom/tim
er -I../../../src/libCom/tsDefs -I../../../include/os/WIN32
-I../../../include -fo Com.res ../Com.rc, ...) failed.
make (e=2): No such file.
make[3]: *** [Com.res] Error 2
make[3]: Leaving directory
`C:/epics/base/bin/win32-x86/src/libCom/O.win32-x86'
make[2]: *** [install.win32-x86] Error 2
make[2]: Leaving directory `C:/epics/base/bin/win32-x86/src/libCom'
make[1]: *** [libCom.install] Error 2
make[1]: Leaving directory `C:/epics/base/bin/win32-x86/src'
make: *** [src.install] Error 2
make: Leaving directory `C:/epics/base/bin/win32-x86'
I set the PATH Environment Variable to:
C:\Perl\site\bin;C:\Perl\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program
Files\WIDCOMM\Bluetooth Software\;C:\Program
Files\QuickTime\QTSystem\;C:\MinGW\bin;C:\GnuWin32\bin
I don't know if there was a need to do so. Because I can see it's
mentioned in the win32.bat file. Here's my win32.bat (in the ming32-make case):
@ECHO OFF
REM
*************************************************************************
REM Copyright (c) 2002 The University
of Chicago, as Operator of Argonne
REM National Laboratory.
REM Copyright (c) 2002 The Regents of the University of California,
as
REM Operator of Los
Alamos National Laboratory.
REM EPICS BASE Versions 3.13.7
REM and higher are distributed subject to a Software License
Agreement found
REM in file LICENSE that is included with this distribution.
REM
*************************************************************************
REM Revision-Id: [email protected]
REM
REM Site-specific EPICS environment settings
REM
REM sites should modify these definitions
REM ======================================================
REM ====== REQUIRED ENVIRONMENT VARIABLES FOLLOW
======
REM
======================================================
REM ======================================================
REM ---------------- WINDOWS
---------------------------
REM
======================================================
REM ----- WIN95 -----
REM set PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
REM ----- WINNT, WIN2000 -----
REM set PATH=C:\WINNT;C:\WINNT\SYSTEM32
REM ----- WINXP, Vista, Windows 7
-----
set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\SYSTEM32\Wbem
REM ======================================================
REM ---------------- make and perl ---------------------
REM ======================================================
REM --------------- ActiveState perl -------------------
set PATH=C:\Perl\bin;%PATH%
REM --------------- mingw make
------------------------
set PATH=C:\mingw\bin;%PATH%
REM set PATH=C:\mingw-make82-3\bin;%PATH%
REM --------------- gnuwin32 make ----------------------
REM set PATH=C:\gnuwin32\bin;%PATH%
REM ======================================================
REM ---------------- cygwin tools ------------------------
REM ======================================================
REM (make & perl if above perl and make are REMs)
REM Dont use cygwin GNU make and Perl!
REM cygwin contains tk/tcl, vim, perl, and many unix
tools
REM need grep from here NOT from cvs directory
REM set PATH=%PATH%;.;..
REM set PATH=%PATH%;c:\cygwin\bin
REM
======================================================
REM --------------- Visual c++
-------------------------
REM
======================================================
REM ------ Microsoft Visual Studio
2005 ------
REM call "C:\Program files\Microsoft Visual
Studio 8\VC\vcvarsall.bat" x86_amd64
REM set PATH=%PATH%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
REM set INCLUDE=%INCLUDE%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include
REM REM set LIBPATH=%LIBPATH%;C:\Program Files\Microsoft
SDKs\Windows\v6.0A\lib
REM set LIB=%LIB%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib
REM ------ Microsoft Visual Studio 2008 ------
REM call "C:\Program files\Microsoft Visual Studio
9.0\VC\bin\vcvars32.bat"
REM call "C:\Program files\Microsoft Visual Studio
9.0\VC\vcvarsall.bat" x86_amd64
REM set PATH=C:\Program Files\Microsoft
SDKs\Windows\v7.0\bin;%PATH%
REM set INCLUDE=C:\Program Files\Microsoft
SDKs\Windows\v7.0\include;%INCLUDE%
REM set LIBPATH=C:\Program Files\Microsoft
SDKs\Windows\v7.0\lib;%LIBPATH%
REM set LIB=C:\Program Files\Microsoft
SDKs\Windows\v7.0\lib;%LIB%
REM ----- Visual Studion 2010 -----
REM -- windows-x64 ---
REM call "C:\Program files\Microsoft Visual
Studio 10.0\VC\vcvarsall.bat" x64
REM -- win32-x86 ---
REM call "C:\Program files\Microsoft Visual
Studio 10.0\VC\vcvarsall.bat" x86
REM ======================================================
REM --------------- EPICS
--------------------------------
REM
======================================================
REM set EPICS_HOST_ARCH=windows-x64
set EPICS_HOST_ARCH=win32-x86
set PATH=%PATH%;C:\epics\base\bin\%EPICS_HOST_ARCH%
REM set PATH=%PATH%;G:\epics\extensions\bin\%EPICS_HOST_ARCH%
REM ======================================================
REM ------- OPTIONAL ENVIRONMENT VARIABLES FOLLOW --------
REM ======================================================
REM ======================================================
REM ----------------- remote CVS
-------------------------
REM
======================================================
REM set CVS_RSH=c:/cygwin/bin/ssh.exe
REM set
CVSROOT=:ext:[email protected]:/usr/local/epicsmgr/cvsroot
REM set HOME=c:/users/%USERNAME%
REM set HOME=c:/users/jba
REM ======================================================
REM ------------------- Bazaar ---------------------------
REM ======================================================
REM set PATH=%PATH%;C:\Program files\Bazaar
REM ======================================================
REM ----------------- GNU make flags ---------------------
REM ======================================================
set MAKEFLAGS=-w
REM ======================================================
REM -------------- vim (use cygwin vim )
-----------------
REM ======================================================
REM HOME needed by vim to write .viminfo file.
REM VIM needed by vim to find _vimrc file.
REM set VIM=c:\cygwin
REM
======================================================
REM --------------- Epics Channel Access -----------------
REM Modify and uncomment the following lines
REM to override the base/configure/CONFIG_ENV
defaults
REM ======================================================
REM set EPICS_CA_ADDR_LIST=n.n.n.n n.n.n.n
REM set EPICS_CA_AUTO_ADDR_LIST=YES
REM set EPICS_CA_CONN_TMO=30.0
REM set EPICS_CA_BEACON_PERIOD=15.0
REM set EPICS_CA_REPEATER_PORT=5065
REM set EPICS_CA_SERVER_PORT=5064
REM set EPICS_TS_MIN_WEST=420
REM ======================================================
REM --------------- JAVA ---------------------------------
REM ======================================================
REM Needed for java extensions
REM set CLASSPATH=G:\epics\extensions\javalib
REM set PATH=%PATH%;C:\j2sdk1.4.1_01\bin
REM set CLASSPATH=%CLASSPATH%;C:\j2sdk1.4.1_01\lib\tools.jar
REM ======================================================
REM --------------- Exceed -------------------------------
REM Needed for X11 extensions
REM
======================================================
REM set EX_VER=7.10
REM set EX_VER=12.00
REM set EX_VER=14.00
REM set PATH=%PATH%;C:\Exceed%EX_VER%\XDK\
REM set PATH=%PATH%;C:\Program
Files\Hummingbird\Connectivity\%EX_VER%\Exceed\
Didn't change anything else. I think I missed something. What do you
think I've missed?
Thank you.
--
Sincerely,
Pavel Maslov, MSc
R&D Institute for Electro-Physical Apparatus
Mobile:
+7 (951) 672 22 19
Phone: +7 (812) 461 01 01
--
Sincerely,
Pavel Maslov, MSc
R&D Institute for Electro-Physical Apparatus
Mobile:
+7 (951) 672 22 19
Phone: +7 (812) 461 01 01
--
Sincerely,
Pavel Maslov, MSc
R&D Institute for Electro-Physical Apparatus
Mobile:
+7 (951) 672 22 19
Phone: +7 (812) 461 01 01