Jafar,
 
Today on the fresh head I managed to build Unicon on Cygwin64/Win8.1. My steps were following:
 
1) I've created new configuration as copy of /config/unix/x86_64_linux and named it x86_64_cygwin.
 
2) Installed on cygwin missed GNU diff tools.
 
3) copied libnsl.a from Dick to /lib
 
4) cut from define.h line
#define LoadFunc
and added line
#define Concurrent 1
 
5) commented in Makedefs XLIBS and define RLIBS as
RLIBS = $(LIBS) -L../../bin -lm -lgdbm -ltp -lnsl -ldl
 
 
6) purged rswitch.s file
 
7) make Configure name=x86_64_cygwin
 
8) make Unicon
 
icont.exe and iconx.exe were created in bin directory but process failed on following operation in /uni/unicon/makefile:
$(CP) unicon$(EXE) $(BIN)
It wanted to perform 
$(CP) unicon.exe $(BIN)
as I figured but just created executable was unicon without .exe That's quite strange because command uname returns "CYGWIN_NT-6.3"
 
9) OK, I have just copied /uni/unicon/unicon to uni/unicon/unicon.exe and continued with make Unicon
 
process continued but again aborted on the step:
 
make[3]: enter to directory </home/unicon/uni/udb/lib>
../../../bin/unicon -u -c  listener.icn
make[3]: ../../../bin/unicon: Command not found
 
Really, directory bin didn't contain unicon.
 
10) OK, I copied /uni/unicon/unicon to bin and continued with make Unicon
 
Now it successed to the end. My Lord, I did it!
 
I think that instead of using libnsl.a I could make some stub definition for gethostent() function.
 
Best regards,
Sergey
 
12.06.2014, 19:02, "Jafar Al-Gharaibeh" <[email protected]>:
On Thu, Jun 12, 2014 at 2:48 AM, shea. <[email protected]> wrote:
Hey Sergey,
I've had similar issues with x86_32 and in order to enable concurrency
there I think you need all three of the following commands in
src/h/define.h.

#define HAVE_LIBPTHREAD 1
#define Concurrent 1
#define NoKeyword__Thread 1

Actually, I tend to put these defines in /config/win32/gcc/define32.h
(I guess for you it'd be /config/win32/cygwin/define.h) as well though
because "make Unicon" on Windows I think overwrites the other
define.h.
 
 
On a Linux environment, which cygwin provides. Only 

#define Concurrent 1
 
is needed. And since we are taking a Linux "approach",  I don't think any config/win32 is involved. Although as we found yesterday, the win32 version of rswitch.s was needed instead of the Linux's.
 
I've noticed the push instruction error in rswitch.s as well(for 32
bit builds), which enabling concurrency seemed to fix but I may spend
some time looking at it and see if I can spot the problem.
 
Enabling concurrency drops the need for rswitch.s since we switch (no pun intended) to pthreads to provide the co-_expression_'s context switch.
 
 
--Jafar
 
 
 - Shea Newton

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Unicon-group mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/unicon-group
------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Unicon-group mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to