Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save cryptorick/0baa3bc4a9e5216ec90e to your computer and use it in GitHub Desktop.
Save cryptorick/0baa3bc4a9e5216ec90e to your computer and use it in GitHub Desktop.
picoLisp 3.1.9.12 not linking on OpenBSD 5.6 with base gcc (4.2.1). Looks like no multilib support. :(
rick@dunsel:~/builds/picoLisp-3.1.9.12/src $ uname -a
OpenBSD dunsel.my.domain 5.6 GENERIC#367 amd64
rick@dunsel:~/builds/picoLisp-3.1.9.12/src $ type -a gcc
gcc is /usr/bin/gcc
rick@dunsel:~/builds/picoLisp-3.1.9.12/src $ gcc --version
gcc (GCC) 4.2.1 20070719
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
rick@dunsel:~/builds/picoLisp-3.1.9.12/src $ gmake
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_OS='"
OpenBSD"' main.c
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_OS='"
OpenBSD"' gc.c
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_OS='"
OpenBSD"' apply.c
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_OS='"
OpenBSD"' flow.c
flow.c: In function 'doTick':
flow.c:1583: warning: cast to pointer from integer of different size
flow.c:1584: warning: cast to pointer from integer of different size
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_OS='"
OpenBSD"' sym.c
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_OS='$
OpenBSD"' subr.c
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_OS='$
OpenBSD"' big.c
big.c:7:1: warning: "MAX" redefined
In file included from /usr/include/netdb.h:93,
from pico.h:30,
from big.c:5:
/usr/include/sys/param.h:217:1: warning: this is the location of the previous definition
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_OS='$
OpenBSD"' io.c
io.c: In function 'doEcho':
io.c:2261: warning: 'op' may be used uninitialized in this function
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_OS='$
OpenBSD"' net.c
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer -fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -D_OS='$
OpenBSD"' tab.c
mkdir -p ../bin ../lib
gcc -o ../bin/picolisp -m32 -rdynamic -Wl,-E main.o gc.o apply.o flow.o sym.o subr.o big.o io.o net.o tab.o -lm
main.o(.text+0xa35): In function `sharedLib':
: warning: strcpy() is almost always misused, please use strlcpy()
big.o(.text+0x3991): In function `numToSym':
: warning: sprintf() is often misused, please use snprintf()
/usr/bin/ld: warning: i386 architecture of input file `main.o' is incompatible with i386:x86-64 output
/usr/bin/ld: warning: i386 architecture of input file `gc.o' is incompatible with i386:x86-64 output
/usr/bin/ld: warning: i386 architecture of input file `apply.o' is incompatible with i386:x86-64 output
/usr/bin/ld: warning: i386 architecture of input file `flow.o' is incompatible with i386:x86-64 output
/usr/bin/ld: warning: i386 architecture of input file `sym.o' is incompatible with i386:x86-64 output
/usr/bin/ld: warning: i386 architecture of input file `subr.o' is incompatible with i386:x86-64 output
/usr/bin/ld: warning: i386 architecture of input file `big.o' is incompatible with i386:x86-64 output
/usr/bin/ld: warning: i386 architecture of input file `io.o' is incompatible with i386:x86-64 output
/usr/bin/ld: warning: i386 architecture of input file `net.o' is incompatible with i386:x86-64 output
/usr/bin/ld: warning: i386 architecture of input file `tab.o' is incompatible with i386:x86-64 output
...
(bunch of undefined reference messages)
...
collect2: ld returned 1 exit status
Makefile:128: recipe for target '../bin/picolisp' failed
gmake: *** [../bin/picolisp] Error 1
rick@dunsel:~/builds/picoLisp-3.1.9.12/src $ file *.o
apply.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
big.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
flow.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
gc.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
io.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
main.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
net.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
subr.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
sym.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
tab.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment