steve-m / kalibrate-rtl Goto Github PK
View Code? Open in Web Editor NEWfork of http://thre.at/kalibrate/ for use with rtl-sdr devices
License: BSD 2-Clause "Simplified" License
fork of http://thre.at/kalibrate/ for use with rtl-sdr devices
License: BSD 2-Clause "Simplified" License
Installed all the perquisite packages, but it's unhappy trying to link against librtlsdr. Not sure why, it's there, ldconfig
knows about it. This is on an RPi 4 with the latest Raspberry Pi OS. Any ideas?
:~/kalibrate-rtl $ uname -a
Linux raspberrypi 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l GNU/Linux
:~/kalibrate-rtl $
~/kalibrate-rtl $ sudo apt-get install librtlsdr-dev librtlsdr0
Reading package lists... Done
Building dependency tree
Reading state information... Done
librtlsdr-dev is already the newest version (0.6-1+rpt1).
librtlsdr0 is already the newest version (0.6-1+rpt1).
librtlsdr0 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
~/kalibrate-rtl $
~/kalibrate-rtl $ ldconfig -p | grep rtl
librtlsdr.so.0 (libc6,hard-float) => /lib/arm-linux-gnueabihf/librtlsdr.so.0
librtlsdr.so (libc6,hard-float) => /lib/arm-linux-gnueabihf/librtlsdr.so
~/kalibrate-rtl $
~/kalibrate-rtl $ ./bootstrap && CXXFLAGS='-W -Wall -O3' ./configure && make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking whether ln -s works... yes
checking for ranlib... ranlib
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking libgen.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for inline... inline
checking for working strtod... yes
checking for floor... no
checking for getpagesize... yes
checking for memset... yes
checking for sqrt... no
checking for strtoul... yes
checking for strtol... yes
checking for library containing basename... none required
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for FFTW3... yes
checking for LIBRTLSDR... yes
checking for rtlsdr_set_dithering in -lrtlsdr... no
checking build system type... armv7l-unknown-linux-gnueabihf
checking host system type... armv7l-unknown-linux-gnueabihf
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
make all-recursive
make[1]: Entering directory '/home/jcw/kalibrate-rtl'
Making all in src
make[2]: Entering directory '/home/jcw/kalibrate-rtl/src'
g++ -I/ -W -Wall -O3 -o kal kal-arfcn_freq.o kal-c0_detect.o kal-circular_buffer.o kal-fcch_detector.o kal-kal.o kal-offset.o kal-usrp_source.o kal-util.o -lfftw3 -L -lrtlsdr -lrt
/usr/bin/ld: kal-usrp_source.o: in function usrp_source::~usrp_source()': usrp_source.cc:(.text+0x144): undefined reference to
rtlsdr_close'
/usr/bin/ld: kal-usrp_source.o: in function usrp_source::tune(double)': usrp_source.cc:(.text+0x234): undefined reference to
rtlsdr_set_center_freq'
/usr/bin/ld: usrp_source.cc:(.text+0x244): undefined reference to rtlsdr_get_center_freq' /usr/bin/ld: kal-usrp_source.o: in function
usrp_source::set_freq_correction(int)':
usrp_source.cc:(.text+0x280): undefined reference to rtlsdr_set_freq_correction' /usr/bin/ld: kal-usrp_source.o: in function
usrp_source::set_gain(float)':
usrp_source.cc:(.text+0x2b4): undefined reference to rtlsdr_set_tuner_gain_mode' /usr/bin/ld: usrp_source.cc:(.text+0x2ec): undefined reference to
rtlsdr_set_tuner_gain'
/usr/bin/ld: kal-usrp_source.o: in function usrp_source::open(unsigned int)': usrp_source.cc:(.text+0x33c): undefined reference to
rtlsdr_get_device_count'
/usr/bin/ld: usrp_source.cc:(.text+0x374): undefined reference to rtlsdr_get_device_name' /usr/bin/ld: usrp_source.cc:(.text+0x3ac): undefined reference to
rtlsdr_get_device_name'
/usr/bin/ld: usrp_source.cc:(.text+0x3cc): undefined reference to rtlsdr_open' /usr/bin/ld: usrp_source.cc:(.text+0x3e0): undefined reference to
rtlsdr_set_sample_rate'
/usr/bin/ld: usrp_source.cc:(.text+0x3f0): undefined reference to rtlsdr_reset_buffer' /usr/bin/ld: usrp_source.cc:(.text+0x41c): undefined reference to
rtlsdr_reset_buffer'
/usr/bin/ld: kal-usrp_source.o: in function usrp_source::fill(unsigned int, unsigned int*)': usrp_source.cc:(.text+0x4fc): undefined reference to
rtlsdr_read_sync'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:403: kal] Error 1
make[2]: Leaving directory '/home/jcw/kalibrate-rtl/src'
make[1]: *** [Makefile:378: all-recursive] Error 1
make[1]: Leaving directory '/home/jcw/kalibrate-rtl'
make: *** [Makefile:319: all] Error 2
~/kalibrate-rtl $
currently i am able to scan the 900Mhz band with Kalibrate but how can the scope be increased to GSM1800 or GSM2100 ??
usrp_source::~usrp_source()': /root/kalibrate-rtl/src/usrp_source.cc:81: undefined reference to
rtlsdr_close'usrp_source::tune(double)': /root/kalibrate-rtl/src/usrp_source.cc:127: undefined reference to
rtlsdr_set_center_freq'usrp_source::set_gain(float)': /root/kalibrate-rtl/src/usrp_source.cc:154: undefined reference to
rtlsdr_set_tuner_gain_mode'rtlsdr_set_tuner_gain' /usr/bin/ld: kal-usrp_source.o: in function
usrp_source::open(unsigned int)':rtlsdr_get_device_count' /usr/bin/ld: /root/kalibrate-rtl/src/usrp_source.cc:183: undefined reference to
rtlsdr_get_device_name'rtlsdr_get_device_name' /usr/bin/ld: /root/kalibrate-rtl/src/usrp_source.cc:190: undefined reference to
rtlsdr_open'rtlsdr_set_sample_rate' /usr/bin/ld: /root/kalibrate-rtl/src/usrp_source.cc:202: undefined reference to
rtlsdr_reset_buffer'rtlsdr_reset_buffer' /usr/bin/ld: kal-usrp_source.o: in function
usrp_source::fill(unsigned int, unsigned int*)':rtlsdr_read_sync' /usr/bin/ld: kal-usrp_source.o: in function
usrp_source::set_freq_correction(int)':I don't know what's wrong.
Finally was able to compile properly on my Odroid device. I'm in the U.S. specifically on zip code 60142. How come kal does not show anything? I used 850. Here is the result
# ./kal -s GSM850
Found 1 device(s):
0: Generic RTL2832U OEM
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Scanning for GSM-850 base stations.
GSM-850:
Then it just went back to prompt.
make[3]: Entering directory '/home/openwrt/kalibrate-rtl'
touch /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/.prepared_61b68132f3e556d81873b0c188fd04f5_6664517399ebbbc92a37c5bb081b5c53_check
mkdir -p /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1
cp -fpR /home/openwrt/tmp/kalibrate-rtl/* /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/
(cd /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1 && ./bootstrap && CXXFLAGS='-W-Wall-O3')
configure.ac:9: installing './compile'
configure.ac:34: installing './config.guess'
configure.ac:34: installing './config.sub'
configure.ac:4: installing './install-sh'
configure.ac:4: installing './missing'
Makefile.am: installing './INSTALL'
src/Makefile.am: installing './depcomp'
touch /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/.prepared_61b68132f3e556d81873b0c188fd04f5_6664517399ebbbc92a37c5bb081b5c53
rm -f /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/.configured_*
rm -f /home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.kalibrate-rtl_installed
(cd /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/./; if [ -x ./configure ]; then find /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/ -name config.guess | xargs -r chmod u+w; find /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/ -name config.guess | xargs -r -n1 cp --remove-destination /home/openwrt/openwrt/scripts/config.guess; find /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/ -name config.sub | xargs -r chmod u+w; find /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/ -name config.sub | xargs -r -n1 cp --remove-destination /home/openwrt/openwrt/scripts/config.sub; AR="mipsel-openwrt-linux-musl-gcc-ar" AS="mipsel-openwrt-linux-musl-gcc -c -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" LD=mipsel-openwrt-linux-musl-ld NM="mipsel-openwrt-linux-musl-gcc-nm" CC="mipsel-openwrt-linux-musl-gcc" GCC="mipsel-openwrt-linux-musl-gcc" CXX="mipsel-openwrt-linux-musl-g++" RANLIB="mipsel-openwrt-linux-musl-gcc-ranlib" STRIP=mipsel-openwrt-linux-musl-strip OBJCOPY=mipsel-openwrt-linux-musl-objcopy OBJDUMP=mipsel-openwrt-linux-musl-objdump SIZE=mipsel-openwrt-linux-musl-size CFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro " CXXFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro " CPPFLAGS="-I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/usr/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include/fortify -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include " LDFLAGS="-L/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/lib -L/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/lib -L/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/usr/lib -L/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/lib -znow -zrelro " ./configure --target=mipsel-openwrt-linux --host=mipsel-openwrt-linux --build=i686-pc-linux-gnu --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --with-linux-headers=; fi; )
configure: WARNING: unrecognized options: --disable-nls, --with-linux-headers
configure: loading site script /home/openwrt/openwrt/include/site/mipsel
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for mipsel-openwrt-linux-strip... mipsel-openwrt-linux-musl-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether mipsel-openwrt-linux-musl-g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of mipsel-openwrt-linux-musl-g++... gcc3
checking for mipsel-openwrt-linux-gcc... mipsel-openwrt-linux-musl-gcc
checking whether we are using the GNU C compiler... yes
checking whether mipsel-openwrt-linux-musl-gcc accepts -g... yes
checking for mipsel-openwrt-linux-musl-gcc option to accept ISO C89... none needed
checking whether mipsel-openwrt-linux-musl-gcc understands -c and -o together... yes
checking dependency style of mipsel-openwrt-linux-musl-gcc... gcc3
checking whether ln -s works... yes
checking for mipsel-openwrt-linux-ranlib... mipsel-openwrt-linux-musl-gcc-ranlib
checking how to run the C preprocessor... mipsel-openwrt-linux-musl-gcc -E
checking for grep that handles long lines and -e... /home/openwrt/openwrt/staging_dir/host/bin/grep
checking for egrep... /home/openwrt/openwrt/staging_dir/host/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for inline... inline
checking for working strtod... no
checking for pow... yes
checking for floor... yes
checking for getpagesize... yes
checking for memset... yes
checking for sqrt... yes
checking for strtoul... yes
checking for strtol... yes
checking pkg-config is at least version 0.9.0... yes
checking for fftw3 >= 3.0... yes
checking for librtlsdr... yes
checking build system type... i686-pc-linux-gnu
checking host system type... mipsel-openwrt-linux-gnu
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands
configure: WARNING: unrecognized options: --disable-nls, --with-linux-headers
touch /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/.configured_68b329da9893e34099c7d8ad5cb9c940
rm -f /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/.built
touch /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/.built_check
CFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/usr/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include/fortify -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include " CXXFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/usr/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include/fortify -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include " LDFLAGS="-L/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/lib -L/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/lib -L/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/usr/lib -L/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/lib -znow -zrelro " make -j1 -C /home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/. AR="mipsel-openwrt-linux-musl-gcc-ar" AS="mipsel-openwrt-linux-musl-gcc -c -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" LD=mipsel-openwrt-linux-musl-ld NM="mipsel-openwrt-linux-musl-gcc-nm" CC="mipsel-openwrt-linux-musl-gcc" GCC="mipsel-openwrt-linux-musl-gcc" CXX="mipsel-openwrt-linux-musl-g++" RANLIB="mipsel-openwrt-linux-musl-gcc-ranlib" STRIP=mipsel-openwrt-linux-musl-strip OBJCOPY=mipsel-openwrt-linux-musl-objcopy OBJDUMP=mipsel-openwrt-linux-musl-objdump SIZE=mipsel-openwrt-linux-musl-size CROSS="mipsel-openwrt-linux-musl-" ARCH="mipsel" ;
make[4]: Entering directory '/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1'
make all-recursive
make[5]: Entering directory '/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1'
Making all in src
make[6]: Entering directory '/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/src'
mipsel-openwrt-linux-musl-g++ -DHAVE_CONFIG_H -I. -I.. -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/usr/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include/fortify -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -MT kal-arfcn_freq.o -MD -MP -MF .deps/kal-arfcn_freq.Tpo -c -o kal-arfcn_freq.o test -f 'arfcn_freq.cc' || echo './'
arfcn_freq.cc
mv -f .deps/kal-arfcn_freq.Tpo .deps/kal-arfcn_freq.Po
mipsel-openwrt-linux-musl-g++ -DHAVE_CONFIG_H -I. -I.. -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/usr/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include/fortify -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -MT kal-c0_detect.o -MD -MP -MF .deps/kal-c0_detect.Tpo -c -o kal-c0_detect.o test -f 'c0_detect.cc' || echo './'
c0_detect.cc
mv -f .deps/kal-c0_detect.Tpo .deps/kal-c0_detect.Po
mipsel-openwrt-linux-musl-g++ -DHAVE_CONFIG_H -I. -I.. -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/usr/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include/fortify -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -MT kal-circular_buffer.o -MD -MP -MF .deps/kal-circular_buffer.Tpo -c -o kal-circular_buffer.o test -f 'circular_buffer.cc' || echo './'
circular_buffer.cc
mv -f .deps/kal-circular_buffer.Tpo .deps/kal-circular_buffer.Po
mipsel-openwrt-linux-musl-g++ -DHAVE_CONFIG_H -I. -I.. -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/usr/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include/fortify -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -MT kal-fcch_detector.o -MD -MP -MF .deps/kal-fcch_detector.Tpo -c -o kal-fcch_detector.o test -f 'fcch_detector.cc' || echo './'
fcch_detector.cc
mv -f .deps/kal-fcch_detector.Tpo .deps/kal-fcch_detector.Po
mipsel-openwrt-linux-musl-g++ -DHAVE_CONFIG_H -I. -I.. -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/usr/include -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include/fortify -I/home/openwrt/openwrt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include -I/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include/ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1:kalibrate-rtl-0.4.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -MT kal-kal.o -MD -MP -MF .deps/kal-kal.Tpo -c -o kal-kal.o test -f 'kal.cc' || echo './'
kal.cc
kal.cc: In function 'void usage(char*)':
kal.cc:82:51: error: 'basename' was not declared in this scope
printf("\t\t%s <-s band indicator> [options]\n", basename(prog));
^~~~~~~~
kal.cc:82:51: note: suggested alternative: 'ptsname'
printf("\t\t%s <-s band indicator> [options]\n", basename(prog));
^~~~~~~~
ptsname
kal.cc: In function 'int main(int, char**)':
kal.cc:290:6: error: 'basename' was not declared in this scope
basename(argv[0]));
^~~~~~~~
kal.cc:290:6: note: suggested alternative: 'ptsname'
basename(argv[0]));
^~~~~~~~
ptsname
kal.cc:298:5: error: 'basename' was not declared in this scope
basename(argv[0]), bi_to_str(bi));
^~~~~~~~
kal.cc:298:5: note: suggested alternative: 'ptsname'
basename(argv[0]), bi_to_str(bi));
^~~~~~~~
ptsname
Makefile:482: recipe for target 'kal-kal.o' failed
make[6]: *** [kal-kal.o] Error 1
make[6]: Leaving directory '/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/src'
Makefile:375: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1'
Makefile:316: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1'
Makefile:70: recipe for target '/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/.built' failed
make[3]: *** [/home/openwrt/openwrt/build_dir/target-mipsel_24kc_musl/kalibrate-rtl-0.4.1/.built] Error 2
make[3]: Leaving directory '/home/openwrt/kalibrate-rtl'
time: package/kalibrate-rtl/compile#4.20#0.38#5.64
package/Makefile:107: recipe for target 'package/kalibrate-rtl/compile' failed
make[2]: *** [package/kalibrate-rtl/compile] Error 2
make[2]: Leaving directory '/home/openwrt/openwrt'
package/Makefile:103: recipe for target '/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile' failed
make[1]: *** [/home/openwrt/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/openwrt/openwrt'
/home/openwrt/openwrt/include/toplevel.mk:216: recipe for target 'world' failed
make: *** [world] Error 2
openwrt@bogon:~/openwrt$
Hello, I am getting this error when trying to calibrate:
root@thin:~/kalibrate-rtl# kal -s 900
Found 1 device(s):
0: Terratec NOXON DAB/DAB+ USB dongle (rev 1)
Using device 0: Terratec NOXON DAB/DAB+ USB dongle (rev 1)
Found Fitipower FC0013 tuner
Exact sample rate is: 270833.002142 Hz
kal: Scanning for GSM-900 base stations.
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 949000000 Hz!
Tuning to 949000000 Hz failed!
[FC0013] no valid PLL combination found for 949200000 Hz!
Tuning to 949200000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
GSM-900:
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948600000 Hz!
Tuning to 948600000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 948800000 Hz!
Tuning to 948800000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949400000 Hz!
Tuning to 949400000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949600000 Hz!
Tuning to 949600000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
[FC0013] no valid PLL combination found for 949800000 Hz!
Tuning to 949800000 Hz failed!
Is there a way to get the signal strength (db/m) of a channel?
This is where the power value is calculated as a average of the FCCH burst, right?
https://github.com/steve-m/kalibrate-rtl/blob/master/src/c0_detect.cc#L111
Hello I'm trying to compile kalibrate-rtl on mac yosemite but when I try to execute the command make
I get the following problem:
/Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive
Making all in src
g++ -I/opt/local/include -I/opt/local/include/ -I/opt/local/include/libusb-1.0 -g -O2 -o kal kal-arfcn_freq.o kal-c0_detect.o kal-circular_buffer.o kal-fcch_detector.o kal-kal.o kal-offset.o kal-usrp_source.o kal-util.o -L/opt/local/lib -lfftw3 -L/opt/local/lib -lrtlsdr -lusb-1.0 -lrt
ld: library not found for -lrt
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [kal] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
I wondering if is posible install kalibrate on mac?
I still have the issue after following this thread
I have all dependencies installed, all fftw3 and libhackrf libs including reinstalling pkg-config afterward.
./configure: line 5064: syntax error near unexpected token `FFTW3,'
./configure: line 5064: `PKG_CHECK_MODULES(FFTW3, fftw3 >= 3.0)'
If I comment these lines in the configure
file, then the line considering similar things with LIBHACKRF
below results in a similar error.
Tried to comment PKG_CHECK_MODULES for LIBHACKRF and compile but eventually, of course, it does not find the libs.
The libs installed on my Debian system:
/usr/include/fftw3-mpi.f03
/usr/include/fftw3-mpi.h
/usr/include/fftw3.f
/usr/include/fftw3.f03
/usr/include/fftw3.h
/usr/include/fftw3l-mpi.f03
/usr/include/fftw3l.f03
/usr/include/fftw3q.f03
/usr/lib/i386-linux-gnu/libfftw3.so.3
/usr/lib/i386-linux-gnu/libfftw3.so.3.5.8
/usr/lib/i386-linux-gnu/libfftw3_omp.so.3
/usr/lib/i386-linux-gnu/libfftw3_omp.so.3.5.8
/usr/lib/i386-linux-gnu/libfftw3_threads.so.3
/usr/lib/i386-linux-gnu/libfftw3_threads.so.3.5.8
/usr/lib/x86_64-linux-gnu/cmake/gnuradio/FindFFTW3f.cmake
/usr/lib/x86_64-linux-gnu/libfftw3.a
/usr/lib/x86_64-linux-gnu/libfftw3.so
/usr/lib/x86_64-linux-gnu/libfftw3.so.3
/usr/lib/x86_64-linux-gnu/libfftw3.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3_mpi.a
/usr/lib/x86_64-linux-gnu/libfftw3_mpi.so
/usr/lib/x86_64-linux-gnu/libfftw3_mpi.so.3
/usr/lib/x86_64-linux-gnu/libfftw3_mpi.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3_omp.a
/usr/lib/x86_64-linux-gnu/libfftw3_omp.so
/usr/lib/x86_64-linux-gnu/libfftw3_omp.so.3
/usr/lib/x86_64-linux-gnu/libfftw3_omp.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3_threads.a
/usr/lib/x86_64-linux-gnu/libfftw3_threads.so
/usr/lib/x86_64-linux-gnu/libfftw3_threads.so.3
/usr/lib/x86_64-linux-gnu/libfftw3_threads.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3f.a
/usr/lib/x86_64-linux-gnu/libfftw3f.so
/usr/lib/x86_64-linux-gnu/libfftw3f.so.3
/usr/lib/x86_64-linux-gnu/libfftw3f.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3f_mpi.a
/usr/lib/x86_64-linux-gnu/libfftw3f_mpi.so
/usr/lib/x86_64-linux-gnu/libfftw3f_mpi.so.3
/usr/lib/x86_64-linux-gnu/libfftw3f_mpi.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3f_omp.a
/usr/lib/x86_64-linux-gnu/libfftw3f_omp.so
/usr/lib/x86_64-linux-gnu/libfftw3f_omp.so.3
/usr/lib/x86_64-linux-gnu/libfftw3f_omp.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3f_threads.a
/usr/lib/x86_64-linux-gnu/libfftw3f_threads.so
/usr/lib/x86_64-linux-gnu/libfftw3f_threads.so.3
/usr/lib/x86_64-linux-gnu/libfftw3f_threads.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3l.a
/usr/lib/x86_64-linux-gnu/libfftw3l.so
/usr/lib/x86_64-linux-gnu/libfftw3l.so.3
/usr/lib/x86_64-linux-gnu/libfftw3l.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3l_mpi.a
/usr/lib/x86_64-linux-gnu/libfftw3l_mpi.so
/usr/lib/x86_64-linux-gnu/libfftw3l_mpi.so.3
/usr/lib/x86_64-linux-gnu/libfftw3l_mpi.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3l_omp.a
/usr/lib/x86_64-linux-gnu/libfftw3l_omp.so
/usr/lib/x86_64-linux-gnu/libfftw3l_omp.so.3
/usr/lib/x86_64-linux-gnu/libfftw3l_omp.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3l_threads.a
/usr/lib/x86_64-linux-gnu/libfftw3l_threads.so
/usr/lib/x86_64-linux-gnu/libfftw3l_threads.so.3
/usr/lib/x86_64-linux-gnu/libfftw3l_threads.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3q.a
/usr/lib/x86_64-linux-gnu/libfftw3q.so
/usr/lib/x86_64-linux-gnu/libfftw3q.so.3
/usr/lib/x86_64-linux-gnu/libfftw3q.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3q_omp.a
/usr/lib/x86_64-linux-gnu/libfftw3q_omp.so
/usr/lib/x86_64-linux-gnu/libfftw3q_omp.so.3
/usr/lib/x86_64-linux-gnu/libfftw3q_omp.so.3.5.8
/usr/lib/x86_64-linux-gnu/libfftw3q_threads.a
/usr/lib/x86_64-linux-gnu/libfftw3q_threads.so
/usr/lib/x86_64-linux-gnu/libfftw3q_threads.so.3
/usr/lib/x86_64-linux-gnu/libfftw3q_threads.so.3.5.8
/usr/lib/x86_64-linux-gnu/pkgconfig/fftw3.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/fftw3f.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/fftw3l.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/fftw3q.pc
For libhackrf:
/usr/include/libhackrf
/usr/include/libhackrf/hackrf.h
/usr/lib/udev/rules.d/60-libhackrf0.rules
/usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libHackRFSupport.so
/usr/lib/x86_64-linux-gnu/libhackrf.a
/usr/lib/x86_64-linux-gnu/libhackrf.so
/usr/lib/x86_64-linux-gnu/libhackrf.so.0
/usr/lib/x86_64-linux-gnu/libhackrf.so.0.5.0
/usr/lib/x86_64-linux-gnu/pkgconfig/libhackrf.pc
/usr/local/lib/python3.8/dist-packages/urh.libs/libhackrf-a1897859.so.0.5.0
(irrelevant doc and info files are omitted)
Can someone help with this?
Or maybe with how should I adjust the Makefile
after removing the lines from configure
and trying to set up the libraries manually?
Thanks
root@ubuntu:~/kal-v0.4.1# ./bootstrap
configure.ac:34: installing ./config.guess' configure.ac:34: installing
./config.sub'
configure.ac:4: installing ./install-sh' configure.ac:4: installing
./missing'
src/Makefile.am: installing ./depcomp' Makefile.am: installing
./INSTALL'
root@ubuntu:~/kal-v0.4.1# CXXFLAGS='-W -Wall -O3' ./configure
...
checking for strtoul... yes
checking for strtol... yes
./configure: line 4896: syntax error near unexpected token FFTW3,' ./configure: line 4896:
PKG_CHECK_MODULES(FFTW3, fftw3 >= 3.0)'
Hello guys !
Can anyone help me with my problem with kal ?
root@kali:~# kal -s GSM900
fs.js:114
throw err;
^
Error: ENOENT: no such file or directory, open 'GSM900'
at Object.openSync (fs.js:443:3)
at Object.readFileSync (fs.js:343:35)
at Object.run (/usr/local/lib/node_modules/kal/compiled/command.js:1:2367)
at Object. (/usr/local/lib/node_modules/kal/scripts/kal:7:27)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
Thank you !
After at git clone:
rob@Wsprdaemon-Thinkcenter:/kalibrate-rtl$ ./bootstrap/kalibrate-rtl$
./bootstrap: line 12: libtoolize: command not found
rob@Wsprdaemon-Thinkcenter:
When running ./configure I get the following error:
./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking whether ln -s works... yes
checking for ranlib... ranlib
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for inline... inline
checking for working strtod... yes
checking for floor... no
checking for getpagesize... yes
checking for memset... yes
checking for sqrt... no
checking for strtoul... yes
checking for strtol... yes
./configure: line 5097: syntax error near unexpected token FFTW3,' ./configure: line 5097:
PKG_CHECK_MODULES(FFTW3, fftw3 >= 3.0)'
I have confirmed fftw3 is installed.
Have you changed your website? The README link seems to go nowhere.
I'm packaging kalibrate-rtl for Nix/NixOS and would like to ask if you could make a git tag in the repo as an indication to downstream that "this is the version you should use".
Something like git tag -a -m "Version 1.0" v1.0 && git push --tags
should do it :-)
It might be helpful to add that the build process requires
sudo apt install libtool m4 automake
sudo apt install fftw3 fftw3-dev pkg-config
In order to make the program compile. Thankfully it was quickly disovered with a Google Search ... But still beakerbrowser/beaker#54 (I'm personally coming from a Raspberry Pi 400 with Raspberry Pi OS installed.)
I don't consider this a bug.
Singapore doesn't use GSM900/850. Does it mean this program can't be used on my end?
Here's the output:
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by kalibrate configure 0.4.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure
hostname = weather-radio
uname -m = aarch64
uname -r = 5.10.17-v8+
uname -s = Linux
uname -v = #1403 SMP PREEMPT Mon Feb 22 11:37:54 GMT 2021
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/local/games
PATH: /usr/games
configure:2341: checking for a BSD-compatible install
configure:2409: result: /usr/bin/install -c
configure:2420: checking whether build environment is sane
configure:2475: result: yes
configure:2624: checking for a thread-safe mkdir -p
configure:2663: result: /bin/mkdir -p
configure:2670: checking for gawk
configure:2700: result: no
configure:2670: checking for mawk
configure:2686: found /usr/bin/mawk
configure:2697: result: mawk
configure:2708: checking whether make sets $(MAKE)
configure:2730: result: yes
configure:2759: checking whether make supports nested variables
configure:2776: result: yes
configure:2964: checking for g++
configure:2980: found /usr/bin/g++
configure:2991: result: g++
configure:3018: checking for C++ compiler version
configure:3027: g++ --version >&5
g++ (Raspbian 8.3.0-6+rpi1) 8.3.0
Copyright (C) 2018 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.
configure:3038: $? = 0
configure:3027: g++ -v >&5
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1)
configure:3038: $? = 0
configure:3027: g++ -V >&5
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
compilation terminated.
configure:3038: $? = 1
configure:3027: g++ -qversion >&5
g++: error: unrecognized command line option '-qversion'; did you mean '--version'?
g++: fatal error: no input files
compilation terminated.
configure:3038: $? = 1
configure:3058: checking whether the C++ compiler works
configure:3080: g++ conftest.cpp >&5
g++: internal compiler error: Segmentation fault signal terminated program collect2
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-8/README.Bugs for instructions.
configure:3084: $? = 4
configure:3122: result: no
configure: failed program was:
| /* confdefs.h /
| #define PACKAGE_NAME "kalibrate"
| #define PACKAGE_TARNAME "kal"
| #define PACKAGE_VERSION "0.4.1"
| #define PACKAGE_STRING "kalibrate 0.4.1"
| #define PACKAGE_BUGREPORT "[email protected]"
| #define PACKAGE_URL ""
| #define PACKAGE "kal"
| #define VERSION "0.4.1"
| / end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:3127: error: in /home/pi/kalibrate-rtl': configure:3129: error: C++ compiler cannot create executables See
config.log' for more details
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_FFTW3_CFLAGS_set=
ac_cv_env_FFTW3_CFLAGS_value=
ac_cv_env_FFTW3_LIBS_set=
ac_cv_env_FFTW3_LIBS_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBRTLSDR_CFLAGS_set=
ac_cv_env_LIBRTLSDR_CFLAGS_value=
ac_cv_env_LIBRTLSDR_LIBS_set=
ac_cv_env_LIBRTLSDR_LIBS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_PKG_CONFIG_LIBDIR_set=
ac_cv_env_PKG_CONFIG_LIBDIR_value=
ac_cv_env_PKG_CONFIG_PATH_set=
ac_cv_env_PKG_CONFIG_PATH_value=
ac_cv_env_PKG_CONFIG_set=
ac_cv_env_PKG_CONFIG_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=mawk
ac_cv_prog_ac_ct_CXX=g++
ac_cv_prog_make_make_set=yes
am_cv_make_support_nested_variables=yes
ACLOCAL='${SHELL} /home/pi/kalibrate-rtl/missing aclocal-1.16'
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH=''
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
AUTOCONF='${SHELL} /home/pi/kalibrate-rtl/missing autoconf'
AUTOHEADER='${SHELL} /home/pi/kalibrate-rtl/missing autoheader'
AUTOMAKE='${SHELL} /home/pi/kalibrate-rtl/missing automake-1.16'
AWK='mawk'
CC=''
CCDEPMODE=''
CFLAGS=''
CPP=''
CPPFLAGS=''
CXX='g++'
CXXDEPMODE=''
CXXFLAGS=''
CYGPATH_W='echo'
DEFS=''
DEPDIR=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
FFTW3_CFLAGS=''
FFTW3_LIBS=''
GREP=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LDFLAGS=''
LIBOBJS=''
LIBRTLSDR_CFLAGS=''
LIBRTLSDR_LIBS=''
LIBS=''
LN_S=''
LRT_FLAGS=''
LTLIBOBJS=''
MAKEINFO='${SHELL} /home/pi/kalibrate-rtl/missing makeinfo'
MKDIR_P='/bin/mkdir -p'
OBJEXT=''
PACKAGE='kal'
PACKAGE_BUGREPORT='[email protected]'
PACKAGE_NAME='kalibrate'
PACKAGE_STRING='kalibrate 0.4.1'
PACKAGE_TARNAME='kal'
PACKAGE_URL=''
PACKAGE_VERSION='0.4.1'
PATH_SEPARATOR=':'
PKG_CONFIG=''
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH=''
POW_LIB=''
RANLIB=''
SET_MAKE=''
SHELL='/bin/bash'
STRIP=''
VERSION='0.4.1'
ac_ct_CC=''
ac_ct_CXX='g++'
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include=''
am__isrc=''
am__leading_dot='.'
am__nodep=''
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build=''
build_alias=''
build_cpu=''
build_os=''
build_vendor=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host=''
host_alias=''
host_cpu=''
host_os=''
host_vendor=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /home/pi/kalibrate-rtl/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
runstatedir='${localstatedir}/run'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''
/* confdefs.h */
#define PACKAGE_NAME "kalibrate"
#define PACKAGE_TARNAME "kal"
#define PACKAGE_VERSION "0.4.1"
#define PACKAGE_STRING "kalibrate 0.4.1"
#define PACKAGE_BUGREPORT "[email protected]"
#define PACKAGE_URL ""
#define PACKAGE "kal"
#define VERSION "0.4.1"
configure: exit 77
I have already installed librtlsdr,but it still display"no packpage librtlsdr"
Running "kal -s GSM850 -g 50 -l 50" causes gqrx to become unresponsive from that point until reboot of the pc.
i7 4GB RAM
Fresh install/update of Kali 2 rolling distro on the metal: 4.6.0-kali1-amd64 #1 SMP Debian 4.6.3-1kali1 (2016-07-12) x86_64 GNU/Linux,
Running a compiled version of kalibrate, from this git repo after following the procedure here:
https://docs.google.com/document/d/1E_LQZ0xTs697L-0QsANQ7sDzc09QhO_7q4ue_WXezI0/pub
with a hackrf one using the latest release firmware version 2015.07.2
I'm running gnome classic, latest gqrx from the rolling kali repo (also tried it with latest compiled gqrx from git, same results)
kalibrate works and finds several signals, but after it finishes (I don't ^c it) gqrx will no longer produce output. Gqrx works fine before running it.
debug_kal.txt
usrp_source.cc:105:37: warning: variable 'decimation_f' is uninitialized when used here [-Wuninitialized]
float decimation_f;
// decimation_f = (float)m_u_rx->fpga_master_clock_freq() / m_desired_sample_rate;
m_decimation = (unsigned int)round(decimation_f) & ~1;
autoconf doesn't check presence of libusb dev files, so failing occurs only at compile time.
Like for libfftw and librtlsdr ./configure should check it.
Hi,
I have been running kalibrate-rtl in an effort to confirm my manual calibration results. Kalibrate-rtl returns crystal correction values around -24 ppm while using known beacons the manual calibration is in the range on 55-65 ppm.
I used LTE-Scanner and got ppm of 64.6 which agrees well with manual calibration above.
Another question, the domain listed for documentation, http://thre.at/kalibrate, is gone. Anybody have another source for documentation?
Hello,
I followed this tutorial
https://www.turais.de/ein-rtl_sdr-mit-kalibrate-sdr-kalibrieren/
When I try kal -c 65
then I get this results
Found 1 device(s):
0: Generic RTL2832U OEM
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Calculating clock frequency offset.
Using GSM-900 channel 65 (948.0MHz)
Tuned to 948.000000MHz (reported tuner error: 0Hz)
average [min, max] (range, stddev)
- 409Hz [-423, -395] (28, 7.226833)
overruns: 0
not found: 0
average absolute error: 0.431 ppm
what do I have to do to perform the calibration correctly?
mmap: Invalid argument
terminate called after throwing an instance of 'std::runtime_error'
what(): circular_buffer: mmap (guard)
Aborted
I'm trying to use kal to get the right frequency my pcs1900 device is on but nothing tends to show up I can get gsm900 info etc but I run
Kal -s 1900 and I get nothing what seems to be the issue
Grgsm_scanner works fine tbh
Hi,
anyone trying to build kalibrate on alpine please install fftw-dev, fftw, libusb-dev, libusb, musl-dev, musl.
Then when you compile it will probably give you error, so what needs to be fixed ?
Add #include <libgen.h>
to src/kal.cc
which is needed (else gives `error: 'basename' was not declared in this scope˙)
Hope it helps somebody.
Hi,
I am getting Bus Error on ARM (Linux osmio4k 5.5.16 #1 SMP Thu Apr 9 22:19:04 UTC 2020 armv7l GNU/Linux).
The kal binary is compiled using D_HOST_OSX.
# kal -c 90 -D
debug: Mac OS X version
debug: FPGA Master Clock Freq: 52000000
debug: decimation : 192
debug: RX Subdev Spec : A
debug: Antenna : RX2
debug: Gain : 0.000000
Found 1 device(s):
0: Generic RTL2832U OEM
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Calculating clock frequency offset.
Using GSM-900 channel 90 (953.0MHz)
Tuned to 953.000000MHz (reported tuner error: 0Hz)
Bus error
Here is what gdb reports:
Thread 1 "kal" received signal SIGBUS, Bus error.
0x00017ed4 in usrp_source::fill (this=0x30098, num_samples=5120, overrun_i=0x0) at ../../git/src/usrp_source.cc:261
261 c[i] = complex((ubuf[j] - 127) * 256, (ubuf[j + 1] - 127) * 256);
(gdb) p i
$1 = 0
(gdb) p c
$2 = (complex *) 0xb66a8000
(gdb) p c[0]
Cannot access memory at address 0xb66a8000
(gdb) p j
$3 = 0
(gdb) info locals
ubuf = "\177\200", '\177' <repeats 23 times>, "\200\177\200", '\177' <repeats 11 times>, "\200\200\177\200\177\177\177\177\177\177\177\177\177\200\177\200", '\177' <repeats 13 times>, "\200", '\177' <repeats 36 times>, "\200", '\177' <repeats 12 times>, "\200", '\177' <repeats 12 times>, "\200\200", '\177' <repeats 36 times>, "\200\200\177\200\177\177\177\177\177\177\177\177\200\177\200\177\177\177\177\177\177\177\177\177\200\177\177\177\200", '\177' <repeats 23 times>...
i = 0
j = 0
space = 16384
overruns = 0
c = 0xb66a8000
n_read = 32768
(gdb) bt
#0 0x00017ed4 in usrp_source::fill (this=0x30098, num_samples=5120, overrun_i=0x0) at ../../git/src/usrp_source.cc:261
#1 0x000180b0 in usrp_source::flush (this=0x30098, flush_count=10) at ../../git/src/usrp_source.cc:309
#2 0x00017170 in offset_detect (u=0x30098, hz_adjust=0, tuner_error=0) at ../../git/src/offset.cc:68
#3 0x00016fec in main (argc=3, argv=0xbefffd94) at ../../git/src/kal.cc:317
I tried to compile without defining the D_HOST_OSX.
# kal -c 90 -D
debug: FPGA Master Clock Freq: 52000000
debug: decimation : 192
debug: RX Subdev Spec : A
debug: Antenna : RX2
debug: Gain : 0.000000
shmat: Invalid argument
terminate called after throwing an instance of 'std::runtime_error'
what(): circular_buffer: shmat
Aborted
But issue with shmat appeared as described in #1
Compiling also kalibrate on mips same issue appears, like #22
root@osmega:~# kal -c 90
shmat: Invalid argument
terminate called after throwing an instance of 'std::runtime_error'
what(): circular_buffer: shmat
Aborted
root@osmega:~# uname -a
Linux osmega 4.11.0 #1 SMP Sun Feb 9 12:33:57 UTC 2020 mips GNU/Linux
root@osmega:~#
Experimenting on D_HOST_OSX without using POSIX shared memory, but only temporary mmapped file everything works fine!
So I created a patch here: athoik@0e203c2
This version used only mmap and it works great.
I was about to create a PR with above version, then I realized that /dev/shm is missing ....
root@osmega:~# ./kal -s GSM900
Found 1 device(s):
0: Generic RTL2832U OEM
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Scanning for GSM-900 base stations.
Bus error
root@osmega:~# mkdir /dev/shm
root@osmega:~# ./kal -s GSM900
Found 1 device(s):
0: Generic RTL2832U OEM
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Scanning for GSM-900 base stations.
GSM-900:
chan: 1 (935.2MHz - 21.640kHz) power: 27642.07
chan: 5 (936.0MHz - 22.428kHz) power: 51325.93
So the problem, on ARM was the missing /dev/shm directory.
The problem on MIPS was and the missing /dev/shm directory (obviously). Also we have to build without shared memory, just like we do on ARM.
A PR was created to fix issue on MIPS. #30
So if you are getting Bus Error on ARM or MIPS check if /dev/shm exists :)
Hi,
is there a way to have both software installed and
start each with separate command like "kal-hackrf" and "kal-rtl"?
Best regrads
Marxon
It's possible to add Tetra basestation 390-430 (25 kHz)?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.