unable to distribute the build using icecream

683 views
Skip to first unread message

Shashi Ujjwal

unread,
Sep 5, 2017, 2:46:43 PM9/5/17
to icecream-users
Dear All,

I have installed icecc 1.0.1 in 2 Ubuntu machine (one is 14.04 and another is 16.04). In order monitor build distribution, I have also installed icecream monitor(icemon)

Ubuntu Machine 14.04 is configured for the scheduler and Ubuntu 16.04 as the node.

In /etc/icecc/icecc.config
icecc.conf file of scheduler is modified only for below values

ICECC_NETNAME="dbuild"
ICECC_ALLOW_REMOTE="yes"
ICECC_SCHEDULER_HOST= <ip address of scheduler>

Note: Remaining values are kept as default.

and similarly in another machine(node) i.e Ubuntu 16.04 icecc.conf file is modified like this
ICECC_NETNAME="dbuild"
ICECC_ALLOW_REMOTE="yes"
ICECC_SCHEDULER_HOST= <ip address of scheduler>

After this icecc and icecc-scheduler services are started in Ubuntu 14.04 machine and only icecc service is started in machine ubuntu 16.04

Also icemon is installed in scheduler machine is started with below command
icemon -n dbuild

Before running build all the export variables were set properly including icecc variables
ICECC_CC=arm-linux-gcc and ICECC_CXX=arm-linux-g++

While executing build it;s not getting distributed. I can see it on icemon. My icecream monitor remains in the same state with no distribution happening.

To know more i have set another varriable ICECC_DEBUG=debug and executed icecc as a process (iceccd -vvv)

output of it was very wired which goes something like this
scheduler is on <ip address of scheduler>:8765 (net )
scheduler not found yet
scheduler not found yet
scheduler is on <ip address of scheduler>:8765 (net )

I don't understand what went wrong while configuring icecream distribution build. 

Please help to figure out this issue. 
Any help is highly appreciated.

Thanks in advance

Regards,
Shashi













Henry Miller

unread,
Sep 5, 2017, 3:24:23 PM9/5/17
to icecrea...@googlegroups.com
My immediate thought is that you are cross compiling, but you didn't create a cross compilation environment. 

ICECC_CC and such variables are used by the icecc_create_environment script, you should take the output of that script and put it into the variable ICECC_VERSION (consider renaming the file to something sensible first).  There is a lot more information in the Readme file, unfortunately the subject is complex so expect to have to read it several times. 

If I guessed wrong, then I will need more information. Exact copies of the logs are a good start. 

--
  Henry Miller

--
You received this message because you are subscribed to the Google Groups "icecream-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to icecream-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Shashi Ujjwal

unread,
Sep 6, 2017, 2:37:55 AM9/6/17
to icecream-users
Hello Henry,

Thanks for quick response. I have tried with cross compilation as well by setting ICECC_VERSION but i think problem is with scheduler unable to connect with node (daemon).

I am providing log for iceccd -vvv of scheduler and node.

Scheduler log file
[7291] 08:24:36: ignoring localhost lo
[7291] 08:24:36: broadcast eth0 10.47.115.255
[7291] 08:24:36: scheduler not yet found.
[7291] 08:24:36: scheduler is on 10.47.115.8:8765 (net ICECREAM)   ==> Also my net is name is ICECC_NETNAME="dbuild" but not sure why it's mentioning ICECREAM
[7291] 08:24:36: scheduler not yet found.
[7291] 08:24:39: Connected to scheduler (I am known as 10.47.115.8)
[7291] 08:25:33: eof && !HAS_MSG
[7291] 08:25:33: scheduler closed connection
[7291] 08:25:33: cleared children
[7291] 08:25:33: answer_client_requests returned 1
[7291] 08:25:33: timeout..
[7291] 08:25:36: timeout..
[7291] 08:25:39: timeout..
[7291] 08:25:42: timeout..
[7291] 08:25:45: timeout..
[7291] 08:25:48: timeout..
[7291] 08:25:51: timeout..
[7291] 08:25:54: timeout..
[7291] 08:25:57: timeout..
[7291] 08:26:00: timeout..
[7291] 08:26:03: timeout..
[7291] 08:26:06: ignoring localhost lo
[7291] 08:26:06: broadcast eth0 10.47.115.255
[7291] 08:26:06: scheduler not yet found.
[7291] 08:26:06: scheduler is on 10.47.115.8:8765 (net ICECREAM)
[7291] 08:26:06: scheduler not yet found.
[7291] 08:26:09: Connected to scheduler (I am known as 10.47.115.8)
[7291] 08:26:42: eof && !HAS_MSG
[7291] 08:26:42: scheduler closed connection
[7291] 08:26:42: cleared children
[7291] 08:26:42: answer_client_requests returned 1

Node log:
5504] 08:33:11: ignoring localhost lo
[5504] 08:33:11: broadcast enp0s3 10.47.115.255
[5504] 08:33:11: scheduler not yet found.
[5504] 08:33:11: scheduler is on 10.47.115.8:8765 (net ICECREAM)
[5504] 08:33:11: scheduler not yet found.
[5504] 08:33:14: Connected to scheduler (I am known as 10.47.115.41)
[5504] 08:33:38: eof && !HAS_MSG
[5504] 08:33:38: scheduler closed connection
[5504] 08:33:38: cleared children
[5504] 08:33:38: answer_client_requests returned 1
[5504] 08:33:38: timeout..
[5504] 08:33:41: timeout..
[5504] 08:33:44: timeout..
[5504] 08:33:47: timeout..
[5504] 08:33:50: timeout..
[5504] 08:33:53: timeout..
[5504] 08:33:56: timeout..
[5504] 08:33:59: timeout..
[5504] 08:34:02: timeout..
[5504] 08:34:05: timeout..
[5504] 08:34:08: timeout..
[5504] 08:34:11: timeout..
[5504] 08:34:14: timeout..
[5504] 08:34:17: ignoring localhost lo
[5504] 08:34:17: broadcast enp0s3 10.47.115.255
[5504] 08:34:17: scheduler not yet found.
[5504] 08:34:17: scheduler is on 10.47.115.8:8765 (net ICECREAM)
[5504] 08:34:17: scheduler not yet found.
[5504] 08:34:20: Connected to scheduler (I am known as 10.47.115.41)
[5504] 08:35:05: eof && !HAS_MSG
[5504] 08:35:05: scheduler closed connection
[5504] 08:35:05: cleared children
[5504] 08:35:05: answer_client_requests returned 1
[5504] 08:35:05: timeout..

Henry Miller

unread,
Sep 6, 2017, 4:18:13 PM9/6/17
to icecrea...@googlegroups.com
Looking over your original message, I suspect that you are configuring the Ubuntu package (files in etc), which icecream will not read, that is done by Ubuntu somehow and things get passed on the command line. Thus you are using the default configuration (which is why your net name is icecream) 

Things look fairly normal from those logs, are you running a build in that time? 

Try exporting "ICECC_DEBUG=debug" and running your build so we can see what the build is trying to do. 

--
  Henry Miller

Shashi Ujjwal

unread,
Sep 11, 2017, 3:30:26 AM9/11/17
to icecream-users
 Hello Henry,

I am not changing or configuring the ubuntu package files only modifying icecc.conf file.

Things look fairly normal from those logs, are you running a build in that time?
Yes I am executing make build command and want to distribute it to my ubuntu machines which are running in virtual box.

As you suggested to export ICECC_DEBUG=debug and then executing it. Here are the logs
[21458] 09:19:16: ICECREAM daemon 1.0.1 starting up (nice level 5)
[21458] 09:19:16: 2 CPU(s) online on this server
[21458] 09:19:16: allowing up to 2 active jobs
[21458] 09:19:16: not detaching
[21458] 09:19:16: already a process group leader
[21458] 09:19:16: ignoring localhost lo
[21458] 09:19:16: broadcast eth0 10.47.115.255
[21458] 09:19:16: Netnames:
[21458] 09:19:16: dbuild
[21458] 09:19:16: bind() Address already in use
[21458] 09:19:18: bind() Address already in use
[21458] 09:19:20: bind() Address already in use
[21458] 09:19:22: bind() Address already in use
[21458] 09:19:24: bind() Address already in use

Henry Miller

unread,
Sep 11, 2017, 1:53:12 PM9/11/17
to icecrea...@googlegroups.com
You are running a very old version then. I recommend you upgrade. I don't know when Ubuntu will update their packages, but my understanding is that they won't until 18.04.

--
  Henry Miller

Shashi Ujjwal

unread,
Sep 12, 2017, 1:50:37 AM9/12/17
to icecream-users
Hello Henry,

I have installed icecream by executing "apt-get install icecc" command in my Ubuntu 14.04 machine. Current running version of icecream is ICECC 1.0.1. 

Is there any specific version i need to install ?

Henry Miller

unread,
Sep 12, 2017, 7:21:49 AM9/12/17
to icecrea...@googlegroups.com
1.1 is the latest, and was released just a few weeks ago. I expect distribution packages to catch up over the next few months, depending on their release cycles. For now that means you would have to build and install yourself. 

--
  Henry Miller

Shashi Ujjwal

unread,
Oct 11, 2017, 9:14:55 AM10/11/17
to icecream-users
Hello Henry,

Earlier i have installed ICECC 1.0.1 and modified my icecc.conf file which was located at /etc/icecc/icecc.conf . But after removing older version and installing latest version ICECC1.1,  I am unable to find icecc.conf file. Has this file been removed in latest release if yes then please tell me which file i need to find to update below variable
ICECC_NETNAME=”dbuild”
ICECC_ALLOW_REMOTE=”yes”
ICECC_SCHEDULER_HOST=”ip.of.the.scheduler″.

Thanks,
Shashi Ujjwal

Henry Miller

unread,
Oct 11, 2017, 12:22:33 PM10/11/17
to icecrea...@googlegroups.com
Icecream never had that file. It was created by Ubuntu (Debian?) to conform to their requirements. All options are passed on the command line, and always have been as far as Icecream is concerned. 

--
  Henry Miller

Shashi Ujjwal

unread,
Nov 10, 2017, 12:57:43 AM11/10/17
to icecream-users
Hello Henry,

I was able to distribute build with ice-cream . This time i have gone with make file approach and was successful to build and distribute. But if i tried with gnumake file approach i was not able to distribute at all.

Does ice-cream only support build distribution for make file ?

Regards,
Shashi Ujjwal

Shashi Ujjwal

unread,
Nov 28, 2017, 12:43:55 AM11/28/17
to icecream-users
Hello Henry,

I am waiting for your reply on the above question. Does ice-cream support gnumake ? Since it's not distributing at all when trying to build gnumake files.

Regards,

Shashi Ujjwal Shah

Henry Miller

unread,
Nov 28, 2017, 6:43:42 AM11/28/17
to icecrea...@googlegroups.com
The question does not make sense. Ice cream knows nothing about gnumake. And gnumake knows nothing about ice cream. Ice cream is a program that make calls. 

You will have to investigate this yourself. There are many possibilities why it is not working. I can't list them all. 

--
  Henry Miller

Lubos Lunak

unread,
Dec 1, 2017, 2:46:47 AM12/1/17
to icecrea...@googlegroups.com
On Tuesday 28 of November 2017, Shashi Ujjwal wrote:
> Hello Henry,
>
> I am waiting for your reply on the above question. Does ice-cream support
> gnumake ? Since it's not distributing at all when trying to build gnumake
> files.


As already said, this is irrelevant, icecream is a compiler wrapper, and thus
doesn't care about what invokes it. Seeing your original post, you're trying
the rather complicated case of cross-compiling, but you don't even know if
icecream builds at all, so you should first try to test if it works at all by
trying a trivial native compile. Given the timeout errors, it's quite likely
your network setup is wrong, such as a firewall blocking the necessary ports.

--
Lubos Lunak
Reply all
Reply to author
Forward
0 new messages