Hi, Manuel.

Thank you for being always helpful. As for the documentation, I read the
following page:

https://www-sop.inria.fr/indes/fp/Bigloo/doc/bigloo-34.html

My home computer is a Macintosh Mini Box with the Catalina OSX. The first
thing I did was to use homebrew to install the following cross compiler:

/usr/local/Cellar/musl-cross/0.9.8/bin/x86_64-linux-musl-gcc

I don't have any compiler at the cloud computer, which has the following
configuration:

› ssh -p2222 [email protected]
[email protected]'s password: ********
[email protected] [~]# cat /proc/cpuinfo
processor : 15
vendor_id : AuthenticAMD
cpu family : 21
model : 2
model name : AMD Opteron(tm) Processor 6376
stepping : 0
microcode : 0x1000065
cpu MHz : 2299.994
cache size : 512 KB
core id : 0
cpu cores : 16
fpu : yes
fpu_exception : yes
wp : yes

I modified the ssh-copy.sh as shown below:

› cat examples/hostsh/ssh/ssh-copy.sh
#!/bin/sh

HOST=medicina.tips
SSH_PORT=2222
USER=strue028

FILE=$1;

if [ -f $FILE ]; then
  exec=/tmp/`basename $FILE`
  scp -P $SSH_PORT $FILE $USER@$HOST:$exec
  ssh -p $SSH_PORT $USER@$HOST "chmod +x $exec"
else
  exec=$*
fi
ssh -p $SSH_PORT $USER@$HOST "$exec"
res=$?
ssh -p $SSH_PORT $USER@$HOST "rm $exec"
exit $res

The gcc musl-cross compiler is on the path. Then I tried to run configure
as explained in the documentation:

› ./configure
--hostsh="/Users/ed/src/bigloo4.3f/examples/hostsh/ssh/ssh-copy.sh [host]"
--cc=x86_64-linux-musl-gcc

After asking for the password many times, configure produced the an error
message:

[email protected]'s password:
--build=x86_64-apple-darwin19.0.0
+ Configuring custom GC (gc-8.0.2)...
configure: error: in `/Users/ed/src/bigloo4.3f/gc/gc-8.0.2':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
configure gc fail, see configure.log file.

I am intrigued by the necessity of using the host secure shell. Other cross
compilers require only a path to the C compiler. For instance, Nim requires
a file with paths to the cross gcc and the cross link:

› cat nim.cfg
amd64.linux.gcc.path:"/usr/local/Cellar/musl-cross/0.9.8/bin"
amd64.linux.gcc.exe:"x86_64-linux-musl-gcc"
amd64.linux.gcc.linkerexe:"x86_64-linux-musl-gcc"

Here is a small program:

› cat hello.nim
echo "Hello, world."

Let us compile it:

› nim c  --os:linux --cpu:amd64 -d:release -o:nimhello.n  --passL:"-static"
hello.nim

Now, I can send the binaries to the cloud:

scp -P2222 nimhello.n [email protected]:~/

I wonder whether you could devise a similar recipe for Bigloo.

Reply via email to