Jonas Maebe wrote:
On 30/08/15 17:36, Mark Morgan Lloyd wrote:
      [Requesting program interpreter: /lib/ld-linux.so.3]
..

$ ls -l /lib/ld-linux.so.3
lrwxrwxrwx 1 root root 28 Oct 16  2014 /lib/ld-linux.so.3 ->
arm-linux-gnueabi/ld-2.13.so

$ ls -l /lib/arm-linux-gnueabi/ld-2.13.so
-rwxr-xr-x 1 root root 122136 Oct 16  2014
/lib/arm-linux-gnueabi/ld-2.13.so

You win that one, but I'm still a bit suspicious about what's in this
Raspbian: it's almost a year old and seems a bit sensitive to attempted
upgrades.

The problem is that some old Debian (and hence Raspbian) versions used
/lib/ld-linux.so.3 even on armhf, while newer ones (and other
distributions) use /lib/ld-linux-armhf.so.3 .

Their current release (2015-05-05) does appear to use ld-linux-armhf.so.3

You should be able to work
around this problem using the -FL/lib/ld-linux.so.3 compiler option.

Confirmed. Is that a setting which should have been created in fpc.cfg during installation (that bit failed, so I'm giving somebody a chance to tell me I should have checked things more carefully when I did it manually :-)

See also
http://stackoverflow.com/questions/20717838/gcc-arm-executable-no-such-file-orr-directory-wrong-dynamic-lib
and the first answer to that question.

Noted, but Google overlooked that one earlier although I was being fairly FPC-specific with the search.

Almost there I think, but using a command like

make OVERRIDEVERSIONCHECK=1 NO_GDB=1 OPT='-O- -gl -Xs- -FL/lib/ld-linux.so.3' all

I get

..
       Linking chm/bin/arm-linux/chmcmd
The installer encountered the following error:
External command "/usr/local/src/fpc/fixes_3_0/compiler/ppcarm -Tlinux -FEchm/bin/arm-linux -FUchm/units/arm-linux/ -Fu/usr/local/src/fpc/fixes_3_0/rtl/units/arm-linux/ -Fu/usr/local/src/fpc/fixes_3_0/packages/fcl-xml/units/arm-linux/ -Fu/usr/local/src/fpc/fixes_3_0/packages/fcl-base/units/arm-linux/ -Fu/usr/local/src/fpc/fixes_3_0/packages/fcl-res/units/arm-linux/ -Fu/usr/local/src/fpc/fixes_3_0/packages/rtl-objpas/units/arm-linux/ -Fu/usr/local/src/fpc/fixes_3_0/packages/iconvenc/units/arm-linux/ -Ur -Xs -O2 -n -Fu/usr/local/src/fpc/fixes_3_0/rtl/units/arm-linux -V3.0.1 -O- -gl -Xs- -vt -FL/lib/ld-linux.so.3 -darm -dRELEASE -XX -CX -viq chm/src/chmcmd.lpr" failed with exit code 256. Console output:
Target OS: Linux for ARMHF
Compiling chm/src/chmcmd.lpr
Assembling chmcmd
make[2]: *** [smart] Error 1
make[1]: *** [packages_smart] Error 2
make: *** [build-stamp.arm-linux] Error 2
Linking chm/bin/arm-linux/chmcmd
/usr/bin/ld: warning: chm/bin/arm-linux/link.res contains output sections; did you forget -T? /usr/local/src/fpc/fixes_3_0/rtl/units/arm-linux/cprt0.o: In function `_haltproc_eabi':
(.text+0x88): undefined reference to `_fini'
/usr/local/src/fpc/fixes_3_0/rtl/units/arm-linux/cprt0.o: In function `_haltproc_eabi':
(.text+0x90): undefined reference to `_init'
chmcmd.lpr(238,46) Error: Error while linking
chmcmd.lpr(238,46) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted

make[2]: Leaving directory `/usr/local/src/fpc/fixes_3_0/packages'
..

I see discussion in the past suggesting that this was some residual eabihf issue, but nothing conclusive. Adding an explicit -dFPC_ARMHF doesn't help.

If this doesn't have a blindingly obvious solution I'll redo with a newer Raspbian as soon as a colleague finds a spare SDCard.

Alternatively, what's the quick-and-dirty way to exclude a single package under the new build regime?

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to