Fri Dec 03, 2021 1:26 am
Login Register Lost Password? Contact Us


Stand alone eclcc

Comments and questions related to the Enterprise Control Language

Mon Jul 24, 2017 1:34 pm Change Time Zone

It is great that eclcc can generate a native a.out file. I use this understand new operations quite often. I noticed the other day that when using eclcc to generate a native a.out file it hangs if there is no internet connection.

QUESTION: Why does a local compile of eclcc required networking?

Specifics:

% eclcc --version
6.0.0 community_6.0.0-1
% uname -v
Darwin Kernel Version 16.6.0: Fri Apr 14 16:21:16 PDT 2017; root:xnu-3789.60.24~6/RELEASE_X86_64

When I execute eclcc from the command line, eg:

% eclcc inc.ecl

it generates an a.out if connected to the internet. However, if I disable networking, it hangs. (At least it took longer than I was willing to wait: >5 mins.)

Note: I have an ecl.ini file that has info to access my HPCC cluster. eclcc behaves the same when remove ecl.ini
vin
 
Posts: 28
Joined: Tue Feb 10, 2015 8:12 pm

Mon Jul 24, 2017 4:45 pm Change Time Zone

Checking with development. In the past all clusters were connected via IP, so perhaps it's a legacy feature. Confirming.

Regards,

Bob
bforeman
Community Advisory Board Member
Community Advisory Board Member
 
Posts: 1005
Joined: Wed Jun 29, 2011 7:13 pm

Mon Jul 24, 2017 5:39 pm Change Time Zone

I just tried to reproduce this on my Ubuntu 16.04 Virtual Machine running on Virtual Box.

In netowrk settings, I disabled both network card devices, then restarted the VM.

I was still able to compile and link hello.ecl using

Code: Select all
sudo eclcc hello.ecl


This created a.out, which I was able to run it using:
Code: Select all
./a.out


Am I missing something? How are you disabling networking?

Jim
JimD
 
Posts: 157
Joined: Wed May 18, 2011 1:35 pm

Mon Jul 24, 2017 7:05 pm Change Time Zone

Thanks for the response. It inspired me to look more deeply. Two notes. (1) I'm using a Mac. (2) It doesn't hang permanently.

I'm attaching a transcript that I will now describe. I have a complicate networking stack. Present all interfaces, then use grep to show the active external. Compile takes 1.01s and executable finishes in 50ms. I show the eclcc.log for reference.

Next, turn off network (in GUI). Compile takes >2 mins and a.out >1 min. Looking at the eclcc.log from this compile we see that gethostbyname fails. The first two lines in the log are out of order (might be error is written to stderr and others to stdout). Best I can tell by looking at the log is it takes a minute for gethostbyname to fail. Then another minute to get back to work.

Here is the full transcript. Command prompt is "sh-3.2$"

Code: Select all
sh-3.2$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
        nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8823<UP,BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
        ether ac:bc:32:cf:7e:e7
        nd6 options=201<PERFORMNUD,DAD>
        media: autoselect (<unknown type>)
        status: inactive
en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
        options=60<TSO4,TSO6>
        ether 6a:00:01:6d:2d:b0
        media: autoselect <full-duplex>
        status: inactive
en2: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
        options=60<TSO4,TSO6>
        ether 6a:00:01:6d:2d:b1
        media: autoselect <full-duplex>
        status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=63<RXCSUM,TXCSUM,TSO4,TSO6>
        ether 6a:00:01:6d:2d:b0
        Configuration:
                id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
                maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
                root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
                ipfilter disabled flags 0x2
        member: en1 flags=3<LEARNING,DISCOVER>
                ifmaxaddr 0 port 6 priority 0 path cost 0
        member: en2 flags=3<LEARNING,DISCOVER>
                ifmaxaddr 0 port 7 priority 0 path cost 0
        nd6 options=201<PERFORMNUD,DAD>
        media: <unknown type>
        status: inactive
p2p0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 2304
        ether 0e:bc:32:cf:7e:e7
        media: autoselect
        status: inactive
awdl0: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> mtu 1484
        ether ce:c5:f4:e7:54:d2
        nd6 options=201<PERFORMNUD,DAD>
        media: autoselect
        status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
        inet6 fe80::70a7:71bd:32d4:787%utun0 prefixlen 64 scopeid 0xc
        nd6 options=201<PERFORMNUD,DAD>
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
        lladdr 00:0a:27:02:00:53:1f:01
        nd6 options=201<PERFORMNUD,DAD>
        media: autoselect <full-duplex>
        status: inactive
en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=10b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV>
        ether 10:dd:b1:d8:91:66
        inet6 fe80::1076:825c:b271:157e%en5 prefixlen 64 secured scopeid 0x4
        inet 152.14.89.252 netmask 0xfffffe00 broadcast 152.14.89.255
        nd6 options=201<PERFORMNUD,DAD>
        media: autoselect (1000baseT <full-duplex>)
        status: active
sh-3.2$ ifconfig | grep -w inet
        inet 127.0.0.1 netmask 0xff000000
        inet 152.14.89.252 netmask 0xfffffe00 broadcast 152.14.89.255
sh-3.2$ time eclcc hello.ecl

real    0m1.010s
user    0m0.369s
sys     0m0.498s
sh-3.2$ time ./a.out
Hello and Welcome!

real    0m0.050s
user    0m0.023s
sys     0m0.016s
sh-3.2$ cat eclcc.log
00000000 2017-07-24 14:45:49 13030    -1 Warning: Could not load /opt/HPCCSystems/6.0.0/clienttools/filehooks/libarchivefile.dylib: dlopen(/opt/HPCCSystems/6.0.0/clienttools/filehooks/libarchivefile.dylib, 2): Library not loaded: /opt/local/lib/libarchive.13.dylib
  Referenced from: /opt/HPCCSystems/6.0.0/clienttools/filehooks/libarchivefile.dylib
  Reason: image not found
00000001 2017-07-24 14:45:49 13030    -1 File hook library /opt/HPCCSystems/6.0.0/clienttools/filehooks/libarchivefile.dylib could not be loaded
00000002 2017-07-24 14:45:49 13030    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libauditlib.dylib[lib_auditlib] version = AUDITLIB 1.0.1
00000003 2017-07-24 14:45:49 13030    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libdebugservices.dylib[lib_debugservices] version = DEBUGSERVICES 1.0.1
00000004 2017-07-24 14:45:49 13030    -1 Plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libdmetaphone.dylib exports getECLPluginDefinition but does not export ECL - not loading
00000005 2017-07-24 14:45:49 13030    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libfileservices.dylib[lib_fileservices] version = FILESERVICES 2.1.3
00000006 2017-07-24 14:45:49 13030    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/liblogging.dylib[lib_logging] version = LOGGING 1.0.1
00000007 2017-07-24 14:45:49 13030    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libparselib.dylib[lib_parselib] version = PARSELIB 1.0.1
00000008 2017-07-24 14:45:49 13030    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libstringlib.dylib[lib_stringlib] version = STRINGLIB 1.1.14
00000009 2017-07-24 14:45:49 13030    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libtimelib.dylib[lib_timelib] version = TIMELIB 1.0.0
0000000A 2017-07-24 14:45:49 13030    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libunicodelib.dylib[lib_unicodelib] version = UNICODELIB 1.1.06
0000000B 2017-07-24 14:45:49 13030    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libworkunitservices.dylib[lib_WORKUNITSERVICES] version = WORKUNITSERVICES 1.0.2
0000000C 2017-07-24 14:45:49 13030    -1 Adding library: eclrtl
0000000D 2017-07-24 14:45:49 13030    -1 Adding source file: a.out.res.s
0000000E 2017-07-24 14:45:49 13030    -1 addSourceFile a.out.cpp
0000000F 2017-07-24 14:45:49 13030    -1 addSourceFile a.out.res.s
00000010 2017-07-24 14:45:49 13030    -1 Compiling a.out
00000011 2017-07-24 14:45:50 13030    -1 Remove temporaries
00000012 2017-07-24 14:45:50 13030    -1 Remove a.out.res.s*
00000013 2017-07-24 14:45:50 13030    -1 Compiled a.out
sh-3.2$ echo turned off network
turned off network
sh-3.2$ ifconfig | grep -w inet
        inet 127.0.0.1 netmask 0xff000000
sh-3.2$ time eclcc hello.ecl

real    2m2.246s
user    0m0.387s
sys     0m0.516s
sh-3.2$ cat eclcc.log
00000001 2017-07-24 14:38:09 12970    -1 jsocket(1,2890) gethostbyname failed err = 1 : tardis-3.local
00000000 2017-07-24 14:37:08 12970    -1 Warning: Could not load /opt/HPCCSystems/6.0.0/clienttools/filehooks/libarchivefile.dylib: dlopen(/opt/HPCCSystems/6.0.0/clienttools/filehooks/libarchivefile.dylib, 2): Library not loaded: /opt/local/lib/libarchive.13.dylib
  Referenced from: /opt/HPCCSystems/6.0.0/clienttools/filehooks/libarchivefile.dylib
  Reason: image not found
00000002 2017-07-24 14:39:09 12970    -1 File hook library /opt/HPCCSystems/6.0.0/clienttools/filehooks/libarchivefile.dylib could not be loaded
00000003 2017-07-24 14:39:09 12970    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libauditlib.dylib[lib_auditlib] version = AUDITLIB 1.0.1
00000004 2017-07-24 14:39:09 12970    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libdebugservices.dylib[lib_debugservices] version = DEBUGSERVICES 1.0.1
00000005 2017-07-24 14:39:09 12970    -1 Plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libdmetaphone.dylib exports getECLPluginDefinition but does not export ECL - not loading
00000006 2017-07-24 14:39:09 12970    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libfileservices.dylib[lib_fileservices] version = FILESERVICES 2.1.3
00000007 2017-07-24 14:39:09 12970    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/liblogging.dylib[lib_logging] version = LOGGING 1.0.1
00000008 2017-07-24 14:39:09 12970    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libparselib.dylib[lib_parselib] version = PARSELIB 1.0.1
00000009 2017-07-24 14:39:09 12970    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libstringlib.dylib[lib_stringlib] version = STRINGLIB 1.1.14
0000000A 2017-07-24 14:39:09 12970    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libtimelib.dylib[lib_timelib] version = TIMELIB 1.0.0
0000000B 2017-07-24 14:39:09 12970    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libunicodelib.dylib[lib_unicodelib] version = UNICODELIB 1.1.06
0000000C 2017-07-24 14:39:10 12970    -1 Loading plugin /opt/HPCCSystems/6.0.0/clienttools/plugins/libworkunitservices.dylib[lib_WORKUNITSERVICES] version = WORKUNITSERVICES 1.0.2
0000000D 2017-07-24 14:39:10 12970    -1 Adding library: eclrtl
0000000E 2017-07-24 14:39:10 12970    -1 Adding source file: a.out.res.s
0000000F 2017-07-24 14:39:10 12970    -1 addSourceFile a.out.cpp
00000010 2017-07-24 14:39:10 12970    -1 addSourceFile a.out.res.s
00000011 2017-07-24 14:39:10 12970    -1 Compiling a.out
00000012 2017-07-24 14:39:10 12970    -1 Remove temporaries
00000013 2017-07-24 14:39:10 12970    -1 Remove a.out.res.s*
00000014 2017-07-24 14:39:10 12970    -1 Compiled a.out
sh-3.2$ time ./a.out
Hello and Welcome!

real    1m0.661s
user    0m0.028s
sys     0m0.027s
vin
 
Posts: 28
Joined: Tue Feb 10, 2015 8:12 pm

Tue Jul 25, 2017 1:26 pm Change Time Zone

Vin,

Would you mind please moving this information into our issue tracking system and open up a new report? Our development team would like to review this further.

https://track.hpccsystems.com/secure/Dashboard.jspa

Thank you!

Bob
bforeman
Community Advisory Board Member
Community Advisory Board Member
 
Posts: 1005
Joined: Wed Jun 29, 2011 7:13 pm

Mon Jul 31, 2017 9:30 pm Change Time Zone

Bob,

I'd be happy to. However, I don't have an account on this JIRA and I could not find a link for unregistered users.

Also, I do not see a project for eclcc. Should I use the HPCCHPCC project?

Thanks,
+vince
vin
 
Posts: 28
Joined: Tue Feb 10, 2015 8:12 pm

Mon Jul 31, 2017 10:00 pm Change Time Zone

Never mind the last post.

I registered and submitted a bug to HPCC project
vin
 
Posts: 28
Joined: Tue Feb 10, 2015 8:12 pm


Return to ECL

Who is online

Users browsing this forum: No registered users and 1 guest