gvim syntastic Error: Module XXX cannot read file 'file\etc\etc' - vim

I have a set of libraries that live in another folder and syntastic is trying to look for this libraries in the same folder where program lives. For example, the program I have, let's call it, myprogr.d is in c:\programming\myprogr.d. There are libraries inside that program that are address as this
private import jic.libs.myLibs;
and this library exists in C:\D\Import\jic\libs\mylibs.d. When I compile this program, I pass -IC:\D\Import option to the compiler whom finds the entry point for the mentioned library and continues one without a problem. How can I make Syntastic not give me this error?

Related

How to discover the Paths to Loading Binaries

I have a problem where I need to know the filesystem path of the current binary, as well as those of any loading (as opposed to loaded) binaries. Here is an example (for Windows): Say we have an executable A.exe, which dynamically binds to B.dll, which in turn binds to C.dll. How could code executing in C.dll get the file paths of C.dll, B.dll, and A.exe?
Oh, and I need to be able to do it on Linux, Mac, and Windows.
On Linux, the closest thing I've found is dl_iterate_phdr, but the who-loaded-who info is missing.
On Windows, The Dynamic-Link functions don't have quite the right functionality.
On Mac, all I can find is what's in dlfcn.h, which is rather pithy for this purpose.
Thanks.

ByteCodeLink error with GHCi and C file

When I run my file using a foreign import for a C function I made, I get this error.
ByteCodeLink: can't find label
During interactive linking, GHCi couldn't find the following symbol:
richards
This may be due to you not asking GHCi to load extra object files,
archives or DLLs needed by your current session. Restart GHCi, specifying
the missing library using the -L/path/to/object/dir and -lmissinglibname
flags, or simply by naming the relevant files on the GHCi command line.
Alternatively, this link failure might indicate a bug in GHCi.
If you suspect the latter, please send a bug report to:
glasgow-haskell-bugs#haskell.org
After creating a .cabal file and loading it in GHCi from there, I still get this error.
Any ideas?

How do you specify include directory path in F#?

I am using F# in Visual Studio 2012 and this may seem like a dumb question but I cannot figure out how to specify include directories, specifically for binaries. I see how to do it for F# interactive using the #I directive and it works there, but the #I option is not available in the non-interactive form. The compiler error message says to use the -I compiler option. I have looked under Project Properties, where the only subsections visible are Application, Build, Build Events, Debug, and Reference Paths none of which provides any obivous way to specify an include directory path. The help system isnt much help as it seems to reference sections that are unavailable.
Well i still have the problem with VS12 but at least i have a workaround, by calling the compiler from the command line. You have to use the -r option to specify the location of the dll:
fsc -r:<complete path to dll> <fname>
However when i try the corresponding step in VS (by trying to set one of the Reference Paths) it says there are no items found in the DLL folder. So perhaps someone familiar with CS can help out

Issue with Qt dynamic library in Linux

I built an application based on QuickFIX Engine in Qt, named fixapp; it works fine. My broker asked me to specify a local port to connect to them. Then I couldn't find such configuration file, so I modified the source code of QuickFix.
I used the examples of tradeclient and executor brought by QuickFIX source code to test. This works. tradeclient binds to a local port I specified in configuration file.
However, when I turn to fixapp, using the library built by the modified QuickFIX source code, it doesn't bind to the local port I specified. It seems that the part I modified didn't change the behavior of the program.
What are the potential problems here?
Update:
I tried to set some breakpoints in QuickFix source code. In one cpp file I modified, my breakpoint is ignored. It is Debug Mode, not release mode. I feel like that it is running the old cpp file and showing the new cpp file.
The asker found that quickfix library path is .../quickfix/lib, and the path I reference to the external lib in fixapp is also .../quickfix/lib. However when he checked the library path in /usr/lib, the library is still the old one. Once he replaced the one in /usr/lib, the fixapp started to work. He doesn't know why the path he referenced in Qt doesn't work but the /usr/lib works.

How to load all symbol-files recursively from given path including subdirectories?

You can point a single symbol file to gdb with command the:
symbol-file /usr/lib/debug/symbolfile.so
But how to tell gdb to load all symbol-files from given path including subdirectories?
On a Linux system, you should never have to use symbol-file GDB command in the first place.
The trick is to prepare your binaries in such a way that GDB will find the symbol file automatically. This is surprisingly easy to do. Detailed instructions are here.
Use following command:
set solib-search-path path
The solution is to add-symbol-file. For instance, if symbol file is called lib.out:
add-symbol-file lib.out 0
This is particularly useful on embedded system where application developers use a library stored in ROM. The debugger needs the symbol file to reconstruct the stack if execution stops in the middle of a library function call.
This works even if the library was generated on a separate system to which the developers have no access.

Resources