Building Swift SourceKit on Linux - linux

https://github.com/apple/swift/pull/3594#issuecomment-234169759
$ utils/build-script --libdispatch
$ utils/build-script --libdispatch --extra-cmake-options="-DSWIFT_BUILD_SOURCEKIT:BOOL=TRUE"
Looks like the second command does nothing to build the SourceKit. No binary created in build directory. Any advice what to do?
jara#jara-pc:~/swift-source/swift$ utils/build-script --libdispatch --extra-cmake-options="-DSWIFT_BUILD_SOURCEKIT:BOOL=TRUE"
+ mkdir -p /home/jara/swift-source/build/Ninja-DebugAssert
+ env HOST_VARIABLE_linux_x86_64__SWIFT_BENCHMARK_TARGETS= HOST_VARIABLE_linux_x86_64__SWIFT_RUN_BENCHMARK_TARGETS= HOST_VARIABLE_linux_x86_64__SWIFT_SDKS=LINUX HOST_VARIABLE_linux_x86_64__SWIFT_STDLIB_TARGETS=swift-test-stdlib-linux-x86_64 HOST_VARIABLE_linux_x86_64__SWIFT_TEST_TARGETS= /home/jara/swift-source/swift/utils/build-script-impl --workspace /home/jara/swift-source --build-dir /home/jara/swift-source/build/Ninja-DebugAssert --install-prefix /usr --host-target linux-x86_64 --stdlib-deployment-targets linux-x86_64 --host-cc /usr/bin/clang --host-cxx /usr/bin/clang++ --darwin-xcrun-toolchain default --darwin-deployment-version-osx=10.9 --darwin-deployment-version-ios=7.0 --darwin-deployment-version-tvos=9.0 --darwin-deployment-version-watchos=2.0 --cmake /usr/local/bin/cmake --cmark-build-type Debug --llvm-build-type Debug --swift-build-type Debug --swift-stdlib-build-type Debug --lldb-build-type Debug --foundation-build-type Debug --libdispatch-build-type Debug --xctest-build-type Debug --swift-enable-assertions true --swift-stdlib-enable-assertions true --swift-analyze-code-coverage false --cmake-generator Ninja --build-jobs 4 '--common-cmake-options=-G Ninja -DCMAKE_C_COMPILER:PATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/usr/bin/clang++' --build-args=-j4 --cmark-cmake-options= '--llvm-cmake-options=-DLLVM_ENABLE_ASSERTIONS=TRUE -DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;PowerPC;SystemZ' --swift-cmake-options= --libdispatch-cmake-options= --build-stdlib-deployment-targets all --ninja-bin=/usr/bin/ninja --skip-build-foundation --skip-build-xctest --skip-build-lldb --skip-build-llbuild --skip-build-swiftpm --skip-build-playgroundlogger --skip-build-playgroundsupport --build-swift-dynamic-stdlib --build-swift-dynamic-sdk-overlay --skip-build-ios-device --skip-build-ios-simulator --skip-build-tvos-device --skip-build-tvos-simulator --skip-build-watchos-device --skip-build-watchos-simulator --skip-build-android --skip-test-swift --skip-test-cmark --skip-test-lldb --skip-test-llbuild --skip-test-swiftpm --skip-test-xctest --skip-test-foundation --skip-test-libdispatch --skip-test-playgroundlogger --skip-test-playgroundsupport --skip-test-linux --skip-test-freebsd --skip-test-cygwin --skip-test-osx --skip-test-ios-host --skip-test-ios-simulator --skip-test-tvos-host --skip-test-tvos-simulator --skip-test-watchos-host --skip-test-watchos-simulator --skip-test-android-host --skip-test-benchmarks --skip-test-optimized --android-deploy-device-path /data/local/tmp --extra-cmake-options=-DSWIFT_BUILD_SOURCEKIT:BOOL=TRUE --llvm-lit-args=-sv
Building the standard library for: swift-test-stdlib-linux-x86_64
cmark: using gold linker
+ rm -rf /home/jara/swift-source/build/Ninja-DebugAssert/cmark-linux-x86_64/module-cache
+ mkdir -p /home/jara/swift-source/build/Ninja-DebugAssert/cmark-linux-x86_64/module-cache
+ /usr/local/bin/cmake --build /home/jara/swift-source/build/Ninja-DebugAssert/cmark-linux-x86_64 -- -j4 all
ninja: no work to do.
llvm: using gold linker
+ rm -rf /home/jara/swift-source/build/Ninja-DebugAssert/llvm-linux-x86_64/module-cache
+ mkdir -p /home/jara/swift-source/build/Ninja-DebugAssert/llvm-linux-x86_64/module-cache
symlinking the system headers (/usr/include/c++) into the local clang build directory (/home/jara/swift-source/build/Ninja-DebugAssert/llvm-linux-x86_64/include).
+ ln -s -f /usr/include/c++ /home/jara/swift-source/build/Ninja-DebugAssert/llvm-linux-x86_64/include
+ /usr/local/bin/cmake --build /home/jara/swift-source/build/Ninja-DebugAssert/llvm-linux-x86_64 -- -j4 all
ninja: no work to do.
swift: using gold linker
+ rm -rf /home/jara/swift-source/build/Ninja-DebugAssert/swift-linux-x86_64/module-cache
+ mkdir -p /home/jara/swift-source/build/Ninja-DebugAssert/swift-linux-x86_64/module-cache
+ /usr/local/bin/cmake --build /home/jara/swift-source/build/Ninja-DebugAssert/swift-linux-x86_64 -- -j4 all swift-test-stdlib-linux-x86_64
ninja: no work to do.
libdispatch: using gold linker
Skipping reconfiguration of libdispatch
+ pushd /home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64
~/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64 ~/swift-source/swift
+ make
Making all in dispatch
make[1]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/dispatch'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/dispatch'
Making all in libpwq
make[1]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/libpwq'
make all-am
make[2]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/libpwq'
make[2]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/libpwq'
make[1]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/libpwq'
Making all in libkqueue
make[1]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/libkqueue'
make all-am
make[2]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/libkqueue'
make[2]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/libkqueue'
make[1]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/libkqueue'
Making all in man
make[1]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/man'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/man'
Making all in os
make[1]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/os'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/os'
Making all in private
make[1]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/private'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/private'
Making all in src
make[1]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/src'
make all-am
make[2]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/src'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/src'
make[1]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/src'
Making all in tests
make[1]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/tests'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/tests'
make[1]: Entering directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64'
+ popd
~/swift-source/swift
+ pushd /home/jara/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/tests
~/swift-source/build/Ninja-DebugAssert/libdispatch-linux-x86_64/tests ~/swift-source/swift
+ make build-tests
make: Nothing to be done for `build-tests'.
+ popd
~/swift-source/swift

I have kept environment for building SourceKit on Linux since swift-3.0-PREVIEW-3.
https://github.com/norio-nomura/docker-sourcekit-builder/

Related

No rule to make target `distclean'. Stop when compile openresty

When I am using this command to compile Openresty(1.13.6.2):
# configure openresty
./configure --with-pcre=/usr/local/pcre-8.43 --with-openssl=/usr/local/openssl-1.0.2r --with-zlib=/usr/local/lib
# make openresty
gmake
When execute this command,it throws this error:
gmake[1]: Entering directory `/usr/local/openresty-1.13.6.2/build/lua-rds-parser-0.06'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/usr/local/openresty-1.13.6.2/build/lua-rds-parser-0.06'
cd /usr/local/openresty-1.13.6.2/build/nginx-1.13.6 && gmake
gmake[1]: Entering directory `/usr/local/openresty-1.13.6.2/build/nginx-1.13.6'
gmake -f objs/Makefile
gmake[2]: Entering directory `/usr/local/openresty-1.13.6.2/build/nginx-1.13.6'
cd /usr/local/lib \
&& gmake distclean \
&& CFLAGS="-O2 -fomit-frame-pointer -pipe " CC="cc" \
./configure \
&& gmake libz.a
gmake[3]: Entering directory `/usr/local/lib'
gmake[3]: *** No rule to make target `distclean'. Stop.
gmake[3]: Leaving directory `/usr/local/lib'
gmake[2]: *** [/usr/local/lib/libz.a] Error 2
gmake[2]: Leaving directory `/usr/local/openresty-1.13.6.2/build/nginx-1.13.6'
gmake[1]: *** [build] Error 2
gmake[1]: Leaving directory `/usr/local/openresty-1.13.6.2/build/nginx-1.13.6'
gmake: *** [all] Error 2
Where is going wrong? How to fix this problem?
Use zlib source code folder to configure:
./configure --with-pcre=/usr/local/pcre-8.43 --with-openssl=/usr/local/openssl-1.0.2r --with-zlib=/usr/local/zlib2.8-src
using the source folder,not the install output folder.

`make release_tests` fails after ./configure in fresh Erlang installation

I cloned, make, ./configure then make release_tests
There is a ./make/target.mk in the root otp directory but not in ./lib/common_test/test_server
root#marble-pyramid-1:~/download/otp_src_20.0# make release_tests
if test -f lib/common_test/test_server/Makefile; then \
(cd lib/common_test/test_server; make TESTROOT="/root/download/otp_src_20.0/release/tests" \
PATH=/root/download/otp_src_20.0/bin/:/root/download/otp_src_20.0/bootstrap/bin:"${PATH}" release_tests) || exit $?; \
fi
make[1]: Entering directory `/root/download/otp_src_20.0/lib/common_test/test_server
Makefile:21: /make/target.mk: No such file or directory
Makefile:26: /make/x86_64-unknown-linux-gnu/otp.mk: No such file or directory
Makefile:85: /make/otp_release_targets.mk: No such file or directory
make[1]: *** No rule to make target `/make/otp_release_targets.mk'. Stop.
make[1]: Leaving directory `/root/download/otp_src_20.0/lib/common_test/test_server'
make: *** [lib/common_test/test_server] Error 2
root#marble-pyramid-1:~/download/otp_src_20.0# ls lib/common_test/test_server/
config.guess configure.in install-sh ts_benchmark.erl ts_erl_config.erl ts_install.erl ts_run.erl
config.sub conf_vars.in Makefile ts.config ts.hrl ts_lib.erl ts.unix.config
configure cross.cover ts_autoconf_win32.erl ts.erl ts_install_cth.erl ts_make.erl ts.win32.config
root#marble-pyramid-1:~/download/otp_src_20.0# ls lib/common_test/test_server/make
ls: cannot access lib/common_test/test_server/make: No such file or directory
EDIT:
root#marble-pyramid-1:~/download/otp_src_20.0# ERL_TOP=$HOME/download/otp_src_20.0
root#marble-pyramid-1:~/download/otp_src_20.0# echo $ERL_TOP
/root/download/otp_src_20.0
root#marble-pyramid-1:~/download/otp_src_20.0# make release_test
make: *** No rule to make target `release_test'. Stop.
root#marble-pyramid-1:~/download/otp_src_20.0# make release_tests
if test -f lib/common_test/test_server/Makefile; then \
(cd lib/common_test/test_server; make TESTROOT="/root/download/otp_src_20.0/release/tests" \
PATH=/root/download/otp_src_20.0/bin/:/root/download/otp_src_20.0/bootstrap/bin:"${PATH}" release_tests) || exit $?; \
fi
make[1]: Entering directory `/root/download/otp_src_20.0/lib/common_test/test_server'
Makefile:21: /make/target.mk: No such file or directory
Makefile:26: /make/x86_64-unknown-linux-gnu/otp.mk: No such file or directory
Makefile:85: /make/otp_release_targets.mk: No such file or directory
make[1]: *** No rule to make target `/make/otp_release_targets.mk'. Stop.
make[1]: Leaving directory `/root/download/otp_src_20.0/lib/common_test/test_server'
make: *** [lib/common_test/test_server] Error 2
root#marble-pyramid-1:~/download/otp_src_20.0#
The question says the OP ran make, then ./configure, then make release_tests, but this is incorrect; one always runs configure before make.
Building the release_tests target succeeded using the following steps in bash on a Mac running macOS Sierra 10.12.6:
$ curl -LO http://erlang.org/download/otp_src_20.0.tar.gz
$ tar xf otp_src_20.0.tar.gz
$ cd otp_src_20.0
$ export ERL_TOP=$PWD
$ ./configure
$ make -j16
$ make release_test
I'm sure this would work on Linux or any other UNIX variant as well.

Error when installing mosquitto with websockets on centos 7

I have followed the next steps:
sudo yum groupinstall "Development Tools"
sudo yum install wget mercurial cmake openssl-devel c-ares-devel libuuid-devel
wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz
tar zxvf v1.3-chrome37-firefox30.tar.gz
cd libwebsockets-1.3-chrome37-firefox30
mkdir build; cd build;
cmake .. -DLIB_SUFFIX=64
sudo make install
To install mosquitto:
hg clone https://bitbucket.org/oojah/mosquitto
cd mosquitto
hg pull && hg update 1.4
In config.mk:
WITH_WEBSOCKETS:=yes
make binary
sudo make install
All goes well until the last line to install mosquitto... sudo make install
And this is what the console shows:
set -e; for d in lib client src; do make -C ${d}; done
make[1]: Entering directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/lib'
make -C cpp
make[2]: Entering directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/lib/cpp'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/lib/cpp'
make[1]: Leaving directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/lib'
make[1]: Entering directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/client'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/client'
make[1]: Entering directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/src'
set -e; for d in lib client src; do make -C ${d} install; done
make[1]: Entering directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/lib'
make -C cpp
make[2]: Entering directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/lib/cpp'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/lib/cpp'
install -d /usr/local/lib/
install -s --strip-program=strip libmosquitto.so.1 /usr/local/lib/libmosquitto.so.1
ln -sf libmosquitto.so.1 /usr/local/lib/libmosquitto.so
install -d /usr/local/include/
install mosquitto.h /usr/local/include/mosquitto.h
make -C cpp install
make[2]: Entering directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/lib/cpp'
install -d /usr/local/lib/
install -s --strip-program=strip libmosquittopp.so.1 /usr/local/lib/libmosquittopp.so.1
ln -sf libmosquittopp.so.1 /usr/local/lib/libmosquittopp.so
install -d /usr/local/include/
install mosquittopp.h /usr/local/include/mosquittopp.h
make[2]: Leaving directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/lib/cpp'
make[1]: Leaving directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/lib'
make[1]: Entering directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/client'
install -d /usr/local/bin
install -s --strip-program=strip mosquitto_pub /usr/local/bin/mosquitto_pub
install -s --strip-program=strip mosquitto_sub /usr/local/bin/mosquitto_sub
make[1]: Leaving directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/client'
make[1]: Entering directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/src'
install -d /usr/local/sbin
install -s --strip-program=strip mosquitto /usr/local/sbin/mosquitto
install mosquitto_plugin.h /usr/local/include/mosquitto_plugin.h
install -s --strip-program=strip mosquitto_passwd /usr/local/bin/mosquitto_passwd
make[1]: Leaving directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/src'
set -e; for d in man; do make -C ${d} install; done
make[1]: Entering directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/man'
install -d /usr/local/share/man/man8
install -m 644 mosquitto.8 /usr/local/share/man/man8/mosquitto.8
install: cannot stat ‘mosquitto.8’: No such file or directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/investigador_uno/libwebsockets-1.3-chrome37-firefox30/build/mosquitto/man'
make: *** [install] Error 2
What could be the problem?
hg clone https://bitbucket.org/oojah/mosquitto
cd mosquitto
hg pull && hg update 1.4
The 1.4 branch from hg is not complete, you should you use the git repository instead: http://git.eclipse.org/c/mosquitto/org.eclipse.mosquitto.git
The problem you are seeing is related to the man pages not being built due to file locations differing from distro to distro. This is only something that is done with the unreleased code. If you download the released source instead it will be fine.

Error installing GDBM 1.10

First, i did ./configure
Then, i did make install and Terminal show this:
make[2]: Entering directory `/home/lucas/Área de Trabalho/gdbm-1.10/src'
test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib"
/bin/bash ../libtool --mode=install /usr/bin/install -c libgdbm.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libgdbm.so.4.0.0 /usr/local/lib/libgdbm.so.4.0.0
/usr/bin/install: cannot create regular file '/usr/local/lib/libgdbm.so.4.0.0': Permission denied
make[2]: * [install-libLTLIBRARIES] Error 1
make[2]: Leaving directory `/home/lucas/Área de Trabalho/gdbm-1.10/src'
make[1]: * [install-am] Error 2
make[1]: Leaving directory `/home/lucas/Área de Trabalho/gdbm-1.10/src'
make: * [install-recursive] Error 1
Any help?
You do not have permissions to write to /usr/local/lib
sudo make install
or become root and run make install

uclinux compilation error

I'm trying to cross-compile uclinux using a toolchain provided by the hardarware manufacturer.
When I run the make command, I get an error that I cannot understand:
yannick#ubuntu:~/uclinux-dist$ make
make -C tools/ucfront
make[1]: Entering directory `/home/yannick/uclinux-dist/tools/ucfront'
make[1]: `ucfront' is up to date.
make[1]: Leaving directory `/home/yannick/uclinux-dist/tools/ucfront'
ln -sf /home/yannick/uclinux-dist/tools/ucfront/ucfront tools/ucfront-gcc
ln -sf /home/yannick/uclinux-dist/tools/ucfront/ucfront tools/ucfront-g++
make ARCH=arm CROSS_COMPILE=arm-uclinux-elf- -C linux-2.6.x || exit 1
make[1]: arm-uclinux-elf-gcc: Command not found
make[1]: Entering directory `/home/yannick/uclinux-dist/linux-2.6.x'
CHK include/linux/version.h
make[2]: `include/asm-arm/mach-types.h' is up to date.
CC arch/arm/kernel/asm-offsets.s
/bin/sh: 1: arm-uclinux-elf-gcc: not found
make[2]: *** [arch/arm/kernel/asm-offsets.s] Error 127
make[1]: *** [prepare0] Error 2
make[1]: Leaving directory `/home/yannick/uclinux-dist/linux-2.6.x'
make: *** [linux] Error 1
yannick#ubuntu:~/uclinux-dist$ locate arm-uclinux-elf-gcc
...
/usr/local/arm-uclinux-tools/bin/arm-uclinux-elf-gcc
...
yannick#ubuntu:~/uclinux-dist$ echo $PATH
/usr/local/arm-uclinux-tools/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
yannick#ubuntu:~/uclinux-dist$ ls -l /usr/local/bin
...
lrwxrwxrwx 1 root root 52 May 20 22:53 arm-uclinux-elf-gcc -> /usr/local/arm-uclinux-tools/bin/arm-uclinux-elf-gcc
...
yannick#ubuntu:~/uclinux-dist$ ls -l /usr/local/arm-uclinux-tools/bin/
...
-rwxr-xr-x 1 root root 81832 May 20 19:27 arm-uclinux-elf-gcc
...
yannick#ubuntu:~/uclinux-dist$
Thanks !!
The value of your path when you run make is not necessarily what it is when your command executes. I would place an echo $PATH in the actual makefile just before you attempt to compile the source file.
That will at least give an indication as to whether something is changing your path during the build process.
you should also add this in environmental variables
Path to cross-tools
export CROSS_COMPILE=arm-uclinux-elf-

Resources