标签: make

Bash在Makefile中异常!

全部,

我发现相同的 Makefile 在 Mac OS X 中运行良好,但在 Ubuntu 中不起作用。片段如下:

start:
    @echo $(seperator)
    @if [[ "$(PROJECT)" == "" ]]; then \
         echo " Project powered by CodeMate!"; \
     else \
         echo "  $(PROJECT)"; \
     fi
    @echo $(seperator)
Run Code Online (Sandbox Code Playgroud)

并提出抱怨:

/bin/sh: [[: not found
Run Code Online (Sandbox Code Playgroud)

任何的想法?

干杯,

李


更新:

我已将上述条件 Bash 语句更改为:

if test "$(PROJECT)" = ""; then \
Run Code Online (Sandbox Code Playgroud)

然后一切正常。那么“[[”有什么问题呢?

bash makefile make

5
推荐指数
2
解决办法
1万
查看次数

尝试为 ASUS USB-N13 安装 realtek 驱动程序,遇到“Compile make driver error: 2”

我正在尝试将华硕 USB-N13 无线适配器放入运行 Ubuntu 12.04 的桌面。我的问题的详细信息与此问题中描述的相同:连接华硕 USB-N13 无线适配器。因此,我正在执行该问题的最高评价答案中列出的确切步骤。在我开始构建驱动程序之前,一切都很顺利。sudo bash install.sh产生以下输出:

##################################################
Realtek Wi-Fi driver Auto installation script
Novembor, 21 2011 v1.1.0
##################################################
Decompress the driver source tar ball:
    rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405.tar.gz
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/autoconf_rtl8712_usb_linux.h
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/clean
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/cmd/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/cmd/rtl8712_cmd.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/cmd/rtl871x_cmd.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/config
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/crypto/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/crypto/rtl871x_security.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/debug/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/debug/rtl871x_debug.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/eeprom/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/eeprom/rtl871x_eeprom.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/efuse/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/efuse/rtl8712_efuse.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/hal/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/hal/rtl8712/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/hal/rtl8712/hal_init.c
[...truncated for space...]
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/ioctl/rtl871x_ioctl_linux.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/ioctl/rtl871x_ioctl_query.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/ioctl/rtl871x_ioctl_rtl.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/ioctl/rtl871x_ioctl_set.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/Kconfig
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/led/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/led/rtl8712_led.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/Makefile
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/mlme/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/mlme/ieee80211.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/mlme/rtl871x_mlme.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/mp/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/mp/rtl871x_mp.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/mp/rtl871x_mp_ioctl.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_dep/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_dep/linux/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_dep/linux/cmd_linux.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_dep/linux/ioctl_cfg80211.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_dep/linux/io_linux.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_dep/linux/mlme_linux.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_dep/linux/recv_linux.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_dep/linux/rtw_android.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_dep/linux/xmit_linux.c
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_intf/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_intf/linux/
rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405/os_intf/linux/os_intfs.c …
Run Code Online (Sandbox Code Playgroud)

wireless realtek make

5
推荐指数
1
解决办法
2934
查看次数

如何重新编译内核?

我从无线开发人员那里了解到,我必须运行make menuconfig命令来更改无线驱动程序的某些配置(启用/禁用某些内容)。更改后,是否必须重新编译内核才能使更改生效?如果必须,如何编译?

kernel make

5
推荐指数
1
解决办法
4024
查看次数

collect2: 错误: ld 返回 1 个退出状态

我想在 ubuntu 13.10 上安装 nexalign(可以从这里下载)。我之前在 ubuntu 10 上安装了它,没有任何问题。我得到的错误是:

gcc   -O9 -Wall -Dthread -lpthread main.o mapping.o interface.o input.o sarray.o mem.o output.o pattern_searching.o pattern_searching_solid.o string_matching.o time.o misc.o bt.o mapping_output.o hash.o r_output.o mapping_solid.o pattern_searching_short.o sort_mapping.o cluster_mapping.o -o nexalign
mapping.o: In function `mapping':
mapping.c:(.text+0x21e): undefined reference to `pthread_create'
mapping.c:(.text+0x276): undefined reference to `pthread_join'
mapping.c:(.text+0x410): undefined reference to `pthread_create'
mapping.c:(.text+0x65e): undefined reference to `pthread_create'
mapping_solid.o: In function `mapping_solid':
mapping_solid.c:(.text+0x1f4): undefined reference to `pthread_create'
mapping_solid.c:(.text+0x23b): undefined reference to `pthread_join'
mapping_solid.c:(.text+0x3dc): undefined reference to `pthread_create' …
Run Code Online (Sandbox Code Playgroud)

compiling gcc make ld

5
推荐指数
1
解决办法
8227
查看次数

我应该在“make install”之前使用“sudo”吗?

我正在从本指南安装最新的 FFmpeg :

在某些地方,它建议在make install没有 sudo 的情况下执行,以下是几个示例:

cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-openclcd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-opencl
PATH="$PATH:$HOME/bin" make
make install
make distclean
Run Code Online (Sandbox Code Playgroud)

我应该sudo make install改用吗?

我的目的是让所有用户都可以使用这些包,包括 Apache/PHP。

sudo install-from-source make software-installation

5
推荐指数
1
解决办法
4066
查看次数

如何制作coreutils的静态二进制文件?

我正在尝试制作 rm 的静态二进制文件,因此我尝试使用以下命令编译 coreutils

configure; make SHARED=0 CC='gcc -static'; make install
Run Code Online (Sandbox Code Playgroud)

但我一直遇到错误。

首先 make 抱怨 c99 或 gnu99,我通过将 -std=gnu99 添加到 CC 值来解决这个问题:

make SHARED=0 CC='gcc -static -std=gnu99'
Run Code Online (Sandbox Code Playgroud)

之后它说:

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbeginT.o: relocation R_X86_64_32 against `__TMC_END__' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.8/crtbeginT.o: error adding symbols: Bad value
Run Code Online (Sandbox Code Playgroud)

我尝试添加 -fPIC 就像添加 -std 选项一样,但无济于事。

甚至可以制作 coreutils 的静态二进制文件吗?(只对 rm 感兴趣)如果是这样,如何?(我有 0 次构建 linux 二进制文件的经验)

PS:我从ubuntu站点下载了coreutils源码,trusty.(coreutils-8.21)

gcc binary make coreutils

5
推荐指数
1
解决办法
1万
查看次数

make install 出错:“无法复制文件”

我正在尝试安装 CLHEP 2.3.4.4,但我被卡住了,出现错误make install:

[ 99%] Built target exctest3 
[ 99%] Built target exctestNothrow
[100%] Built target testzmex
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /usr/local/bin/clhep-config
CMake Error at cmake_install.cmake:36 (file):
  file INSTALL cannot copy file
  "/home/ivan/CLHEP/2.3.4.4/CLHEP/2.3.4.4-build/clhep-config" to
  "/usr/local/bin/clhep-config".
Makefile:105: recipe for target 'install' failed
make: *** [install] Error 1
Run Code Online (Sandbox Code Playgroud)

我能做些什么来解决这个问题?

make

5
推荐指数
1
解决办法
1万
查看次数

Ubuntu 编译软件时死机

我安装了具有 16GB RAM 和 20GB 加密交换空间的 Xubunut16.04。

当我开始一个大型编译时

 configure
 make -j
Run Code Online (Sandbox Code Playgroud)

在终端中,我可以在面板负载监视器中看到

  • 所有核心都达到 100%
  • 内存在大约 20 秒内达到 100%
  • 交换显示保持为零。一旦内存达到 100%,整个电脑就会冻结。我无法通过键盘/鼠标做任何事情。我无法到达另一个航站楼。我无法从另一台电脑通过 ssh 登录。HDD 灯亮并且磁盘正在旋转。

我每次都能重现它。我已经等了长达5个小时,但没有任何变化(它不会撤销)。我需要进行硬重置。

我在论坛上阅读了很多内容,找到了有关 Swap 和 cypttab 的提示。从命令中我可以在开始编译之前检查一切都很好。

  • 交换设置只是标准默认设置。命令的UUID与andblkid的内容一致/etc/fstabetc/cypttab
  • 交换似乎已开启

    swapon --show
    NAME..... TYPE.... SIZE USED PRIO
    /dev/sm-0 分区 15.2G 0B ..... -1

由于 PC 处于空闲状态,USED=0B 似乎没问题。不知道 PRIO=-1 是否可以。

  • cryptsetup 似乎正在工作 cryptsetup 状态 cryptswap1 /dev/nmapper/cryptswap1 处于活动状态并且正在使用 [...]

我尝试设置 vm.min_free_kbyptes 和 vm.swappiness 的值

sudo nano 
vm.swappiness 40
vm.min_free_kbyptes=240000
Run Code Online (Sandbox Code Playgroud)

这是崩溃的系统日志部分

Sep 18 09:54:40 ford2 rtkit-daemon[1668]: Demoted 4 …
Run Code Online (Sandbox Code Playgroud)

swap freeze ram make

5
推荐指数
1
解决办法
2755
查看次数

哪里可以找到适用于 Ubuntu 20.04 的 GNU Make 4.3

我发现自己正在使用 GNU Make 的分组目标功能,该功能出现在 4.3 中。不过我只运行 Ubuntu 20.04,所以我仍然有 4.2.1。是否可以在不升级到 21.04 的情况下找到该版本的 make?

make 20.04

5
推荐指数
1
解决办法
4782
查看次数

尝试安装 Wireless Archer T4U 驱动程序

尝试安装 TP-Link Archer T4U 驱动程序。从https://wikidevi.com/wiki/TP-LINK_Archer_T4U下载的文件

已安装build-essentials。

$ sudo make clean

cd hal/OUTSRC/ ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko
cd hal/OUTSRC/ ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko 
cd hal/led ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
cd hal ; rm -fr */*/*.mod.c */*/*.mod */*/*.o */*/.*.cmd */*/*.ko
cd hal ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko
cd hal ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
cd core/efuse ; rm -fr *.mod.c …
Run Code Online (Sandbox Code Playgroud)

wireless make drivers

4
推荐指数
1
解决办法
2万
查看次数