You should modify setup script by hands

Checkout egg source

#cross-chicken-install -r socket
#cd socket

Comment lines in socket.setup file:

;(compile socket-features.scm)
;(run (./socket-features > socket-config.scm))

Create configuration file on your host system

#host-csc socket-features.scm
#./socket-features > socket-config.scm

Edit socket-config.scm file for your target platform and run installation

#cross-chicken-install


14.01.2014 20:30, Kristian Lein-Mathisen ?????:

Hi,

I'm having some trouble compiling the socket <http://api.call-cc.org/doc/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 <http://api.call-cc.org/doc/feature-test> egg uses this method in its documentation too.

Thanks!
Kris


_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to