chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] Incorrectly linked binaries with chicken-install -deploy


From: Ryan Senior
Subject: [Chicken-users] Incorrectly linked binaries with chicken-install -deploy
Date: Thu, 13 Aug 2015 21:43:21 -0500

Does anyone have stand-alone application deployments working via chicken-install? I'm running into an issue where the binaries for my executables are in place, but they are linked to the system libchicken. I'm not sure if this is a bug or I'm using it wrong. I'm seeing this with Chicken 4.10.0, running on Ubuntu 14.04. I compiled 4.10.0 from the tarball on the website and have it installed globally. I have an egg setup file that looks like the following (thanks to Mario Goulart for helping me put this together):

(define info '((version "0.1")))

(define progs
  '("prog1"
    "prog2"
    "prog3"))

(for-each (lambda (prog)
            (compile -O3 -d1 ,(make-pathname #f prog "scm")))
          progs)

(install-program 'prog progs info)

-------------------------------------

I run the following command to build:

chicken-install -deploy -p <my-app-directory>

All of my dependencies look to be correctly compiled and put into the specified directory, but there is no libchicken in that directory. The 3 programs above also appear to be linked to the global libchicken

$ ldd <my-app-directory>/bin/prog1
linux-vdso.so.1 =>  (0x00007fff591fc000)
libchicken.so.7 => /usr/local/lib/libchicken.so.7 (0x00007f69474eb000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6947125000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f6946e1e000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6946c1a000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6947acf000)

Am I going about this correctly? Running 'csc -deploy prog1.scm' results in a correctly linked libchicken binary, but it doesn't look like chicken-install -deploy uses that.

My goal is a tarball that a user can unzip and run directly without installing chicken or any other dependencies. Talking with sjamaan on #chicken, sounds like another option is to not create an egg from the project and script individual calls to 'csc -deploy ...' and chicken-install for the dependencies.

For reference. the project I'm having difficulty building can be found on github here.

Thanks for the help!

Ryan

reply via email to

[Prev in Thread] Current Thread [Next in Thread]