Hi Mario,
crypt.setuphttp://bugs.call-cc.org/browser/release/4/crypt/trunk/crypt.setuphas
some good ideas, thanks!
K.
On Tue, Jan 14, 2014 at 5:44 PM, Mario Domenech Goulart
mario.goul...@gmail.com wrote:
Hi Kristian,
On Tue, 14 Jan 2014 17:30:04 +0100 Kristian Lein-Mathisen
krist...@adellica.com wrote:
I'm having some trouble compiling the socket egg with my CHICKEN
cross-compiler. I have a cross-compiler that compiles my eggs for my
host architecture (x86) and then my target (android):
[user ~]$ aosp-chicken-install socket
# installing for host works:
'host/linux-x86/chicken/bin/aosp-csi' -bnq -setup-mode -e
(require-library setup-api) -e (import setup-api) -e
(setup-error-handling) -e (extension-name-and-version '(\socket\
\0.2.5\)) -e (host-extension #t) 'socket.setup'
'host/linux-x86/chicken/bin/aosp-csc' -feature compiling-extension -
setup-mode -host socket-features.scm
./socket-features socket-config.scm
# when it reaches target, it fails:
'host/linux-x86/chicken/bin/aosp-csi' -bnq -e (require-library
setup-api) -e (import setup-api) -e (setup-error-handling) -e
(extension-name-and-version '(\socket\ \0.2.5\)) -e
(destination-prefix
\/home/klm/cube/aosp-new/out/target/product/tr1imx6/system/\) -e
(runtime-prefix \target/product/tr1imx6/system/\) 'socket.setup'
'host/linux-x86/chicken/bin/aosp-csc' -feature compiling-extension
socket-features.scm
./socket-features socket-config.scm
sh: ./socket-features: cannot execute binary file
Error: shell command failed with nonzero exit status 32256:
./socket-features socket-config.scm
In socket.setup, we find these two lines:
(compile socket-features.scm)
(run (./socket-features socket-config.scm))
And I think this is the cause of the trouble: The host machine cannot
execute the compiled target's binary executable to determine its
features.
Specifying (compile -host socket-features.scm) was tempting, but it
incorrectly detects my target system to support SO_REUSEPORT which it
does not.
Are there any good ways to fix this? I have noted the feature-test egg
uses this method in its documentation too.
If I understand the problem correctly, eggs can't really try to detect
target features when running on the host system. When cross-compiling,
I think you'll have to specify the features in advance (according to the
target's profile) and skip the detection.
The .setup from the crypt egg can be useful as an example.
Best wishes.
Mario
--
http://parenteses.org/mario
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users