1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 <2011> 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 <2011> 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: [help] EPICS build no good |
From: | "Mark Rivers" <[email protected]> |
To: | "Pavel Masloff" <[email protected]> |
Cc: | [email protected], [email protected] |
Date: | Fri, 2 Dec 2011 16:26:56 -0600 |
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: 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 - 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, 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: 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, 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 - ./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 - 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 - ./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 - 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 REM National Laboratory. REM Copyright (c) 2002 The Regents of the REM Operator of 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, 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 Phone: +7 (812) 461 01 01 -- Sincerely, Pavel Maslov, MSc R&D Institute for Electro-Physical Apparatus Phone: +7 (812) 461 01 01 -- Sincerely, Pavel Maslov, MSc R&D Institute for Electro-Physical Apparatus Phone: +7 (812) 461 01 01 |