Special method used to generate x86_64-openbsd 3.2.0 distribution Starting with release compiler /home/muller/pas/fpc-3.2.0/bin/ppcx64 /home/muller/pas/fpc-3.2.0/bin/ppcx64 -iVDWSOSPTOTP: 3.2.0 2020/10/23 3.2.0 openbsd x86_64 openbsd x86_64 /usr/local/bin/gmake cycle OPT="-n -gl" FPC=/home/muller/pas/fpc-3.2.0/bin/ppcx64 cp ./ppcx64 /home/muller/pas/release-build/release_3_2_0/fpcsrc/compiler/ppcx64-3.2.0 cp ./ppcx64 ./ppcx64-3.2.0 Generated on machine: OpenBSD gcc220.fsffrance.org 6.8 GENERIC.MP#98 amd64 Starting ./install/makepack x86_64-openbsd with FPC=/home/muller/pas/release-build/release_3_2_0/fpcsrc/compiler/ppcx64-3.2.0 and EXTRAOPT="-n -gl -dFPC_USE_LIBC" Files /home/muller/pas/release-build/release_3_2_0/readme.x86_64-openbsd and fpc-3.2.0.x86_64-openbsd.tar uploaded Used slightly modifed svn checkout svn st -q M install/install.sh M install/makepack M fpcsrc/rtl/bsd/sysos.inc svn diff Index: install/install.sh =================================================================== --- install/install.sh (revision 1528) +++ install/install.sh (working copy) @@ -67,7 +67,12 @@ # Untar tar.gz file ($2) from file ($1) and untar result to the given directory ($3) unztarfromtar () { - $CMDTAR -xOf "$HERE/$1" "$2" | $TAR -C "$3" -xzf - + if [ $is_gnu_tar -eq 1 ] ; then + $CMDTAR -xOf "$HERE/$1" "$2" | $TAR -C "$3" -xzf - + else + $CMDTAR -xf "$HERE/$1" "$2" + $TAR -C "$3" -xzf "$2" + fi } # Get file list from tar archive ($1) in variable ($2) Index: install/makepack =================================================================== --- install/makepack (revision 1528) +++ install/makepack (working copy) @@ -66,7 +66,7 @@ fi ;; *openbsd*) MAKE=gmake - EXTRAOPT+=" -Fl/usr/local/lib" + EXTRAOPT+=" -Fl/usr/local/lib -dFPC_USE_LIBC" ;; esac svn diff fpcsrc Index: fpcsrc/rtl/bsd/sysos.inc =================================================================== --- fpcsrc/rtl/bsd/sysos.inc (revision 47157) +++ fpcsrc/rtl/bsd/sysos.inc (working copy) @@ -32,15 +32,7 @@ function geterrnolocation: Plibcint; cdecl;external clib name '__error'; {$else} {$ifdef OpenBSD} - -var libcerrno : libcint; cvar; - -function geterrnolocation: Plibcint; cdecl; - -begin - geterrnolocation:=@libcerrno; -end; - +function geterrnolocation: Plibcint; cdecl;external clib name '__errno'; {$else} {$endif} {$endif}