Mark,
Using the make.exe received from
you, I was able to get successfully compile the example IOC, but encountered
the following (see below).
$ make
clean
make
-C ./configure clean
make[1]:
Entering directory `/cygdrive/c/mytop/configure'
rm -rf
O.cygwin-x86 O.Common
make[1]:
Leaving directory `/cygdrive/c/mytop/configure'
make
-C ./myexampleApp clean
make[1]:
Entering directory `/cygdrive/c/mytop/myexampleApp'
make
-C ./src clean
make[2]:
Entering directory `/cygdrive/c/mytop/myexampleApp/src'
rm -rf
O.cygwin-x86 O.Common
make[2]:
Leaving directory `/cygdrive/c/mytop/myexampleApp/src'
make
-C ./Db clean
make[2]:
Entering directory `/cygdrive/c/mytop/myexampleApp/Db'
rm -rf
O.cygwin-x86 O.Common
make[2]:
Leaving directory `/cygdrive/c/mytop/myexampleApp/Db'
make[1]:
Leaving directory `/cygdrive/c/mytop/myexampleApp'
make
-C ./iocBoot clean
make[1]:
Entering directory `/cygdrive/c/mytop/iocBoot'
make
-C ./iocmyexample clean
make[2]:
Entering directory `/cygdrive/c/mytop/iocBoot/iocmyexample'
rm -f
cdCommands envPaths dllPath.bat
make[2]:
Leaving directory `/cygdrive/c/mytop/iocBoot/iocmyexample'
make[1]:
Leaving directory `/cygdrive/c/mytop/iocBoot'
ui495a@lt-fcid
/cygdrive/c/mytop
$ make
make
-C ./configure install
make[1]:
Entering directory `/cygdrive/c/mytop/configure'
perl
c:/EPICS/base/bin/cygwin-x86/makeMakefile.pl O.cygwin-x86 ../..
mkdir
O.Common
make
-C O.cygwin-x86 -f ../Makefile TOP=../.. T_A=cygwin-x86 install
make[2]:
Entering directory `/cygdrive/c/mytop/configure/O.cygwin-x86'
perl
c:/EPICS/base/bin/cygwin-x86/convertRelease.pl checkRelease
make[2]:
Leaving directory `/cygdrive/c/mytop/configure/O.cygwin-x86'
make[1]:
Leaving directory `/cygdrive/c/mytop/configure'
make
-C ./myexampleApp install
make[1]:
Entering directory `/cygdrive/c/mytop/myexampleApp'
make
-C ./src install
make[2]:
Entering directory `/cygdrive/c/mytop/myexampleApp/src'
perl
c:/EPICS/base/bin/cygwin-x86/makeMakefile.pl O.cygwin-x86 ../../..
mkdir
O.Common
make
-C O.cygwin-x86 -f ../Makefile TOP=../../.. T_A=cygwin-x86 install
make[3]:
Entering directory `/cygdrive/c/mytop/myexampleApp/src/O.cygwin-x86'
perl
c:/EPICS/base/bin/cygwin-x86/makeIncludeDbd.pl base.dbd xxxSupport.dbd dbSu
bExample.dbd
myexampleHello.dbd initTrace.dbd ../O.Common/myexampleInclude.dbd
Expanding
dbd
Installing
created dbd file ../../../dbd/myexample.dbd
c:/EPICS/base/bin/cygwin-x86/dbToRecordtypeH.exe
-I . -I .. -I ../../../dbd -Ic
:/EPICS/base/dbd
../xxxRecord.dbd ../O.Common/xxxRecord.h
Installing
generated generic include file ../../../include/xxxRecord.h
gcc
-c -D_POSIX_THREADS -D_POSIX_TIMERS -DUNIX -DCYGWIN32 -O3
-Wall
-m32 -DEPICS_DLL_NO -MMD -I. -I../O.Common -I. -I.. -I../../../i
nclude/os/cygwin32
-I../../../include -Ic:/EPICS/base/include/os/cygwin32 -Ic:/E
PICS/base/include
../xxxRecord.c
gcc
-c -D_POSIX_THREADS -D_POSIX_TIMERS -DUNIX -DCYGWIN32 -O3
-Wall
-m32 -DEPICS_DLL_NO -MMD -I. -I../O.Common -I. -I.. -I../../../i
nclude/os/cygwin32
-I../../../include -Ic:/EPICS/base/include/os/cygwin32 -Ic:/E
PICS/base/include
../devXxxSoft.c
gcc
-c -D_POSIX_THREADS -D_POSIX_TIMERS -DUNIX -DCYGWIN32 -O3
-Wall
-m32 -DEPICS_DLL_NO -MMD -I. -I../O.Common -I. -I.. -I../../../i
nclude/os/cygwin32
-I../../../include -Ic:/EPICS/base/include/os/cygwin32 -Ic:/E
PICS/base/include
../dbSubExample.c
gcc
-c -D_POSIX_THREADS -D_POSIX_TIMERS -DUNIX -DCYGWIN32 -O3
-Wall
-m32 -DEPICS_DLL_NO -MMD -I. -I../O.Common -I. -I.. -I../../../i
nclude/os/cygwin32
-I../../../include -Ic:/EPICS/base/include/os/cygwin32 -Ic:/E
PICS/base/include
../myexampleHello.c
gcc
-c -D_POSIX_THREADS -D_POSIX_TIMERS -DUNIX -DCYGWIN32 -O3
-Wall
-m32 -DEPICS_DLL_NO -MMD -I. -I../O.Common -I. -I.. -I../../../i
nclude/os/cygwin32
-I../../../include -Ic:/EPICS/base/include/os/cygwin32 -Ic:/E
PICS/base/include
../initTrace.c
ar
-rc myexampleSupport.lib xxxRecord.o devXxxSoft.o dbSubExample.o mye
xampleHello.o
initTrace.o
ranlib
myexampleSupport.lib
Installing
library ../../../lib/cygwin-x86/myexampleSupport.lib
perl
c:/EPICS/base/bin/cygwin-x86/registerRecordDeviceDriver.pl ../O.Common/myex
ample.dbd
myexample_registerRecordDeviceDriver c\:/mytop > myexample.tmp
mv
myexample.tmp myexample_registerRecordDeviceDriver.cpp
g++
-c -D_POSIX_THREADS -D_POSIX_TIMERS -DUNIX -DCYGWIN32 -O3
-Wall
-m32 -DEPICS_DLL_NO -MMD -I. -I../O.Common -I. -I.. -I../../../i
nclude/os/cygwin32
-I../../../include -Ic:/EPICS/base/include/os/cygwin32 -Ic:/E
PICS/base/include
myexample_registerRecordDeviceDriver.cpp
g++
-c -D_POSIX_THREADS -D_POSIX_TIMERS -DUNIX -DCYGWIN32 -O3
-Wall
-m32 -DEPICS_DLL_NO -MMD -I. -I../O.Common -I. -I.. -I../../../i
nclude/os/cygwin32
-I../../../include -Ic:/EPICS/base/include/os/cygwin32 -Ic:/E
PICS/base/include
../myexampleMain.cpp
g++ -o
myexample.exe -static -Lc\:/mytop/lib/cygwin-x86 -Lc\:/EPICS/base/lib/cyg
win-x86
-m32 myexample_registerRecordDeviceDriver.o myexampl
eMain.o
-lmyexampleSupport -lrecIoc -lsoftDevIoc -lmiscIoc -lrsrvIoc -ldbtool
sIoc
-lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom -lpthread -lread
line -lcurses
-lm
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-lmyexampleSupport
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-lrecIoc
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-lsoftDevIoc
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-lmiscIoc
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-lrsrvIoc
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-ldbtoolsIoc
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-lasIoc
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-ldbIoc
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-lregistryIoc
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-ldbStaticIoc
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-lca
/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld:
cannot find
-lCom
collect2:
ld returned 1 exit status
make[3]:
*** [myexample.exe] Error 1
make[3]:
Leaving directory `/cygdrive/c/mytop/myexampleApp/src/O.cygwin-x86'
make[2]:
*** [install.cygwin-x86] Error 2
make[2]:
Leaving directory `/cygdrive/c/mytop/myexampleApp/src'
make[1]:
*** [src.install] Error 2
make[1]:
Leaving directory `/cygdrive/c/mytop/myexampleApp'
make:
*** [myexampleApp.install] Error 2
Flo
From: Mark Rivers
[mailto:[email protected]]
Sent: Tuesday, November 08, 2011 10:37 AM
To: Cid, Florencio A; Ron Sluiter
Cc: [email protected]
Subject: RE: IOC make error
No, I think if base built OK then you can proceed to building the
IOC.
From: Cid, Florencio A
[mailto:[email protected]]
Sent: Tuesday, November 08, 2011 11:34 AM
To: Mark Rivers; Ron Sluiter
Cc: [email protected]
Subject: RE: IOC make error
Thanks, Mark.
Will do. Should I attempt to rebuild EPICS base with
this new make.exe prior to trying to compile/build the example IOC?
Flo
From: Mark Rivers
[mailto:[email protected]]
Sent: Tuesday, November 08, 2011 10:33 AM
To: Cid, Florencio A; Ron Sluiter
Cc: [email protected]
Subject: RE: IOC make error
http://cars.uchicago.edu/software/pub/make.gz
gunzip it, and rename it from make to make.exe.
Mark
From: Cid, Florencio A
[mailto:[email protected]]
Sent: Tuesday, November 08, 2011 11:28 AM
To: Mark Rivers; Ron Sluiter
Cc: [email protected]
Subject: RE: IOC make error
Mark,
I tend to agree with you
regarding figuring out why the latest version of Cygwin make is not
working…..
In the meantime, I was wondering
if you could please have a copy of your make.gz. Thought that I
would give it a try.
Flo
Interestingly I see the following:
$ uname -r
1.7.7(0.230/5/3)
$ ls -al /bin/make*
-rwx------+ 1 epics None 495190
2008-05-23 17:48 /bin/make.exe
-rwxr-x---+ 1 epics Users 151552
2008-02-09 13:50 /bin/make.exe.old
-rw-r--r-- 1 rivers mkpasswd 179495 2009-01-12 14:03
/bin/make.gz
So my version of Cygwin is slightly older than yours, 1.7.7
vs 1.7.9. I have the same version of make as you which I am NOT using,
(it is renamed to make.exe.old) and I am using another version that is about 3
times larger. I honestly don’t remember where I got the version that I am
using. But the .gz file expands into the version of make.exe that I am
using. I can make that available if you want, but I think we need to
figure out why the latest version of Cygwin make is not working?
Mark
From: Cid, Florencio A
[mailto:[email protected]]
Sent: Tuesday, November 08, 2011 10:26 AM
To: Mark Rivers; Ron Sluiter
Cc: [email protected]
Subject: RE: IOC make error
Mark,
Cgwin version is as follows:
$
uname -r
1.7.9(0.237/5/3)
Info for /bin/make is as
follows:
$
ls -al make
-rwxr-xr-x
1 ui495a root 151552 Feb 9 2008 make
Flo
Those are the same settings I am using.
What version of Cygwin are you using? What is the size
and date of your /bin/make.exe?
Mark
From: Cid, Florencio A
[mailto:[email protected]]
Sent: Tuesday, November 08, 2011 10:04 AM
To: Mark Rivers; Ron Sluiter
Cc: [email protected]
Subject: RE: IOC make error
Mark,
I’ve set the following in the
file, CONFIG_SITE,
SHARED_LIBRARIES = NO
STATIC_BUILD = YES
Flo
I don’t think that tech-talk message of mine applies any
more. That was an attempt to use the Cygwin version of make to build for
win32-x86. That is not supported, and one should use the GnuWin version
of make to build for win32-x86.
As far as I know the current Cygwin version of make should
work OK to build for the cygwin-x86 architecture, and there is no need to roll
back to an earlier version.
Are you building statically or dynamically?
Mark
This tech-talk
entry may fix your problem.
On 11/7/2011 4:42 PM, Cid, Florencio A wrote:
Hello all,
I’ve just installed EPICS base (3.14.12.1) on Windows XP
with Cygwin (EPICS_HOST_ARCH = cygwin-x86). To verify the
installation, I was attempting to building the Example IOC application (per
Section 2.2 of the Application Developer’s Guide).
Unfortunately, I am encountering the following errors upon
attempting to compile:
$ make
make -C
./configure install
make[1]: Entering
directory `/cygdrive/c/mytop/configure'
make -C
O.cygwin-x86 -f ../Makefile TOP=../.. T_A=cygwin-x86 install
make[2]: Entering
directory `/cygdrive/c/mytop/configure/O.cygwin-x86'
perl
c:/EPICS/base/bin/cygwin-x86/convertRelease.pl checkRelease
make[2]: Leaving
directory `/cygdrive/c/mytop/configure/O.cygwin-x86'
make[1]: Leaving
directory `/cygdrive/c/mytop/configure'
make -C
./myexampleApp install
make[1]: Entering
directory `/cygdrive/c/mytop/myexampleApp'
make -C ./src
install
make[2]: Entering
directory `/cygdrive/c/mytop/myexampleApp/src'
make -C
O.cygwin-x86 -f ../Makefile TOP=../../.. T_A=cygwin-x86 install
make[3]: Entering
directory `/cygdrive/c/mytop/myexampleApp/src/O.cygwin-x86'
c:/EPICS/base/configure/RULES_TARGET:69:
*** multiple target patterns. Stop.
make[3]: Leaving
directory `/cygdrive/c/mytop/myexampleApp/src/O.cygwin-x86'
make[2]: ***
[install.cygwin-x86] Error 2
make[2]: Leaving
directory `/cygdrive/c/mytop/myexampleApp/src'
make[1]: ***
[src.install] Error 2
make[1]: Leaving
directory `/cygdrive/c/mytop/myexampleApp'
make: ***
[myexampleApp.install] Error 2
Not sure if this is an indication that I have a bad EPICS
base build and/or have something lacking in my environment, etc. Any
help/info/assistance will be greatly appreciated.
Thanks in advance,
Florencio Cid