Author Topic: "semi" Native Compilation With Distcc  (Read 35995 times)

pgas

  • Hero Member
  • *****
  • Posts: 1097
    • View Profile
    • http://
"semi" Native Compilation With Distcc
« Reply #15 on: November 29, 2005, 04:51:54 pm »
Quote
ould someone who has this working let me know what OS they are running on their PC and what version of pdaX they are running?

Ubuntu breezy, cross-sdk,
have you made a link ln -s /usr/lib/libiconv.so.2.2.0 /usr/lib/libiconv.so.2 ?
are they executable (chmod +x /usr/lib/libiconv*) ?
SLC-860 cacko / senao wifi

sds

  • Jr. Member
  • **
  • Posts: 81
    • View Profile
"semi" Native Compilation With Distcc
« Reply #16 on: November 29, 2005, 05:15:08 pm »
It works on SuSE 9.2 when put in this location:
/opt/cross/arm/3.4.4-xscale-softvfp/lib/libiconv.so.2

Be *sure* to use the same version of the (native/crosscompile) sdks on both the zaurus and the distcc server (otherwise strange errors would commence -- see my experience in this thread). RC12 works for me.
 
Do not forget to open your firewall's port 3263 (I think) on the server where distccd is listening to. I am running distccd under a normal user account with no problems.
C3100 pdaXrom

sds

  • Jr. Member
  • **
  • Posts: 81
    • View Profile
"semi" Native Compilation With Distcc
« Reply #17 on: November 29, 2005, 11:59:04 pm »
Sorry, forgot one important thing (should work actually with any location of the lib):

export LD_LIBRARY_PATH=/opt/cross/arm/3.4.4-xscale-softvfp/lib
C3100 pdaXrom

jgrauman

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • http://
"semi" Native Compilation With Distcc
« Reply #18 on: November 30, 2005, 02:11:23 pm »
Quote
have you made a link ln -s /usr/lib/libiconv.so.2.2.0 /usr/lib/libiconv.so.2 ? are they executable (chmod +x /usr/lib/libiconv*) ? [div align=\"right\"][a href=\"index.php?act=findpost&pid=105461\"][{POST_SNAPBACK}][/a][/div]
Yes, and yes  

I am also using the same version of the sdk's (see sds' suggestion).
The port is open (sds).

I'll try export LD_LIBRARY_PATH=/opt/cross/arm/3.4.4-xscale-softvfp/lib (sds)

Josh
C1000

jgrauman

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • http://
"semi" Native Compilation With Distcc
« Reply #19 on: November 30, 2005, 02:22:01 pm »
Quote
export LD_LIBRARY_PATH=/opt/cross/arm/3.4.4-xscale-softvfp/lib [div align=\"right\"][a href=\"index.php?act=findpost&pid=105509\"][{POST_SNAPBACK}][/a][/div]
This didn't do it either...
I'll keep trying things and will keep you posted.

Josh
C1000

jgrauman

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • http://
"semi" Native Compilation With Distcc
« Reply #20 on: December 01, 2005, 01:40:26 am »
Well, I just installed Slackware 10.2 on a blank disk for my PC, and still no go...
Doesn't seem like it could be the Zaurus, since all I did was install RC12 and a couple other programs... and followed the instructions almost exactly.

My Zaurus still gives the error "failed to distribute."
However, it doesn't seem like distcc is accessing the distccd server. My ips are 192.168.1.1 and 192.168.1.2, and I can ping across.

I run distccd as follows:
distccd --listen 192.168.1.1 -a 192.168.1.2 --verbose --log-file=/tmp/distccd.log --daemon
and there isn't any attempts to log on to the server in the log. I'm not running a firewall (I don't think, iptables -L is blank).

There were attempts to log on to the distccd server on my original hard drive, no idea why none now. Any ideas? I've been pounding my head against this for a long time...

sds: Could you post the links you made, I assume you had to make slight modifications to the instructions as I did because you are using RC12...

Thanks for any ideas.

Josh

P.S. I'm running distcc 2.14 on my Zaurus and distccd 2.18.3 on my PC.
P.P.S Cross compiling seems to be working, at least with a simple hello world example.
« Last Edit: December 01, 2005, 01:46:05 am by jgrauman »
C1000

jgrauman

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • http://
"semi" Native Compilation With Distcc
« Reply #21 on: December 01, 2005, 05:59:55 pm »
Sorry for all the posts again...

I just spent a couple hours completely reflashing RC12 on my C1000 and installing Ubuntu 5.10 on my desktop from scratch on both. Still the same error. I'm really dumbfounded. Is everyone who has this working in RC12 using the cross-SDK and native-SDK from here?

https://www.oesf.org/forums/index.php?showtopic=15762

Anyone care to share what versions of distcc and distccd they are running. How about the exact links you made in RC12 (since they are slightly different from the instructions)?  

Things that work:
The cross compiler (compiled a simple hello world, and even joe-3.3 on my desktop, copied them to the zaurus and they work).

The network. ping's and ssh's fine.

Distcc/distccd: works to a degree. When I run make on the zaurus, it starts compiling stuff on my desktop. However, I get an error: "Warning: failed to distribute" on the zaurus.

P.S. I'm running this over usbnet, could this be a hardware problem somehow with that?

See distccd's verbose log below:
Please help, thanks.

Josh

distccd[13215] (main) chdir to /tmp
distccd[13215] (dcc_setup_daemon_path) daemon's PATH is /home/jgrauman/distcc:/opt/cross/arm/3.4.4-xscale-softvfp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
distccd[13215] (dcc_listen_by_addr) listening on 0.0.0.0:3632
distccd[13215] (dcc_defer_accept) TCP_DEFER_ACCEPT turned on
distccd[13215] (dcc_standalone_server) 1 CPU online on this server
distccd[13215] (dcc_standalone_server) allowing up to 3 active jobs
distccd[13215] (dcc_ignore_sighup) ignoring SIGHUP
distccd[13216] (dcc_detach) setsid to session 13216
distccd[13216] (dcc_log_daemon_started) preforking daemon started (2.18.3 i686-pc-linux-gnu, built Dec  1 2005 14:25:45)
distccd[13216] (dcc_preforking_parent) up to 1 children
distccd[13216] (dcc_preforking_parent) up to 2 children
distccd[13216] (dcc_preforking_parent) up to 3 children
distccd[13217] (dcc_check_client) connection from 192.168.1.2:1027
distccd[13217] (dcc_check_address) match client 0x201a8c0, value 0x201a8c0, mask 0xffffffff
distccd[13217] (dcc_r_token_int) got DIST00000001
distccd[13217] (dcc_r_token_int) got ARGC00000007
distccd[13217] (dcc_r_argv) reading 7 arguments from job submission
distccd[13217] (dcc_r_token_int) got ARGV00000003
distccd[13217] (dcc_r_argv) argv[0] = "gcc"
distccd[13217] (dcc_r_token_int) got ARGV00000002
distccd[13217] (dcc_r_argv) argv[1] = "-g"
distccd[13217] (dcc_r_token_int) got ARGV00000003
distccd[13217] (dcc_r_argv) argv[2] = "-O2"
distccd[13217] (dcc_r_token_int) got ARGV00000002
distccd[13217] (dcc_r_argv) argv[3] = "-c"
distccd[13217] (dcc_r_token_int) got ARGV00000002
distccd[13217] (dcc_r_argv) argv[4] = "-o"
distccd[13217] (dcc_r_token_int) got ARGV00000003
distccd[13217] (dcc_r_argv) argv[5] = "b.o"
distccd[13217] (dcc_r_token_int) got ARGV00000003
distccd[13217] (dcc_r_argv) argv[6] = "b.c"
distccd[13217] (dcc_r_argv) got arguments: gcc -g -O2 -c -o b.o b.c
distccd[13217] (dcc_scan_args) scanning arguments: gcc -g -O2 -c -o b.o b.c
distccd[13217] (dcc_scan_args) found object/output file "b.o"
distccd[13217] (dcc_scan_args) found input file "b.c"
distccd[13217] compile from b.c to b.o
distccd[13217] (dcc_run_job) output file b.o
distccd[13217] (dcc_input_tmpnam) input file b.c
distccd[13217] (dcc_r_token_int) got DOTI00029a3f
distccd[13217] (dcc_r_file) received 170559 bytes to file /tmp/distccd_42bc7a16.i
distccd[13217] (dcc_r_file_timed) 170559 bytes received in 0.210065s, rate 793kB/s
distccd[13217] (dcc_set_input) changed input from "b.c" to "/tmp/distccd_42bc7a16.i"
distccd[13217] (dcc_set_input) command after: gcc -g -O2 -c -o b.o /tmp/distccd_42bc7a16.i
distccd[13217] (dcc_set_output) changed output from "b.o" to "/tmp/distccd_42857a16.o"
distccd[13217] (dcc_set_output) command after: gcc -g -O2 -c -o /tmp/distccd_42857a16.o /tmp/distccd_42bc7a16.i
distccd[13217] (dcc_check_compiler_masq) /home/jgrauman/distcc/gcc is a safe symlink to /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/bin/gcc
distccd[13217] (dcc_spawn_child) forking to execute: gcc -g -O2 -c -o /tmp/distccd_42857a16.o /tmp/distccd_42bc7a16.i
distccd[13240] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distccd[13217] (dcc_spawn_child) child started as pid13240
distccd[13217] (dcc_collect_child) cc child 13240 terminated with status 0
distccd[13217] (dcc_collect_child) cc times: user 1.523768s, system 0.043993s, 4582 minflt, 43 majflt
distccd[13217] (dcc_x_token_int) send DONE00000001
distccd[13217] (dcc_x_token_int) send STAT00000000
distccd[13217] (dcc_x_file) send 0 byte file /tmp/distcc_40fe7a16.stderr with token SERR
distccd[13217] (dcc_x_token_int) send SERR00000000
distccd[13217] (dcc_x_file) send 0 byte file /tmp/distcc_410d7a16.stdout with token SOUT
distccd[13217] (dcc_x_token_int) send SOUT00000000
distccd[13217] (dcc_x_file) send 80384 byte file /tmp/distccd_42857a16.o with token DOTO
distccd[13217] (dcc_x_token_int) send DOTO00013a00
distccd[13217] gcc b.c on localhost completed ok
distccd[13217] job complete
distccd[13217] (dcc_cleanup_tempfiles) deleted 4 temporary files
distccd[13216] (dcc_daemon_terminate) Terminated
distccd[13216] (dcc_cleanup_tempfiles) deleted 0 temporary files
distccd[13217] (dcc_cleanup_tempfiles) deleted 0 temporary files
distccd[13218] (dcc_cleanup_tempfiles) deleted 0 temporary files
distccd[13219] (dcc_cleanup_tempfiles) deleted 0 temporary files
distccd[13273] (main) chdir to /tmp
distccd[13273] (dcc_setup_daemon_path) daemon's PATH is /home/jgrauman/distcc:/opt/cross/arm/3.4.4-xscale-softvfp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
distccd[13273] (dcc_listen_by_addr) listening on 0.0.0.0:3632
distccd[13273] (dcc_defer_accept) TCP_DEFER_ACCEPT turned on
distccd[13273] (dcc_standalone_server) 1 CPU online on this server
distccd[13273] (dcc_standalone_server) allowing up to 3 active jobs
distccd[13273] (dcc_ignore_sighup) ignoring SIGHUP
distccd[13274] (dcc_detach) setsid to session 13274
distccd[13274] (dcc_log_daemon_started) preforking daemon started (2.18.3 i686-pc-linux-gnu, built Dec  1 2005 14:25:45)
distccd[13274] (dcc_preforking_parent) up to 1 children
distccd[13274] (dcc_preforking_parent) up to 2 children
distccd[13274] (dcc_preforking_parent) up to 3 children
distccd[13275] (dcc_check_client) connection from 192.168.1.2:1028
distccd[13275] (dcc_check_address) match client 0x201a8c0, value 0x201a8c0, mask 0xffffffff
distccd[13275] (dcc_r_token_int) got DIST00000001
distccd[13275] (dcc_r_token_int) got ARGC00000007
distccd[13275] (dcc_r_argv) reading 7 arguments from job submission
distccd[13275] (dcc_r_token_int) got ARGV00000003
distccd[13275] (dcc_r_argv) argv[0] = "gcc"
distccd[13275] (dcc_r_token_int) got ARGV00000002
distccd[13275] (dcc_r_argv) argv[1] = "-g"
distccd[13275] (dcc_r_token_int) got ARGV00000003
distccd[13275] (dcc_r_argv) argv[2] = "-O2"
distccd[13275] (dcc_r_token_int) got ARGV00000002
distccd[13275] (dcc_r_argv) argv[3] = "-c"
distccd[13275] (dcc_r_token_int) got ARGV00000002
distccd[13275] (dcc_r_argv) argv[4] = "-o"
distccd[13275] (dcc_r_token_int) got ARGV00000003
distccd[13275] (dcc_r_argv) argv[5] = "b.o"
distccd[13275] (dcc_r_token_int) got ARGV00000003
distccd[13275] (dcc_r_argv) argv[6] = "b.c"
distccd[13275] (dcc_r_argv) got arguments: gcc -g -O2 -c -o b.o b.c
distccd[13275] (dcc_scan_args) scanning arguments: gcc -g -O2 -c -o b.o b.c
distccd[13275] (dcc_scan_args) found object/output file "b.o"
distccd[13275] (dcc_scan_args) found input file "b.c"
distccd[13275] compile from b.c to b.o
distccd[13275] (dcc_run_job) output file b.o
distccd[13275] (dcc_input_tmpnam) input file b.c
distccd[13275] (dcc_r_token_int) got DOTI00029a3f
distccd[13275] (dcc_r_file) received 170559 bytes to file /tmp/distccd_b5147aa4.i
distccd[13275] (dcc_r_file_timed) 170559 bytes received in 0.210092s, rate 793kB/s
distccd[13275] (dcc_set_input) changed input from "b.c" to "/tmp/distccd_b5147aa4.i"
distccd[13275] (dcc_set_input) command after: gcc -g -O2 -c -o b.o /tmp/distccd_b5147aa4.i
distccd[13275] (dcc_set_output) changed output from "b.o" to "/tmp/distccd_b50e7aa4.o"
distccd[13275] (dcc_set_output) command after: gcc -g -O2 -c -o /tmp/distccd_b50e7aa4.o /tmp/distccd_b5147aa4.i
distccd[13275] (dcc_check_compiler_masq) /home/jgrauman/distcc/gcc is a safe symlink to /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/bin/gcc
distccd[13275] (dcc_spawn_child) forking to execute: gcc -g -O2 -c -o /tmp/distccd_b50e7aa4.o /tmp/distccd_b5147aa4.i
distccd[13283] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distccd[13275] (dcc_spawn_child) child started as pid13283
distccd[13275] (dcc_collect_child) cc child 13283 terminated with status 0
distccd[13275] (dcc_collect_child) cc times: user 1.501771s, system 0.047992s, 4623 minflt, 0 majflt
distccd[13275] (dcc_x_token_int) send DONE00000001
distccd[13275] (dcc_x_token_int) send STAT00000000
distccd[13275] (dcc_x_file) send 0 byte file /tmp/distcc_b3c77aa4.stderr with token SERR
distccd[13275] (dcc_x_token_int) send SERR00000000
distccd[13275] (dcc_x_file) send 0 byte file /tmp/distcc_b3827aa4.stdout with token SOUT
distccd[13275] (dcc_x_token_int) send SOUT00000000
distccd[13275] (dcc_x_file) send 80384 byte file /tmp/distccd_b50e7aa4.o with token DOTO
distccd[13275] (dcc_x_token_int) send DOTO00013a00
distccd[13275] gcc b.c on localhost completed ok
distccd[13275] job complete
distccd[13275] (dcc_cleanup_tempfiles) deleted 4 temporary files
distccd[13276] (dcc_check_client) connection from 192.168.1.2:1029
distccd[13276] (dcc_check_address) match client 0x201a8c0, value 0x201a8c0, mask 0xffffffff
distccd[13276] (dcc_r_token_int) got DIST00000001
distccd[13276] (dcc_r_token_int) got ARGC00000007
distccd[13276] (dcc_r_argv) reading 7 arguments from job submission
distccd[13276] (dcc_r_token_int) got ARGV00000003
distccd[13276] (dcc_r_argv) argv[0] = "gcc"
distccd[13276] (dcc_r_token_int) got ARGV00000002
distccd[13276] (dcc_r_argv) argv[1] = "-g"
distccd[13276] (dcc_r_token_int) got ARGV00000003
distccd[13276] (dcc_r_argv) argv[2] = "-O2"
distccd[13276] (dcc_r_token_int) got ARGV00000002
distccd[13276] (dcc_r_argv) argv[3] = "-c"
distccd[13276] (dcc_r_token_int) got ARGV00000002
distccd[13276] (dcc_r_argv) argv[4] = "-o"
distccd[13276] (dcc_r_token_int) got ARGV00000003
distccd[13276] (dcc_r_argv) argv[5] = "b.o"
distccd[13276] (dcc_r_token_int) got ARGV00000003
distccd[13276] (dcc_r_argv) argv[6] = "b.c"
distccd[13276] (dcc_r_argv) got arguments: gcc -g -O2 -c -o b.o b.c
distccd[13276] (dcc_scan_args) scanning arguments: gcc -g -O2 -c -o b.o b.c
distccd[13276] (dcc_scan_args) found object/output file "b.o"
distccd[13276] (dcc_scan_args) found input file "b.c"
distccd[13276] compile from b.c to b.o
distccd[13276] (dcc_run_job) output file b.o
distccd[13276] (dcc_input_tmpnam) input file b.c
distccd[13276] (dcc_r_token_int) got DOTI00029a3f
distccd[13276] (dcc_r_file) received 170559 bytes to file /tmp/distccd_ac0c7c06.i
distccd[13276] (dcc_r_file_timed) 170559 bytes received in 0.212071s, rate 785kB/s
distccd[13276] (dcc_set_input) changed input from "b.c" to "/tmp/distccd_ac0c7c06.i"
distccd[13276] (dcc_set_input) command after: gcc -g -O2 -c -o b.o /tmp/distccd_ac0c7c06.i
distccd[13276] (dcc_set_output) changed output from "b.o" to "/tmp/distccd_ac2b7c06.o"
distccd[13276] (dcc_set_output) command after: gcc -g -O2 -c -o /tmp/distccd_ac2b7c06.o /tmp/distccd_ac0c7c06.i
distccd[13276] (dcc_check_compiler_masq) /home/jgrauman/distcc/gcc is a safe symlink to /opt/cross/arm/3.4.4-xscale-softvfp/bin/armv5tel-linux-gcc
distccd[13276] (dcc_spawn_child) forking to execute: gcc -g -O2 -c -o /tmp/distccd_ac2b7c06.o /tmp/distccd_ac0c7c06.i
distccd[13377] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distccd[13276] (dcc_spawn_child) child started as pid13377
distccd[13276] (dcc_collect_child) cc child 13377 terminated with status 0
distccd[13276] (dcc_collect_child) cc times: user 1.522768s, system 0.036994s, 4624 minflt, 0 majflt
distccd[13276] (dcc_x_token_int) send DONE00000001
distccd[13276] (dcc_x_token_int) send STAT00000000
distccd[13276] (dcc_x_file) send 0 byte file /tmp/distcc_aaf77c06.stderr with token SERR
distccd[13276] (dcc_x_token_int) send SERR00000000
distccd[13276] (dcc_x_file) send 0 byte file /tmp/distcc_aaba7c06.stdout with token SOUT
distccd[13276] (dcc_x_token_int) send SOUT00000000
distccd[13276] (dcc_x_file) send 80384 byte file /tmp/distccd_ac2b7c06.o with token DOTO
distccd[13276] (dcc_x_token_int) send DOTO00013a00
distccd[13276] gcc b.c on localhost completed ok
distccd[13276] job complete
distccd[13276] (dcc_cleanup_tempfiles) deleted 4 temporary files
C1000

sds

  • Jr. Member
  • **
  • Posts: 81
    • View Profile
"semi" Native Compilation With Distcc
« Reply #22 on: December 01, 2005, 08:19:32 pm »
Quote
Is everyone who has this working in RC12 using the cross-SDK and native-SDK from here?
https://www.oesf.org/forums/index.php?showtopic=15762
Yes.
However, the pdaXrom team changes name resolution on the site from time to time, so to be absolutely sure, always go to the pdaXrom.org website and use the navigation there.

Quote
Anyone care to share what versions of distcc and distccd they are running.
distcc comes from the native SDK, so no variation here.
I have upgraded to SuSE 10.0 in the meantime on my new x86_64 machine. The default distributed compiling environment there is icecream. I was not able to compile an icecream client for the Zaurus (somebody can help me here? It will be MUCH appreciated). So I went to compile the latest distcc 2.18.3 (I'll post a download link to the source and 64-bit binary rpms later).
All this did not make any difference -- I am still able to distcc in exactly the same setup as before.

Quote
How about the exact links you made in RC12 (since they are slightly different from the instructions)?
OK, although I am not sure this is your problem...
Code: [Select]
On the zaurus
lrwxrwxrwx    1 root     root           47 Nov 29 21:43 c++ -> /opt/native/arm/3.4.4-xscale-softvfp/bin/distcc
lrwxrwxrwx    1 root     root           47 Nov 29 21:43 g++ -> /opt/native/arm/3.4.4-xscale-softvfp/bin/distcc
lrwxrwxrwx    1 root     root           47 Nov 29 21:43 gcc -> /opt/native/arm/3.4.4-xscale-softvfp/bin/distcc
On the workstation
lrwxrwxrwx  1 svetlin users 64 2005-11-30 01:02 c++ -> /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/bin/c++
lrwxrwxrwx  1 svetlin users 64 2005-11-30 01:02 g++ -> /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/bin/g++
lrwxrwxrwx  1 svetlin users 64 2005-11-30 01:03 gcc -> /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/bin/gcc

Quote
Things that work:
The cross compiler (compiled a simple hello world, and even joe-3.3 on my desktop, copied them to the zaurus and they work).
OK. Did you compile something small natively on the Zaurus (just in case -- there is a suitable example, along with packaging it on the website)?
Quote
The network. ping's and ssh's fine.
That does not say much... Did you try to start the distccd daemon and make a telnet to the port it is listening to? You are using distcc through plain TCP (not ssh), right? What does the TCP log on the server say?

Quote
Distcc/distccd: works to a degree. When I run make on the zaurus, it starts compiling stuff on my desktop. However, I get an error: "Warning: failed to distribute" on the zaurus.
Strange... If it does start compiling on the desktop, why should it stop?

Quote
P.S. I'm running this over usbnet, could this be a hardware problem somehow with that?
I have no idea, all this usb stuff is very alien to me.

Quote
See distccd's verbose log below:
What is the b.c file it wants to remotely compile (seems like checking the availability of a compiler on the server -- can not check in my logs now)? Indeed it seems to have received twice the same job from 192.168.1.2  and successfully compiled it... so no problem up to this point.

Please post the relevant Zaurus log. The preprocessing takes place on the Z, only the compilation is on the server.
C3100 pdaXrom

jgrauman

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • http://
"semi" Native Compilation With Distcc
« Reply #23 on: December 02, 2005, 12:08:46 am »
Quote
OK, although I am not sure this is your problem...
Code: [Select]
On the zaurus
lrwxrwxrwx    1 root     root           47 Nov 29 21:43 c++ -> /opt/native/arm/3.4.4-xscale-softvfp/bin/distcc
lrwxrwxrwx    1 root     root           47 Nov 29 21:43 g++ -> /opt/native/arm/3.4.4-xscale-softvfp/bin/distcc
lrwxrwxrwx    1 root     root           47 Nov 29 21:43 gcc -> /opt/native/arm/3.4.4-xscale-softvfp/bin/distcc
On the workstation
lrwxrwxrwx  1 svetlin users 64 2005-11-30 01:02 c++ -> /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/bin/c++
lrwxrwxrwx  1 svetlin users 64 2005-11-30 01:02 g++ -> /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/bin/g++
lrwxrwxrwx  1 svetlin users 64 2005-11-30 01:03 gcc -> /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/bin/gcc
This is what I have too... I didn't think so either, but just checking everything. thanks.

Quote
OK. Did you compile something small natively on the Zaurus (just in case -- there is a suitable example, along with packaging it on the website)?
Yep, compiling a hello world works fine locally, haven't tried more than that.

Quote
That does not say much... Did you try to start the distccd daemon and make a telnet to the port it is listening to? You are using distcc through plain TCP (not ssh), right? What does the TCP log on the server say?
As I said, the Zaurus is able to connect to distccd as is visible in the log on the PC. I've tried connecting via plain TCP and ssh and both give the same error...

Quote
Quote
Distcc/distccd: works to a degree. When I run make on the zaurus, it starts compiling stuff on my desktop. However, I get an error: "Warning: failed to distribute" on the zaurus.
Strange... If it does start compiling on the desktop, why should it stop?
I don't think it stops. The PC compiles what the Zaurus tells it to, but the Zaurus, as soon as it sends a job to the PC gives the error I list below.

Quote
Quote
See distccd's verbose log below:
What is the b.c file it wants to remotely compile (seems like checking the availability of a compiler on the server -- can not check in my logs now)? Indeed it seems to have received twice the same job from 192.168.1.2  and successfully compiled it... so no problem up to this point.
That's what is so odd. This log that appears to have worked fine (from the PC side) is the log of what happened when the Zaurus complained saying:
Code: [Select]
ERROR: ftruncate fd5 failed: Operation not permitted
Warning: failed to distribute to 192.168.1.1, running locally instead
This is basically the same error on the Zaurus that I've gotten all along.

By the way, this was from trying to compile joe-3.3 (the text editor). The b.c file is the first file Make tries to compile from joe. I figured it would be a good program to give a shot at.

Edit: Also, I noticed that sometimes the log on the PC gives an error. Here is the relevant section from trying to compile joe:
Code: [Select]
distccd[8952] (dcc_check_client) connection from 192.168.1.2:1036
distccd[8952] (dcc_check_address) match client 0x201a8c0, value 0x201a8c0, mask 0xffffffff
distccd[8952] (dcc_r_token_int) got DIST00000001
distccd[8952] (dcc_r_token_int) got ARGC00000007
distccd[8952] (dcc_r_argv) reading 7 arguments from job submission
distccd[8952] (dcc_r_token_int) got ARGV00000003
distccd[8952] (dcc_r_argv) argv[0] = "gcc"
distccd[8952] (dcc_r_token_int) got ARGV00000002
distccd[8952] (dcc_r_argv) argv[1] = "-g"
distccd[8952] (dcc_r_token_int) got ARGV00000003
distccd[8952] (dcc_r_argv) argv[2] = "-O2"
distccd[8952] (dcc_r_token_int) got ARGV00000002
distccd[8952] (dcc_r_argv) argv[3] = "-c"
distccd[8952] (dcc_r_token_int) got ARGV00000002
distccd[8952] (dcc_r_argv) argv[4] = "-o"
distccd[8952] (dcc_r_token_int) got ARGV00000003
distccd[8952] (dcc_r_argv) argv[5] = "b.o"
distccd[8952] (dcc_r_token_int) got ARGV00000003
distccd[8952] (dcc_r_argv) argv[6] = "b.c"
distccd[8952] (dcc_r_argv) got arguments: gcc -g -O2 -c -o b.o b.c
distccd[8952] (dcc_scan_args) scanning arguments: gcc -g -O2 -c -o b.o b.c
distccd[8952] (dcc_scan_args) found object/output file "b.o"
distccd[8952] (dcc_scan_args) found input file "b.c"
distccd[8952] compile from b.c to b.o
distccd[8952] (dcc_run_job) output file b.o
distccd[8952] (dcc_input_tmpnam) input file b.c
distccd[8952] (dcc_r_token_int) got DOTI00029a3f
distccd[8952] (dcc_r_file) received 170559 bytes to file /tmp/distccd_95f1d7b6.i
distccd[8952] (dcc_r_file_timed) 170559 bytes received in 0.211071s, rate 789kB/s
distccd[8952] (dcc_set_input) changed input from "b.c" to "/tmp/distccd_95f1d7b6.i"
distccd[8952] (dcc_set_input) command after: gcc -g -O2 -c -o b.o /tmp/distccd_95f1d7b6.i
distccd[8952] (dcc_set_output) changed output from "b.o" to "/tmp/distccd_95d7d7b6.o"
distccd[8952] (dcc_set_output) command after: gcc -g -O2 -c -o /tmp/distccd_95d7d7b6.o /tmp/distccd_95f1d7b6.i
distccd[8952] (dcc_check_compiler_masq) /home/jgrauman/distcc/gcc is a safe symlink to /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/bin/gcc
distccd[8952] (dcc_spawn_child) forking to execute: gcc -g -O2 -c -o /tmp/distccd_95d7d7b6.o /tmp/distccd_95f1d7b6.i
distccd[9034] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distccd[8952] (dcc_spawn_child) child started as pid9034
distccd[8952] (dcc_collect_child) cc child 9034 terminated with status 0
distccd[8952] (dcc_collect_child) cc times: user 1.504771s, system 0.049992s, 4624 minflt, 0 majflt
distccd[8952] (dcc_x_token_int) send DONE00000001
distccd[8952] (dcc_x_token_int) send STAT00000000
distccd[8952] (dcc_x_file) send 0 byte file /tmp/distcc_93afd7b6.stderr with token SERR
distccd[8952] (dcc_x_token_int) send SERR00000000
distccd[8952] (dcc_x_file) send 0 byte file /tmp/distcc_9261d7b6.stdout with token SOUT
distccd[8952] (dcc_x_token_int) send SOUT00000000
distccd[8952] (dcc_x_file) send 80384 byte file /tmp/distccd_95d7d7b6.o with token DOTO
distccd[8952] (dcc_x_token_int) send DOTO00013a00
distccd[8952] (dcc_pump_sendfile) Notice: sendfile: partial transmission of 66548 bytes; retrying 13836 @66548
distccd[8952] (dcc_pump_sendfile) ERROR: sendfile failed: Connection reset by peer
distccd[8952] gcc b.c on localhost completed ok
distccd[8952] job complete
distccd[8952] (dcc_cleanup_tempfiles) deleted 4 temporary files
Notice the error near the end.
« Last Edit: December 02, 2005, 12:39:23 am by jgrauman »
C1000

jgrauman

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • http://
"semi" Native Compilation With Distcc
« Reply #24 on: December 02, 2005, 12:49:49 am »
WOW!!! I think I just figured the problem out. It came back to the warning I've been wondering at all along: ftruncate: Operation not permitted.

It turns out this error was because I was trying to compile on the Zaurus' SD card. After googling ftruncate I realized it was a disc operation (takes a fd as a parameter), so I figured I'd move the joe source to / (it was in /mnt/card). That did it, everything worked beautifully. Apparently you can't ftruncate on a SD card. I assume using CF is ok? Thanks to all who have helped me, I really appreciate it.

Josh

P.S. Can someone confirm my findings, just move something you've compiled fine to an SD card and give it a shot. Thanks again, that was a doosy...

P.P.S. Or, now that I think about it, maybe it has to do with what filesystem is being used... I think my SD is FAT. Can someone confirm...?
« Last Edit: December 02, 2005, 12:58:10 am by jgrauman »
C1000

jgrauman

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • http://
"semi" Native Compilation With Distcc
« Reply #25 on: December 02, 2005, 01:56:21 am »
Looks like the error is due to the filesystem (FAT) at this point. Here is a relevant post by Alan Cox:

http://www.uwsg.iu.edu/hypermail/linux/ker...101.0/1364.html
C1000

jgrauman

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • http://
"semi" Native Compilation With Distcc
« Reply #26 on: December 02, 2005, 02:03:52 am »
Ok, another error. This one should be easier (hopefully). Compiling on Ubuntu worked great. Going back to my Slackware 10.1 system, compiling worked, but linking (joe-3.3, the final command linking all the .o files) gave this error. Any ideas?

/opt/native/arm/3.4.4-xscale-softvfp/lib/gcc/armv5tel-cacko-linux/3.4.4/../../../../armv5tel-cacko-linux/bin/ld: b.o: Relocacations in generic ELF (EM: 3)
b.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
distcc[12253] ERROR: compile (NULL) on localhost failed
make[1]: *** [joe] Error 1
make: *** [all] Error 2
C1000

jgrauman

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • http://
"semi" Native Compilation With Distcc
« Reply #27 on: December 02, 2005, 06:25:25 pm »
Quote
Ok, another error. This one should be easier (hopefully). Compiling on Ubuntu worked great. Going back to my Slackware 10.1 system, compiling worked, but linking (joe-3.3, the final command linking all the .o files) gave this error. Any ideas?

/opt/native/arm/3.4.4-xscale-softvfp/lib/gcc/armv5tel-cacko-linux/3.4.4/../../../../armv5tel-cacko-linux/bin/ld: b.o: Relocacations in generic ELF (EM: 3)
b.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
distcc[12253] ERROR: compile (NULL) on localhost failed
make[1]: *** [joe] Error 1
make: *** [all] Error 2
[div align=\"right\"][a href=\"index.php?act=findpost&pid=105752\"][{POST_SNAPBACK}][/a][/div]

This one was much easier. The link on the PC to gcc was in /root/distcc which 'nobody' didn't  have permission to, so it was calling /usr/bin/gcc which of course made an i386 .o file...

Thanks so much to all who helped and bore with all my messages. I'm off to compile some programs now   Maybe all these posts of mine will help some other poor person trying to get compiling to work. Shouldn't have been so hard, just didn't think about the fact that my SD card was FAT.
« Last Edit: December 02, 2005, 06:28:31 pm by jgrauman »
C1000

sds

  • Jr. Member
  • **
  • Posts: 81
    • View Profile
"semi" Native Compilation With Distcc
« Reply #28 on: December 05, 2005, 11:57:39 am »
I've put binary and src x86_64 rpms for SuSE 10.0 of distcc 2.18.3 on this real YaST installation source:
Code: [Select]
Protocol: HTTP
Server Name: coder.freeshell.org
Directory: suse/10.0
The distcc monitor is compiled with the option --with-gtk, but I have not tested it. Anything else should work.
C3100 pdaXrom

whit

  • Full Member
  • ***
  • Posts: 145
    • View Profile
"semi" Native Compilation With Distcc
« Reply #29 on: December 05, 2005, 06:56:03 pm »
Since I'm also after a current joe, is the shortest route to ask if you've packaged (or would consider packaging) your result, or going back through here and learning to get cross compiling working?