ERROR (make: *** No rule to make target `check'. Stop.) - makefile

I want to download an API called libtrading, the process to download it in terminal is as the follows,
OSX
$ brew install libevent glib pkgconfig
$ pip install pyyaml
Then run:
$ make install
You can also run the test harness:
$ make check
I have successfully processed the first two steps, but when I put 'make install' and 'make check', it always says (make: *** No rule to make target `check'. Stop. )
Does anyone know how can I solve the problem? Is it because some file path is needed here? but I don't know what is it.
Thanks in advance!

Related

Smokeping make install error

i try to install newest version smokeping and get error when run "make install". I do everything as written on the official website.
make[1]: Entering directory '/home/artemto/smokeping-2.7.2/thirdparty'
echo "If the moduile install hangs, this may be because one of the modules expects you to press [return] without telling you ... just do it!"
If the moduile install hangs, this may be because one of the modules expects you to press [return] without telling you ... just do it!
GEN touch
! Installing FCGI failed. See /home/artemto/smokeping-2.7.2/thirdparty/work/1533497827.2903/build.log for details. Retry with --force to force install it.
CGI is up to date. (4.38)
CGI::Fast is up to date. (2.13)
Config::Grammar is up to date. (1.12)
! Configure failed for Socket6-0.28. See /home/artemto/smokeping-2.7.2/thirdparty/work/1533497827.2903/build.log for details.
IO::Socket::SSL is up to date. (2.056)
Digest::HMAC_MD5 is up to date. (1.01)
Net::Telnet is up to date. (3.04)
Net::OpenSSH is up to date. (0.77)
Net::SNMP is up to date. (v6.0.1)
! Installing Text::Soundex failed. See /home/artemto/smokeping-2.7.2/thirdparty/work/1533497827.2903/build.log for details. Retry with --force to force install it.
! Couldn't find module or a distribution GSSAPI
! Installing the dependencies failed: Module 'Text::Soundex' is not installed
! Bailing out the installation for perl-ldap-0.65.
Net::DNS is up to date. (1.15)
! Configure failed for IO-Tty-1.12. See /home/artemto/smokeping-2.7.2/thirdparty/work/1533497827.2903/build.log for details.
LWP is up to date. (6.33)
Authen::Radius is up to date. (0.26)
Path::Tiny is up to date. (0.104)
Makefile:410: recipe for target 'touch' failed
make[1]: *** [touch] Error 123
make[1]: Leaving directory '/home/artemto/smokeping-2.7.2/thirdparty'
Makefile:363: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
Problem solved, sorry for make this quickly post
apt install gcc
I get similar problem on Debian 9.5 and smokeping-2.7.2.tar.gz .
Installed the following packages prior to compilation and I assume some other package is missing but which?
apt-get install rrdtool curl perl make gcc
curl is already the newest version (7.52.1-5+deb9u6).
gcc is already the newest version (4:6.3.0-4).
make is already the newest version (4.1-9.1).
perl is already the newest version (5.24.1-3+deb9u4).
rrdtool is already the newest version (1.6.0-1+b2).
...
Successfully installed Data-HexDump-0.02
Successfully installed Authen-Radius-0.26
Successfully installed Path-Tiny-0.104
37 distributions installed
Makefile:410: recipe for target 'touch' failed
make[1]: *** [touch] Error 123
make[1]: Leaving directory '/home/cisadmin/smokeping/thirdparty'
Makefile:363: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
root#l-mog-horch:/home/cisadmin/smokeping#
EDIT
It works fine with 2.7.1 so something is wrong in the 2.7.2 package...

Make Julia Installing: it shows hashing.o not found?

I had installed Julia 0.4.5 with sudo apt install julia. Now I want to install the latest version of Julia v0.6.0. First I git clone the source code from the Github, then I install lots of the dependencies following the installing instruction. And all is fine.
When I start to make, waiting a long time, and it show:
Making install in TESTS
Making install in EXAMPLES
Making install in BAND
Making install in COMPLEX
Making install in NONSYM
Making install in SIMPLE
Making install in SVD
Making install in SYM
make[2]: *** No rule to make target '/home/yaoyu/julia/src/support/hashing.o', needed by '/home/yaoyu/julia/src/support/libsupport.a'. Stop.
Makefile:208: recipe for target 'support/libsupport.a' failed
make[1]: *** [support/libsupport.a] Error 2
Makefile:55: recipe for target 'julia_flisp.boot.inc.phony' failed
make: *** [julia_flisp.boot.inc.phony] Error 2
I have searched for answers in this web, while cann't find the way to fix it, I don't know what causes that ? Anyone konws how to correct it? Thanks a lot.

Error while upgrading Asterisk to 14 - PJSIP undeclared

I am trying to upgrade asterisk 11 to 14 on Debian (8.7) and I got the following error when I do make install.
The error is as below
res_pjsip_transport_management.c: In function ‘monitored_transport_state_callback’:
res_pjsip_transport_management.c:190:8: error: ‘PJSIP_TP_STATE_SHUTDOWN’ undeclared (first use in this function)
case PJSIP_TP_STATE_SHUTDOWN:
^
res_pjsip_transport_management.c:190:8: note: each undeclared identifier is reported only once for each function it appears in
/root/asterisk-14.3.0/Makefile.rules:149: recipe for target 'res_pjsip_transport_management.o' failed
make[1]: *** [res_pjsip_transport_management.o] Error 1
Makefile:401: recipe for target 'res' failed
make: *** [res] Error 2
The commands I used are as follow
tar -zxvf asterisk-14-current.tar.gz
/etc/init.d/asterisk stop
cd asterisk-14.3.0/
./configure
rm -f /usr/lib/asterisk/modules/*
make install
I tried some solutions from the internet and it didn't fix....
It seems like the pjsip versions do not match (could be that there is more then one version installed) so you want to remove all previous/existing versions of PJSip. If you do not know what packages belong to pjsip you can search them via:
apt-cache search pjsip
or
dpkg -l | grep pj
And once you know which package to remove do
apt-get --purge remove <package name>
You then want to download the latest version of pjsip (current 2.6 according to Asterisk website)
wget wget http://www.pjsip.org/release/2.6/pjproject-2.6.tar.bz2
tar -xjvf pjproject-2.6.tar.bz2
You want to place the pjproject in /usr/local.
cp -R pjproject-2.6 /usr/local/
Once this is done you have to build/compile/install the pjproject and
./configure --prefix=/usr --enable-shared CFLAGS='-O2 -DNDEBUG' //Various options (enable/disable) can be put in here. Please refer to manual
make dep
make
make install
ldconfig
Verify that pjproject has been installed in the target location
ldconfig -p | grep pj
Once this has been done you can now go to you Asterisk folder and issue
./configure
and proceed with installation further :)
pjsip version not match.
Never tried 14*(it is not LTS), for 13.* such error mean you have more then one pjsip or pjsip is not 2.4.
Before rebuilding pjsip do check
yum remove -y pjsip
rm -f `find / -name *pjsip*`
If I'm not mistaken, Asterisk 13 source code came with a built-in pjproject, but 14 will look for an installed pjproject on the system.
Make sure you have it installed (including the -dev or -devel packages, which contains the headers), than try to reconfigure asterisk source.
./bootstrap.sh
./configure
make menuconfig

dpkg error: contains ununderstood data member

I'm trying to install a jailbreak tweak using make package install but I'm receiving this error from dpkg:
dpkg-deb: file `/tmp/_theos_install.deb' contains ununderstood data member data.tar.xz , giving up
dpkg: error processing /tmp/_theos_install.deb (--install):
subprocess dpkg-deb --fsys-tarfile returned error exit status 2
Errors were encountered while processing:
/tmp/_theos_install.deb
make: *** [internal-install] Error 1
So as far as I can tell it isn't able to understand the .xz extension, but I'm not sure why that file is being created. Thanks for the help.
I found out how to fix it. In $THEOS/makefiles/package/deb.mk replace this line:
$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)
with this line:
$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -Zgzip -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)
The .deb file is created because you told Theos build system to do that. The package install rule of the Makefile is creating the Debian package using xz compression. Now, this kind of compression is supported by versions of dpkg equal or higher than 1.15.6.
So, in order to solve your problem, you should update dpkg to a newer version or install Theos without packaging support. Probably a simple make install will do it.
In case that updating dpkg isn't possible and you don't want to install the program without package management support, the other (more painful) method is to change the algorithm in which the package is compressed. Here you have good information about how to do this.
In my case I was building a package on Ubuntu 18.04 and trying to install that package on Debian 7 (airgapped). I had to change the line in the Makefile that read:
dpkg --build $(DESTDIR)
..to:
dpkg-deb --build -Zgzip $(DESTDIR)
Thanks Connor!
Other option that you can try is to unpack the .deb that you where triying to install and repack with no XZ compression.
Unpack:
mkdir package/ && dpkg -x package.deb package/
Pack:
dpkg-deb --build -Zgzip package/
You can rename the resulting package with:
dpkg-name -o package.deb
Or simply name the package dir with the name of your package.
Important: In orther to perform this, you need to install dpkg-dev package:
sudo apt update
sudo apt install dpkg-dev

Redis installation error on CentOS 5.8

I was trying to compile Redis 2.6.4 on CentOS 5.8 but I was getting the following error after running make
zmalloc.o: In function zmalloc_used_memory':
/root/redis-2.6.4/src/zmalloc.c:223: undefined reference to
__sync_add_and_fetch_4' collect2: ld returned 1 exit status make[1]:
* [redis-server] Error 1 make[1]: Leaving directory `/root/redis-2.6.4/src' make: * [all] Error 2
I also tried CFLAGS= -march=i686 in the src/Makefile but did not work. Actually, I don't know where to put it. I put at the top of the file.
1 add CFLAGS= -march=i686 to src/Makefile top
2 change src/.make_settings OPT=-O2 into OPT=-O2 -march=i686
3 then make 32bit
4 make test
That works for me.
Ps. maybe you would got tcl problem
1 rpm -qa | grep tcl to see whether tcl version is blow 8.5
2 if so yum remove tcl
3 go to http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html to got a newest one and install
4 go to redis directory make test
Ok, I got it done. I run the following command which seems worked correctly (though later I need to install tcl8.5).
make 32bit
As #HungryCoder said, simple "make 32bit" command would work.
But sometimes, if your have already run into error, you'd better remove files named .make* before running it.
make distclean
make
If it didn't help, try to figure out your CPU arch manually by run the following:
export CFLAGS=`uname -m`
make distclean
make
I had some issues compiling it and I solved by first installing the following dependencies:
sudo yum -y install libstdc++*
sudo yum -y install libstdc++*.i686
Then I could run the proper make without any problem
make 32bit
I hope this helps someone.

Resources