Marco van de Voort wrote:

After some discussion, something to try:

try adding -dNO_THREADING to CROSSOPT (for target) and maybe also to OPT
(for host)
Unfortunately it seems that at least when building natively (note: debian is and always has been natively built) neither OPT or CROSSOPT is passed to the build of fpmake. I asked about this in the past ( http://bugs.freepascal.org/view.php?id=21547 ) and was told it was by design.
It will disable threading inside fpmake by not USESing cthreads, eliminating
the need for cross-linking to work at all.
Disabling threading is the last resort option but really I just want to pass the path to the compiler, I know where it should be looking. The bug report I mentioned above claims there is a FPMAKEOPT variable but I couldn't find any evidence of it in the 2.6.2 source tree. Maybe it appeared after the 2.6 series was branched (last time I ran into this issue I was dealing with trunk)

The good news is I found out I can pass the setting in through the "FPCFPMAKE" variable. fpmake was then built successfully.

I then ran into the same link problem building fpdoc. I was able to work arround that one through the "OPT" variable.

While i've managed to get the debian 2.6.2 package to build I still feel that the best soloution long term is to add the multiarch library paths to the compiler itself. Debian/ubuntu are two of the biggest linux distros, their use of multiarch paths isn't going to go away and while we distro packagers can work arround the fact that the compiler looks there by default end users who use the upstream release directly are likely to be somewhat phased by it (especially because of the way the compiler fails in a non-obvious way). I got a fairly negative response to that last time I suggested it to you guys (don't remember if it was on irc or the mailing list) but since then I notice someone has gone ahead and added the multiarch paths for armel and armhf to the default search path in trunk.

root@debian:/fpc-trunk# grep -r arm-linux-gnu *
compiler/systems/t_linux.pas: LibrarySearchPath.AddPath(sysrootpath,'/usr/lib/arm-linux-gnueabihf',true); compiler/systems/t_linux.pas: LibrarySearchPath.AddPath(sysrootpath,'/usr/lib/arm-linux-gnueabi',true);
Binary file tests/test/cg/obj/linux/arm-eabi/tcext6.o matches
root@debian:/fpc-trunk#

If they are going to be added for armel and armhf shouldn't they be added for other ports too?

That being said, I don't like FPC simply silently dropping those
objectfiles.  That should be improved, please file a bug (but I think that
is more something long term for trunk, not 2.6.2
http://bugs.freepascal.org/view.php?id=24518
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to