I am getting this error:
Error in invoking target 'client_sharedlib' of makefile '/u01/app/oracle/product/12.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk'.
Looking in the make.log, I see this error:
/usr/bin/ld: cannot find /usr/lib64/libpthread_nonshared.a
Doing: locate libpthread_nonshared, I get this response:
/home/romio/libpthread_nonshared.a
/usr/lib/x86_64-linux-gnu/libpthread_nonshared.a
which I guess means that the relevant lib is already on my computer.
But I don't know how to proceed from here. How do I tell the program to look the place with the library is? I come from Windows, so I'm yet very weak with Linux. I am running on Ubuntu 16.04
And I guess moving the package to the location oracle is searching must be a bad idea, since there might be other programs that use the package in its current location?
You are using an unsupported linux distribution. You are pretty much on your own. I'd suggest to use a supported linux distribution.
Related
After rebooting my dev machine, my Rust project stopped running on macOS. The error message is:
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /usr/local/lib/libJPEG.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
I have absolutely no idea what changed and caused this. The problem seems to be with my rig, not with the code, since it runs fine on a Docker container, and the older commits refuse to run on my computer. Another thing is that my project shouldn't be using any image-processing libraries. (And I don't know how to list transitive dynamic dependencies on macOS to check whether it really does.)
otool -L /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO reveals that ImageIO links to /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib (compatibility version 1.0.0, current version 1.0.0). That file exists indeed. /usr/local/lib/libjpeg.dylib (My FS is case-insensitive) exists too, but it's a symlink to a homebrewed file ../Cellar/jpeg/8d/lib/libjpeg.dylib, so clearly the system library shouldn't use that. However, I have not set LD_LIBRARY_PATH or any other env var that – as far as I know – should coerce macOS to use /usr/local/lib as a dylib search path.
So my questions are:
1) Is there a tool on macOS to check, which libraries in my project link (possibly transitively) to the ImageIO.framework?
2) How are dylib search paths configured on macOS? Is there a tool to check which paths are searched and in which preference order? The problem itself might be due to some Homebrew problem, but I'd like to have the tools to diagnose and understand it.
I still don't know a good answer for 1).
For 2) the answer can be found from the Apple docs. This page lists all the env vars that affect dylib loading and their default values: https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/dyld.1.html
For the mystery, why the wrong path was attempted to be loaded: although my environment didn't have any funny variables set, my build tool (cargo run) set DYLD_LIBRARY_PATH before running the binaries. This is because of the behaviour (not sure if bug) explained here: https://github.com/sgrif/pq-sys/commit/3ad9f7b77a6c4f50d5d7277bce05c836a62a4398
I am getting the below error message while executing my Perl script.
Below is the error message that I am getting while compiling my scripts.
install_driver(Oracle) failed: Can't load '/xxx/usr/local/lib/perl5/site_perl/5.10.0/sun4-solaris/auto/DBD/Oracle/Oracle.so'
for module DBD::Oracle: ld.so.1: perl: fatal: libclntsh.so.10.1: open failed: No such file or directory at
/xxx/usr/local/lib/perl5/5.10.0/sun4-solaris/DynaLoader.pm line 203.
at (eval 99) line 3
Compilation failed in require at (eval 99) line 3.
Perhaps a required shared library or dll isn't installed where expected
at /xxx/xxxx/xxxx/xxxx/XXXX/CommonOracle.pm line 71
Recently Oracle have been upgraded from 10.2 to 11.0 in my system. Please help me to fix the issue? I am not the administrator of my system. Do i need to change LD_LIBRARRY_PATH? I am using Solaris OS.
You seem to have forgotten to ask a question. Let's assume it's "how can I fix this?"
Communicating with a database requires a number of things to be installed on your system.
You need the client libraries for the database system that you're using. This will be shared object (.so) files that are probably somewhere under /usr/lib.
You will need the Perl Database driver for your database engine (in your case, this is DBD::Oracle). If you install this by building it from scratch (as the cpan or cpanm commands do) then you'll almost certainly also need the development version of the above-mentioned client libraries. If you're installing pre-built binary versions (.rpm or .apt on Linux - I don't know the equivalent for Solaris) then you won't need these.
You will need the Perl DBI library.
It looks to me like DBD::Oracle is installed. And that means that DBI will be installed as well. But DBD::Oracle is having trouble finding the client libraries. This is surprising as they will hae been needed to install DBD::Oracle.
So, I suspect that either the Oracle client libraries are no longer installed or they are installed, but not in the place where DBD::Oracle is looking for them.
How was DBD::Oracle installed? Do you have a log of that installation that you can inspect for errors?
The issue has been resolved. The lib file "libclntsh.so.10.1" was missing in the library path. I have copied the file and the issue was resolved
I've been trying to install hmatrix on my (64-bit) Windows 10 computer; after searching through and trying many possible solutions (including the instructions under "Windows" and "Alternative Windows Build" given here), I decided to pursue the course of action given on this Reddit thread.
However, when I type in the command
cabal install hmatrix -fopenblas --extra-lib-dir=${c:\msys64\mingw64\bin} --extra-include-dir=${c:\msys64\mingw64\include}
into the MSYS2 shell, the following log is given:
Resolving dependencies...
Configuring hmatrix-0.17.0.2...
Failed to install hmatrix-0.17.0.2
Build log ( C:\Users\Christian\AppData\Roaming\cabal\logs\hmatrix-0.17.0.2.log ):
Configuring hmatrix-0.17.0.2...
cabal.exe: Missing dependency on a foreign library:
* Missing C library: libopenblas
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.
cabal: Leaving directory 'C:\msys64\tmp\cabal-tmp-4244\hmatrix-0.17.0.2'
cabal.exe: Error: some packages failed to install:
hmatrix-0.17.0.2 failed during the configure step. The exception was:
ExitFailure 1
However, when I check the directory c:\msys64\mingw64\bin, I see that libopenblas.dll is right there; I don't know why cabal can't seem to find it.
Any insight into why this is not working or what to do?
UPDATE:
The files libopenblas.dll.a and libopenblas.a are in the directory c:\msys64\mingw64\lib. Is it possible I need to somehow include this directory as well? (If I do, how would I do that?)
I also downloaded the files in Alex Vorobiev's comment below and put them in c:\msys64\mingw64\bin if they are .dlls or c:\msys64\mingw64\lib if they are .libs. The header files were already contained in c:\msys64\include\openblas.
I tried several variations on the command in the original post after making these changes, including switching \bin with \lib and switching \include with \include\openblas, but all of them still give the same error.
I'm a bit suspicious about the
if os(windows)
if flag(openblas)
extra-libraries: libopenblas
in the cabal file, could you unpack it and remove the "lib" part? If that doesn't work please post a log with -v3 output. I've seen quite a few people with troubles installing this package. So could you also open a ticket on the GHC bug tracker if this doesn't work (and CC me "Phyx-")?
Secondly, you never said which version of GHC you're using. 8.0.1 should have far less trouble (and won't need the hack to get it working in GHCi) since the runtime linker has been overhauled and should be much better on Windows. 8.0.2 will likely include the new import libraries support as well.
I have been looking for some good documentation on how to get Standard ML running on windows. Does anyone have a good guide on this?
I have tried compiling sml/nj in cygwin, using this guide: http://www.smlnj.org/install/index.html
$ config/install.sh
config/install.sh: Using shell /bin/sh.
config/install.sh: SML root is /usr/local/sml.
config/install.sh: Installation directory is /usr/local/sml.
config/install.sh: Installing version 110.74.
config/install.sh: URL of source archive is http://smlnj.cs.uchicago.edu/dist/working/110.74/.
config/install.sh: Script /usr/local/sml/bin/.arch-n-opsys reports ARCH=x86; OPSYS=win32; HEAP_SUFFIX=x86-win32.
/usr/local/sml/config/unpack: The run-time tree already exists.
config/install.sh: Compiling the run-time system.
(nmake /Fmakefile.win32 MAKE="nmake /Fmakefile.win32" RUNTIME="run.x86-win32.exe" VERSION="v-x86-win32" CC="cl" CFLAGS="/Zi" CPP="cl /E /EP" TARGET=X86 DEFS=" /DHOST_X86 /DTARGET_X86 /DOPSYS_WIN32 /DVREGS /DINDIRECT_CFUNC /DDLOPEN" XOBJS="" XLIBS="" LD_LIBS="" XCLIBS="" run.x86-win32.exe)
make: -c: Command not found
mk.x86-win32:26: recipe for target `all' failed
make: *** [all] Error 127
config/install.sh: !!! Run-time system build failed for some reason.
Any suggestions would be appreciated.
Moscow ML (MosML) works out of the box on Windows (No need for cygwin). You can either download a zip-file or a self-extracting installer.
The website also contains a fairly good documentation (good for some of the MosML specific parts) and links to other good references.
Regarding your issue, the guide you refer to doesn't mention compiling sml/nj on windows. Just by using cygwin doesn't make it "linux" (cygwin has quite some quirks).
The source contains some notes on how to install (and compile) on cygwin. Note if you are using an older version of sml/nj, then it is not necessarily compatible with cygwin.
On a side note. There exists a msi installer for windows, why not use that?
It has become a running gag in the long history of Standard ML that its best implementation is hardly known: Poly/ML.
The releases at Github also include MSIs for Windows.
If you are looking for a quick and dirty implementation you might want to try Cambridge ML. We use it for teaching undergraduates ML here in Cambridge. Not the best option for large scale development but adequate for teaching the basics of the language.
I have windows Vista 64 bit. I installed the latest Haskell Platform today (which ghc --version says 7.0.4). I installed the latest cygwin.
I ran cabal install plugins, it had minor issues (I didn't specify prefix path as I should have and there was a missing import in Env.hs), so I cabal expand'ed fixed... it installed.
I run a simple example (specifically this one and I get this error:
Main.exe: user error (loadShared: couldn't load `m' because addDLL: could not load DLL)
Any ideas on how to resolve it?
Oh, and the example works fine on Linux (Ubuntu) GHC 7.0.3, so it's either a Windows for 7.0.4 specific issue.
When it's trying to load libraries, when it looks up the dlls for the integer-gmp package for it receives ["m", "wsock32"]. So the error is caused by it trying to load a dll "m", which apparently doesn't exist. I'm guessing this is a bug somewhere.
After bypassing that, I was able to get further. As Stephen Tetley mentioned, there is another bug about getting an HscEnv. Following that rabit trail, I was able to bypass that. Now, I'm at this error:
Main.exe: Plug.dll.a: Not x86 PEi386
Main.exe: user error (Could not load module `Plug.dll.a')
But I'll mark this question as answered since the specific error I mention in the question is because of what appears to be a bug somewhere in ghc or something.