Package Details: picolisp 17.8.18-1

Git Clone URL: https://aur.archlinux.org/picolisp.git (read-only)
Package Base: picolisp
Description: Fast and tiny 64-bit Lisp interpreter: OO, dynamic and functional (database, prolog, coroutines).
Upstream URL: http://www.picolisp.com
Licenses: MIT
Submitter: taij33n
Maintainer: taij33n
Last Packager: taij33n
Votes: 2
Popularity: 0.073575
First Submitted: 2015-11-17 16:40
Last Updated: 2017-08-18 08:00

Latest Comments

taij33n commented on 2017-04-07 10:39

@eigengrau
yep, will look into these things. thx for reporting. the PIC problem is known by the author of the app.

eigengrau commented on 2017-03-20 07:29

Hello taij33n,

May I suggest you please remove «picolisp.install»? Everything in there can and should be done inside «package()» instead. First of all it is preferable to have all the files owned by the package if possible, which is not the case for files installed in the scriptlet; secondly, silently overwriting binaries inside installation functions (as done by calls to «ln») is troublesome. It’s not totally unlikely that files like «/usr/bin/ssl» already exist; silently overwriting them may lead to nasty confusion. When files are installed inside «package()», this will allow pacman to yell about any conflicts.

Further, you seem to ship a custom «mkAsm» script with the sources, but it doesn’t seem to be used anymore.

Lastly a note to users who have «hardening-wrapper» installed: The assembly generated by the build process has relocations inside, so «-fno-PIC» must be passed inside CFLAGS (or the Makefile must be patched) for the linking to succeed.

Kind regards,
S.

taij33n commented on 2017-03-14 09:52

adjusted now to 64bit only

haawda commented on 2017-02-25 11:22

The PKGBUILD has many other issues:
- arch=('any') is wrong
- cp -f ../../../mkAsm ./ des not work, use cp -f $srcdir/mkAsm .
- make s also in base-devel and o does not need to be listed in makedepends array.
- many namcap errors about files at the wrong place

haawda commented on 2017-02-25 09:25

You cannot have both gcc and gcc-multilib installed. And gcc is in base-devel, so no need to have it in depends and/or makedepends array.

northbear commented on 2016-01-02 17:26

Yes. You are right. Building 32-bit version of picolisp required for initial building picolisp from scratch.
I have been installed previous version of picolisp, so just for me the building 32-bit picolisp is not required. So if I comment "make all" command at the line 25 of PKGBUILD (making 32-bit picolisp in build() section), building completing without any errors.
But If i build from scratch (without any picolisp installed in the system) it stops with errors:

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../lib/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: skipping incompatible /lib/../lib/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
Makefile:143: recipe for target '../bin/picolisp' failed
make: *** [../bin/picolisp] Error 1
==> ERROR: A failure occurred in build().
Aborting...

taij33n commented on 2015-12-30 11:07

I think there is a misunderstanding of the word "32-bit" in terms of picolisp. The C-Version of picolisp uses internally 32-bit width cells, which are not mapped 1:1 to the underlying architectures longwords, pil64 uses 64-bit width cells which are mapped 1:1 or emulated. pil64 is build completly in lisp, thats why it needs some lisp to build itself. This concept is not in relation to the build environment or executables. If you build picolisp on a x86-64 platform, all final binaries are built for this platform, this includes all binaries in '/src too. you can check that i.e. with "file httpGate".

northbear commented on 2015-12-28 23:34

No, it still does not work properly... I suppose, the problem are appeared because a path for libs to be used for 32-bit version should be /usr/lib32/... instead of /usr/lib/... used now.

taij33n commented on 2015-12-21 14:50

I added 'gcc' to the make dependencies. Can you please try again ?

northbear commented on 2015-12-17 01:08

In time of compiling at the x86-64 platform, build error happens. Linker cannot find proper libs (libm, libc, libgcc, libgcc-s) for 32bit version of picolisp.

Commenting "make" command in src directory in PKGBUILD solves problem, but...

Installing does not create links from picolisp binaries at /usr/lib/picolisp/bin to /usr/bin directory.