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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: Building Epics base 3.15.7 on Windows 7 64bit |
From: | Freddie Akeroyd - UKRI STFC via Tech-talk <[email protected]> |
To: | "Sintschuk, Michael" <[email protected]>, "[email protected]" <[email protected]> |
Date: | Thu, 12 Dec 2019 23:56:11 +0000 |
Hi Michael, I’ve a few suggestions of things you could try. A while ago there was an error about “epicsTempFile.obj” that was caused by the Makefile not being able to locate a compiler. Did you
run the “startup\windows.bat” file before you typed gmake and did you see a message like: [vcvarsall.bat] Environment initialized for: 'x86_amd64'
Printed to screen? I think you are missing a “call” from the start of the line with “vcvarsall.bat” that will cause the batch file to terminate early,
so you would miss the final lines of the script setting the EPICS_HOST_ARCH environment variable. I noticed you are using ‘x86_amd64’ as the compiler choice, did using ‘x64’ not work? I recall that ‘x86_64’ needed to be used with
the old Visual Studio express (it didn’t ship a native 64bit compiler), but I thought the community editions now provided a 64 bit native compiler? Either option should work in principle and produce usable 64bit code, however as the ‘x86_amd64’ compiler executable
is itself 32bit it could potentially fail to compile a particularly complicated piece of code as it is limited to using 4GB memory during the compile operation. You are currently typing “gmake” to build EPICS, which I guess is invoking the gmake that comes with strawberry perl? If none of the
above suggestions help, try using “make” (version 4.2.1) available from
https://epics.anl.gov/base/win32.php instead Regards, Freddie
From: Tech-talk <[email protected]>
On Behalf Of Sintschuk, Michael via Tech-talk Hello all, I try to build EPICS base 3.15.7 on a Windows 7 64bit laptop. I've installed the Microsoft Visual Studio 2019 Community edition with the required packages I think (vcvarsall.bat is in C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build).
I have also installed strawberry-perl-5.30.1.1-64bit. Still, when I go to: cd C:\epics\base-3.15.7 and run: gmake the building process stops with the following error: gmake[3]: *** No rule to make target 'epicsTempFile.obj', needed by 'antelope.exe'. Stop.
gmake[2]: *** [../../configure/RULES_ARCHS:58: install.windows-x64] Error 2
gmake[1]: *** [../configure/RULES_DIRS:84: libCom.install] Error 2
gmake: *** [configure/RULES_DIRS:84: src.install] Error 2
I have read the tickets concerning this error here in tech-talk but unfortunately nothing works for me.
Here ist my windows.bat file located in C:\epics\base-3.15.7\startup:
@echo off
rem *************************************************************************
rem Copyright (c) 2017 UChicago Argonne LLC, 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 is distributed subject to a Software License Agreement found
rem in file LICENSE that is included with this distribution.
rem *************************************************************************
rem
rem Site-specific EPICS environment settings
rem
rem Sets EPICS_HOST_ARCH and the environment for Microsoft Visual Studio.
rem Optionally, resets PATH, adds Strawberry Perl to PATH, and adds the
rem EPICS Base install host architecture bin directory to PATH.
rem
rem ----------------------------------------------------------------------
rem Site serviceable parts (These definitions may be modified)
rem ----------------------------------------------------------------------
rem The values of the definitions in this section must not contain
rem double-quotes.
rem
rem * Right: set _foo=C:\foo
rem * Right: set "_foo=C:\foo"
rem * Wrong: set _foo="C:\foo"
rem Automatically set up the environment when possible ("yes" or "no").
rem If set to yes, as much of the environment will be set up as possible.
rem If set to no, just the minimum environment will be set up. More
rem specific _auto_* definitions take precedence over this definition.
set _auto=no
rem Automatically reset PATH ("yes" or "no"). If set to yes, PATH will
rem be reset to the value of _path_new. If set to no, PATH will not be
rem reset.
set _auto_path_reset=%_auto%
rem Automatically append to PATH ("yes" or "no"). If set to yes, the
rem EPICS Base install host architecture bin directory will be added to
rem PATH if possible. If set to no, the bin directory will not be added
rem to PATH.
set _auto_path_append=%_auto%
rem The new value for PATH. If _auto_path_reset is yes, PATH will be set
rem to it.
set _path_new=C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem
rem The location of Strawberry Perl (pathname). If empty, Strawberry Perl
rem is assumed to already be in PATH and will not be added. If nonempty,
rem Strawberry Perl will be added to PATH.
set _strawberry_perl_home=C:\Strawberry
rem The location of Microsoft Visual Studio (pathname).
set _visual_studio_home=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
rem The EPICS host architecture specification for EPICS_HOST_ARCH
rem (<os>-<arch>[-<toolset>] as defined in configure/CONFIG_SITE).
set _epics_host_arch=windows-x64
rem The install location of EPICS Base (pathname). If nonempty and
rem _auto_path_append is yes, it will be used to add the host architecture
rem bin directory to PATH.
set _epics_base=C:\epics\base-3.15.7
rem ----------------------------------------------------------------------
rem Internal parts (There is typically no need to modify these)
rem ----------------------------------------------------------------------
rem Reset PATH
if "%_auto_path_reset%" == "yes" (
set "PATH=%_path_new%"
)
rem Add Strawberry Perl to PATH
if "%_strawberry_perl_home%" == "" goto after_add_strawberry_perl
rem Can't do this inside parentheses because PATH would be read only once
set "PATH=%PATH%;%_strawberry_perl_home%\c\bin"
set "PATH=%PATH%;%_strawberry_perl_home%\perl\site\bin"
set "PATH=%PATH%;%_strawberry_perl_home%\perl\bin"
:after_add_strawberry_perl
rem Set the environment for Microsoft Visual Studio
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
rem Set the EPICS host architecture specification
set "EPICS_HOST_ARCH=%_epics_host_arch%"
rem Add the EPICS Base host architecture bin directory to PATH
if "%_auto_path_append%" == "yes" (
if not "%_epics_base%" == "" (
set "PATH=%PATH%;%_epics_base%\bin\%_epics_host_arch%"
)
)
rem Don't leak variables into the environment
set _auto=
set _auto_path_reset=
set _auto_path_append=
set _path_new=
set _strawberry_perl_home=
set _visual_studio_home=
set _epics_host_arch=
set _epics_base=
I have moved the win32.bat file out of this folder, so I only have this one. Can someone help? Best regards Michael |