草庐IT

first_open

全部标签

ruby - sqlite3_open_v2 错误

打开服务器(railss)后,浏览到远程链接时收到错误消息。然后:/usr/bin/ruby:符号查找错误:/usr/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.4/lib/sqlite3/sqlite3_native.so:undefinedsymbol:sqlite3_open_v2尝试安装sqlite3gem/downgrade但没有解决问题。我做错了什么? 最佳答案 这周我遇到了这个错误,并通过将sqlite库的路径添加到LD_LIBRARY_PATH解决了这个问题:这是路径[/usr/loca

ruby - sqlite3_open_v2 错误

打开服务器(railss)后,浏览到远程链接时收到错误消息。然后:/usr/bin/ruby:符号查找错误:/usr/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.4/lib/sqlite3/sqlite3_native.so:undefinedsymbol:sqlite3_open_v2尝试安装sqlite3gem/downgrade但没有解决问题。我做错了什么? 最佳答案 这周我遇到了这个错误,并通过将sqlite库的路径添加到LD_LIBRARY_PATH解决了这个问题:这是路径[/usr/loca

linux - dlopen 失败 : cannot open shared object file: No such file or directory

问题是我使用dlopen加载库(.so是我写的,不是系统库),但是我得到了标题中显示的错误。我已经包含了dlfcn.h在编译器中,我使用了-ldl命令我想加载的只是源代码文件夹,我尝试添加-L.,但没有成功。 最佳答案 找出代码哪里出错的最残酷和有效的方法是以下命令,它将激活共享库的Debug模式并记录在案here:exportLD_DEBUG=libs然后,您会惊讶地弹出这么多信息。别担心,这些信息会告诉您刚刚键入的命令需要哪些共享库,以及在哪里可以找到这些需要的库。例如,如果您键入reset,屏幕将被重置,然后有关共享库的信息r

linux - dlopen 失败 : cannot open shared object file: No such file or directory

问题是我使用dlopen加载库(.so是我写的,不是系统库),但是我得到了标题中显示的错误。我已经包含了dlfcn.h在编译器中,我使用了-ldl命令我想加载的只是源代码文件夹,我尝试添加-L.,但没有成功。 最佳答案 找出代码哪里出错的最残酷和有效的方法是以下命令,它将激活共享库的Debug模式并记录在案here:exportLD_DEBUG=libs然后,您会惊讶地弹出这么多信息。别担心,这些信息会告诉您刚刚键入的命令需要哪些共享库,以及在哪里可以找到这些需要的库。例如,如果您键入reset,屏幕将被重置,然后有关共享库的信息r

c - open() 上的 Hook 导致的段错误

我正在尝试在系统函数open()上创建一个Hook。我是按照以下思路完成的。我用以下内容创建了一个包装器库:externintmocked_open(constchar*fn,intflags,va_listargs);intopen(constchar*fn,intflags,...){intr=-1;va_listargs;va_start(args,flags);r=mocked_open(fn,flags,args);va_end(args);returnr;}我将它编译成libwrapper.so,然后使用LD_PRELOAD加载它。mocked_open()的实现如下(我使

c - open() 上的 Hook 导致的段错误

我正在尝试在系统函数open()上创建一个Hook。我是按照以下思路完成的。我用以下内容创建了一个包装器库:externintmocked_open(constchar*fn,intflags,va_listargs);intopen(constchar*fn,intflags,...){intr=-1;va_listargs;va_start(args,flags);r=mocked_open(fn,flags,args);va_end(args);returnr;}我将它编译成libwrapper.so,然后使用LD_PRELOAD加载它。mocked_open()的实现如下(我使

c - Linux 内核:来自 "open"系统调用的 printk 不起作用

我有疑问。我打开了内核,我更改了目录linux-3.1.1/fs/open.c我更改了open.c中的以下代码。SYSCALL_DEFINE3(open,constchar__user*,filename,int,flags,int,mode){longret;printk(KERN_EMERG"Testing\n");...}我只放了这一行:printk(KERN_EMERG"Testing");我还包括库:和所以我编译并重新启动了我的linux(Ubuntu)。在重新启动期间,屏幕上出现了很多“测试”。所以到现在为止没问题。但是现在我遇到了一个问题。我用c创建了这个程序。intma

c - Linux 内核:来自 "open"系统调用的 printk 不起作用

我有疑问。我打开了内核,我更改了目录linux-3.1.1/fs/open.c我更改了open.c中的以下代码。SYSCALL_DEFINE3(open,constchar__user*,filename,int,flags,int,mode){longret;printk(KERN_EMERG"Testing\n");...}我只放了这一行:printk(KERN_EMERG"Testing");我还包括库:和所以我编译并重新启动了我的linux(Ubuntu)。在重新启动期间,屏幕上出现了很多“测试”。所以到现在为止没问题。但是现在我遇到了一个问题。我用c创建了这个程序。intma

c++ - gdb 说 "cannot open shared object file"

我有一个二进制文件和一个共享库。共享库编译为:all:g++-g-shared-fpic$(SOURCES)-olibmisc.so二进制文件编译为:LIBS=-L../../misc/srcLDFLAGS=-lmiscall:g++-g-omainx$(INCLUDE)$(SOURCE)$(LIBS)$(LDFLAGS)我设置在~/.bashrcexportLD_LIBRARY_PATH=/mnt/sda5/Programming/misc/src/到libmisc.so输出路径。从控制台调试工作正常:gdbmainx但是在Emacs22中,启动gdb失败并显示以下消息:Starti

c++ - gdb 说 "cannot open shared object file"

我有一个二进制文件和一个共享库。共享库编译为:all:g++-g-shared-fpic$(SOURCES)-olibmisc.so二进制文件编译为:LIBS=-L../../misc/srcLDFLAGS=-lmiscall:g++-g-omainx$(INCLUDE)$(SOURCE)$(LIBS)$(LDFLAGS)我设置在~/.bashrcexportLD_LIBRARY_PATH=/mnt/sda5/Programming/misc/src/到libmisc.so输出路径。从控制台调试工作正常:gdbmainx但是在Emacs22中,启动gdb失败并显示以下消息:Starti