EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: [help] EPICS build no good
From: Pavel Masloff <[email protected]>
To: Mark Rivers <[email protected]>
Cc: [email protected], [email protected]
Date: Sun, 4 Dec 2011 22:48:57 +0300
Hey Mark,

The base I am trying to build is 3.14.12.1.
Mingw32-make didn't work. So i tried Microsoft Visual Studio 2010 Express. The compilation ended successfully with a few warnings.
However, when I try to run softIoc.exe, I see the following error:

d:\>softIoc
filename="..\dbLexRoutines.c" line number=243
Invalid argument dbRead opening file 'D:\baseR3.14.12.1\new'/dbd/softIoc.dbd


Pavel


On Sat, Dec 3, 2011 at 1:26 AM, Mark Rivers <[email protected]> wrote:

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




--
Sincerely,

Pavel Maslov, MSc
R&D Institute for Electro-Physical Apparatus


Mobile: +7 (951) 672 22 19
Phone: +7 (812) 461 01 01

Replies:
RE: [help] EPICS build no good Mark Rivers
References:
[help] EPICS build no good Pavel Masloff
RE: [help] EPICS build no good Mark Rivers
Re: [help] EPICS build no good Pavel Masloff
RE: [help] EPICS build no good Mark Rivers
Re: [help] EPICS build no good Pavel Masloff
RE: [help] EPICS build no good Mark Rivers

Navigate by Date:
Prev: EDM Installation Error Ed Villasenor
Next: RE: [help] EPICS build no good Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: [help] EPICS build no good Mark Rivers
Next: RE: [help] EPICS build no good Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024