Thanks Thomas and Jim, that looks right. But puzzling enough, I'm still
having troubles. I'm also using ArchLinux, and I can't get the build to
succeed even using Thomas' package build script (which is essentially
just the same build script I was using, except deleting the obsolete lines at 
the
end of my script making a manual symlink from /usr/lib/libchicken.so.5 ->
libchicken.so).

The earlier build line:

    make PLATFORM=linux PREFIX=/usr

goes fine, but here is what I'm seeing during the
package/install stage. This corresponds to this line in the package
build script:

  make PLATFORM=linux PREFIX=/usr DESTDIR="${pkgdir}" install

Here is what I'm seeing...


==> Starting package()...
make -f ./Makefile.linux CONFIG= install
make[1]: Entering directory
`/var/cache/build/makepkg-tmp-jim/chicken/src/chicken-4.7.0'
mkdir -p "/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/lib"
rm -f chicken 
mkdir -p "/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/man/man1"
rm -f csi 
rm -f chicken-profile 
rm -f csc 
install -m755 libchicken.so 
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/lib/libchicken.so"
rm -f chicken-bug 
mkdir -p "/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/chicken/doc"
rm -f chicken-status 
rm -f chicken-install 
rm -f chicken-uninstall 
rm -f chicken.so lolevel.so srfi-1.so srfi-4.so data-structures.so
ports.so files.so posix.so srfi-13.so srfi-69.so extras.so srfi-14.so
tcp.so foreign.so scheme.so srfi-18.so utils.so csi.so irregex.so
setup-api.so setup-download.so
rm -f chicken.import.so lolevel.import.so srfi-1.import.so
srfi-4.import.so data-structures.import.so ports.import.so
files.import.so posix.import.so srfi-13.import.so srfi-69.import.so
extras.import.so srfi-14.import.so tcp.import.so foreign.import.so
scheme.import.so srfi-18.import.so utils.import.so csi.import.so
irregex.import.so setup-api.import.so setup-download.import.so
rm -f libchicken.so
make -f ./Makefile.linux CONFIG= NEEDS_RELINKING=no 
RUNTIME_LINKER_PATH="/usr/lib" SONAME_VERSION=.6 install-bin
mkdir -p "/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/chicken"
install: cannot stat `libchicken.so': No such file or directory
make[1]: *** [install-libs] Error 1
make[1]: *** Waiting for unfinished jobs....
install -m644 ./chicken.1
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/man/man1" 
install -m644 ./csc.1
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/man/man1" 
install -m644 ./csi.1
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/man/man1" 
install -m644 ./chicken-install.1
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/man/man1" 
install -m644 ./chicken-uninstall.1
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/man/man1" 
install -m644 ./chicken-status.1
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/man/man1" 
install -m644 ./chicken-profile.1
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/man/man1" 
install -m644 ./chicken-bug.1
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/man/man1" 
mkdir -p
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/chicken/doc/manual"
make[2]: Entering directory
`/var/cache/build/makepkg-tmp-jim/chicken/src/chicken-4.7.0'
gcc  -shared -Wl,-soname,libchicken.so.6 \
      -o libchicken.so library.o eval.o data-structures.o ports.o
files.o extras.o lolevel.o utils.o tcp.o srfi-1.o srfi-4.o srfi-13.o
srfi-14.o srfi-18.o srfi-69.o posixunix.o irregex.o scheduler.o
profiler.o stub.o expand.o chicken-syntax.o chicken-ffi-syntax.o
runtime.o apply-hack.x86-64.o -lm -ldl
gcc  -L. -shared -Wl,-R"/usr/lib" setup-download.o -o setup-download.so
\
      -lchicken \
      -lm -ldl
install -m644 ./manual-html/*
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/chicken/doc/manual"
install -m644 ./README
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/chicken/doc"
./libchicken.so: file not recognized: File truncated
collect2: ld returned 1 exit status
make[2]: *** [setup-download.so] Error 1
make[2]: *** Waiting for unfinished jobs....
install -m644 ./LICENSE
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/chicken/doc"
install -m644 ./setup.defaults
"/var/cache/build/makepkg-tmp-jim/chicken/pkg/usr/share/chicken"
ln -sf libchicken.so libchicken.so.6
make[2]: Leaving directory
`/var/cache/build/makepkg-tmp-jim/chicken/src/chicken-4.7.0'
make[1]: *** [install-bin] Error 2
make[1]: Leaving directory
`/var/cache/build/makepkg-tmp-jim/chicken/src/chicken-4.7.0'
make: *** [install] Error 2
==> ERROR: A failure occurred in package().
    Aborting...


Very strange. libchicken.so definitely does exist at that point in the
build directory, and isn't 0 bytes long. So I don't know what's going
on.

Sometimes when I ran this build script, I didn't get the first error:

    install: cannot stat `libchicken.so': No such file or directory

But I still did get the second error, and the installation still failed:

    ./libchicken.so: file not recognized: File truncated

I'll keep poking around but if anyone with closer knowledge
of the makefile has insight into what's going on, I'd be glad to hear
it. Also, Thomas, if this build script is working for you I'm not sure
what might be responsible for it's not working for me. Might we compare
our /etc/makepkg.conf files?

-- 
Jim Pryor
prof...@jimpryor.net

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

Reply via email to