Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

repository-path location #5

Open
kristianlm opened this issue Jun 19, 2013 · 2 comments
Open

repository-path location #5

kristianlm opened this issue Jun 19, 2013 · 2 comments

Comments

@kristianlm
Copy link
Member

When I build with

TARGET_PATH=/system

adb push files, and run

csi -p '(repository-path)'

I get

"/system/lib"

I believe that should read:

"/system/lib/chicken/7"

Because (use data-structures), for example, fails otherwise. Here's a patch that fixes this:

diff --git a/Makefile b/Makefile
index c666465..065d576 100644
--- a/Makefile
+++ b/Makefile
@@ -42,7 +42,7 @@ target:
            ARCH= \
            PREFIX=$(TARGET_BASEPATH) \
            DESTDIR=$(PWD)/build/target \
-           EGGDIR=$(TARGET_BASEPATH)/lib \
+           EGGDIR=$(TARGET_BASEPATH)/lib/chicken/7 \
        confclean clean all install
    mkdir -p build/target/$(TARGET_BASEPATH)/lib/chicken/7
    mv build/target/$(TARGET_BASEPATH)/lib/*.import.* build/target/$(TARGET_BASEPATH)/lib/chicken/7/

Perhaps this means the mv command at the end can be dropped? Please note I don't know what I'm doing and the test-cycle is slow!

K.

@mercora
Copy link
Contributor

mercora commented Jun 19, 2013

Thanks for your efforts. The problem with the egg repository for us is ant currently.
Ant assumes all libraries are stored in libs/{ARCH} and have a lib prefix.
Subdirectories or files not in the naming scheme "lib*.so" wont be copied.

This means when building to package it in an APK we currently rely on ant do the correct things.
For compiled code it seems ok to copy them before ant kicks in like it wants it to have and modify
the runtime to look at the correct paths.

For a system wide build this shouldnt make things worse but would behave wrong when packaged.

A longterm solution probably is to get rid of ant where possible or do some repackaging after ant.

@kristianlm
Copy link
Member Author

Oh yes, I remember this silly limitation. A while back I tricked the Chicken runtime into looking for the .so file with the lib-prefix if it can't find the original file.

Check this out if you haven't implemented something similar already.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants