我在给几个程序打包,以便部署
源代码在: http://gentoo-pkgs.realtimeweather.info/splib/splib-2.0.2.tar
编译的脚本是: http://gentoo-pkgs.realtimeweather.info/make.sh
配置的环境变量是: export FC="gfortran" ; export FFLAGS="-O2 -pipe -fno-openmp" 或者 export FFLAGS="-O2 -pipe"
(对于-fno-openmp参数的确认参见 http://gcc.gnu.org/ml/gcc/2009-06/msg00013.html )
预期结果是:编译得到的 libsp_4.so 等没有 openmp 相关函数
实际结果是:编译得到的库文件包含了 omp_get_num_threads_ 、 omp_get_thread_num_ 两个引用
[Fortran] 纯文本查看 复制代码 8: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND omp_get_num_threads_
20: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND omp_get_thread_num_
两个FFLAGS产生的库文件均带有对openmp的引用
此外,http://gentoo-pkgs.realtimeweather.info/splib/splib-1.tar 的代码并不会出现这样的问题
问题:应该如何去除对这两个符号的引用?
gcc版本为:4.7.3
gcc -v 输出如下:
[Shell] 纯文本查看 复制代码 Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.3/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.7.3/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/gcc-4.7.3/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.3 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.3 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.3/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.3/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.7.3/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --disable-nls --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.7.3-r1 p1.4, pie-0.5.5' --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib --with-multilib-list=m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --enable-lto --without-cloog --without-ppl
Thread model: posix
gcc version 4.7.3 (Gentoo 4.7.3-r1 p1.4, pie-0.5.5)
|