LaunchControl在脚本中调用时编译器的不同行为

时间:2015-06-15 10:59:39

标签: bash fortran automated-tests sh gfortran

我正在尝试通过

自动编译和测试代码
  1. 从存储库中检出,
  2. 编译,
  3. 运行多个测试用例
  4. 使用LaunchControl每天午夜调用的脚本。我正在OS X 10.10.3上使用gfortran(gcc版本4.9.2 20141029)进行编译并使用bash。我遇到的问题是我收到了像

    这样的消息
    gfortran: warning: couldn't understand kern.osversion '14.3.0
    ld: library not found for -lcrt1.o
    
    当我以交互方式运行相同的脚本时, 得到。我尝试过采购我的.profile.bashrc文件以确保环境和变量应该相同,但这没有任何效果。特别是,当我以交互方式或通过LaunchControl运行时LD_LIBRARY_PATH设置相同的方式似乎没有任何区别。

    我在LaunchControl中以User Agents运行脚本。

    我做错了什么?

    编辑:以下是LaunchControl调用的精简脚本:

    #!/bin/bash
    FILENAME="/tmp/out.txt"
    /Users/xxx/scripts/script1.sh > $FILENAME 2>&1
    

    这里是script1.sh

    #!/bin/bash
    cd /tmp/build-test/src
    make clean
    make
    

    编辑2:这是makefile的精简版本:

    SHELL= /bin/bash
    EXEC= main
    FC= gfortran
    FFLAGS= -O3
    LINKER= gfortran
    
    SRCF90= file1.f90 file2.f90
    
    %.o: %.f90
            $(FC) $(FFLAGS) -c $< -o $@
    OBJF90= $(SRCF90:.f90=.o)
    
    $(EXEC): $(OBJF90)
            $(LINKER) $(OBJF90) -o $@
    

0 个答案:

没有答案