我已经成功地在Linux x86_x64上构建了几个32位的静态和共享库,现在我试图将它们链接到一个可执行文件,并得到以下错误:
/usr/bin/ld: foo.so: __moddi3: invalid version 21 (max 0)
foo.so: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
其中foo.so是我构建的共享库之一。
__moddi3函数是的一部分。它的签署是:
— Runtime Function: long __moddi3 (long a, long b)
我正在尝试在Linux系统上安装VirtualBox。当运行安装程序时,我遇到一个错误,因为这个系统上没有bzip2:
# bash -i VirtualBox-5.2.16-123759-Linux_x86.run
Verifying archive integrity... All good.
Uncompressing VirtualBox for Linux installation.............
VirtualBox Version 5.2.16 r123759 (2018-07-16T15:17:42Z) installer
Removing previous ins
误差
Warning: oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that LD_LIBRARY_PATH includes the directory with Oracle Instant Client libraries in
Warning: oci_connect(): Error while trying to retrieve text for error ORA-01804
apache php oracle安装方法
1.
在Linux/macOS上使用CMake的时,默认情况下它会为共享库生成类似的内容:
# ifndef SOMELIB_EXPORT
# ifdef somelib_EXPORTS
/* We are building this library */
# define SOMELIB_EXPORT __attribute__((visibility("default")))
# else
/* We are using this library */
# define SOMELIB_EXPORT __attri
[poster@localhost lib]$ ldd libavfilter.so
linux-vdso.so.1 => (0x00007ffc6bbd0000)
libswscale.so.4 => not found
libpostproc.so.54 => not found
libavformat.so.57 => not found
libavcodec.so.57 => not found
libswresample.so.2 => not found
libavutil.so.55 =
我在我的ubuntu10.10主机上编译了gcc,并将其安装在/c上。我可以在那台主机上很好地编译c和c++程序,但当我将/c (包含bin、libexec等)复制到ubuntu10.04.2主机上时,我得到:
/c/libexec/gcc/i686-pc-linux-gnu/4.5.2/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory
编译简单的.c文件时。
我还从源代码安装并编译了gmp、mpfr和mpc (与我在
我确实安装了ta-lib和导出路径没有帮助..
~$ export LD_LIBRARY_PATH=$usr/local/lib:$LD_LIBRARY_PATH
~$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import talib
/usr/lib/p
在尝试将jprofiler附加到容器内的zulu jvm时,我看到了以下错误。
错误:
Error loading shared library libstdc++.so.6: No such file or directory (needed by
传递的JVM参数:
-agentpath:/data/jprofiler11.0.2/bin/linux-x86/libjprofilerti.so=port=8849,nowait
我正在Ubuntu14.04.5上构建一个动态库,这取决于一些静态库(Boost和OpenSSL)。
如果我在另一台Ubuntu机器上的项目中使用这个库,它将完美地工作。但是,如果我构建它并在一个拱形机器(Antergos)上的项目中使用它,那么在构建过程中它会这样说:
main.cpp.o: In function `init()':
main.cpp:(.text+0xf8): undefined reference to `Util::generateString[abi:cxx11](int)'
我正在用以下方法构建我的项目:
g++ -Ldeps -Ideps/inc
我正在试图找到导入外部符号的共享库。目前,我可以通过使用nm或许多替代方案(如使用radare2 )获得所有导入的符号。我还可以通过使用ldd获得二进制所依赖的库。但是,由于找不到有效的方法来获取二进制文件中的哪个外部符号依赖于哪个共享库,我就陷入了困境。因此,例如,如何找到一个共享库,它可以高效地导出名为foo或printf的函数或任何东西?我举一个例子:
Output of nm -D myfile
w __cxa_finalize
U foo
w __gmon_start__
我正在尝试用一组代码构建一个共享库,除了Makefile的这个问题之外,一切都正常。到目前为止,我的(简化的) Makefile如下:
OBJS = bar.o
libfoo.so: OS = LINUX # These don't seem to happen
libfoo.dll: OS = WINDOWS
# Linux
ifeq ($(OS), LINUX)
CC = gcc
...
# Windows
else ifeq ($(OS), WINDOWS)
CC = i686-pc-mingw32-gcc
...
endif
all: libfoo
我需要用Eclipse在Windows中创建一个可运行的jar,然后用Linux启动它
我在加载unsatisfiedLinkError时得到了一个OpenCv。我为Eclipse中的Linux计算机编辑了正确的库路径,并最终创建了一个可运行的jar。当我在linux中启动*.jar文件并获得以下错误时。
线程"main“中的异常:在java.lang.ClassLoader.loadLibrary(ClassLoader.java:1889) at java.lang.Runtime.loadLibrary0(Runtime.java:900) at java.lang.Syste
我有一些代码崩溃并产生了一个核心转储。当在GDB中打印时,它的顶部看起来是这样(更改了名称)。
#0 0x00007f66be37d428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007f66be37f02a in __GI_abort () at abort.c:89
#2 0x00007f66be9b784d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/l
我正在尝试使用。当通过pip天真地安装绑定时,会失败,这可能是由于安装的头文件和python绑定版本不匹配造成的。将通过pip安装完全相同的版本。但是,我的系统有gdal-1.7.3,没有1.7.3绑定。安装会导致编译成功,但是尝试运行会导致undefined symbol: GDALRasterBandGetVirtualMem。因此,并根据它编译了最新的绑定。编译和安装似乎有效,但导入不起作用:
In [2]: import osgeo
---------------------------------------------------------------------------
I