Ocra: error while loading shared libraries - ruby

I'm tweaking a project written in Ruby. I don't want the consumers of the tool having to install anything (such as Ruby itself) so I'm trying to compile the script into an exe file using ocra. However the compiled exe file fails with this error:
error while loading shared libraries: ?: cannot open shared object file: No such file or directory
I tried using --add-all-core and --gem-full as those options looked like something that could help adding any missing libraries but it didn't help. How can I fix this?
Note: I've never worked with Ruby before so please try to be a bit more specific with the reply than you would for an experienced Ruby developer.

The issue is that --add-all-core doesn't work correctly. Had to use these:
--dll "ruby_builtin_dlls\libssp-0.dll" \
--dll "ruby_builtin_dlls\libgmp-10.dll" \
--dll "ruby_builtin_dlls\libgcc_s_seh-1.dll" \
--dll "ruby_builtin_dlls\libwinpthread-1.dll" \

Related

What makefile should I use to build a gtk-3-examples application?

I'm not really experienced with graphics programming, but I got curious. I installed both libgtk-3-dev and gtk-3-examples on my Debian 10.7 machine. From there I listed the example package files using dpkg-query -L gtk-3-examples to find some example programs.
In the examples directory I found the following README file:
== Building the examples ==
The examples in this directory are built alongside the rest of GTK+.
The examples under the `application[1-10]` directories are also included in
the GTK+ API reference documentation, and can be built independently, using
the system libraries, by doing:
$ cd application1
$ make -f Makefile.example
Looks straight forward. However, following the directions exactly yields the following result:
make: Makefile.example: No such file or directory
make: *** No rule to make target 'Makefile.example'. Stop.
There are no "Makefile.example" files in the application folders. Running find -name "Makefile*" in the examples directory yields:
./application7/Makefile.in.gz
./application7/Makefile.am
./Makefile.in.gz
./application5/Makefile.in.gz
./application5/Makefile.am
./bp/Makefile.in.gz
./bp/Makefile.am
./application9/Makefile.in.gz
./application9/Makefile.am
./application6/Makefile.in.gz
./application6/Makefile.am
./application2/Makefile.in.gz
./application2/Makefile.am
./application10/Makefile.in.gz
./application10/Makefile.am
./application3/Makefile.in.gz
./application3/Makefile.am
./application1/Makefile.in.gz
./application1/Makefile.am
./application8/Makefile.in.gz
./application8/Makefile.am
./application4/Makefile.in.gz
./application4/Makefile.am
./Makefile.am
I've not had any luck building an example program using the above files. I'm guessing it is because of my unfamiliarity with auto tools? Is there an easy way to build an example GTK program using the above files or do I need know a lot more about make/autotools/configure to get a working example running?
Update:
The cant-run-makefile-am-what-should-i-do post is informative but does not provide a course of action when no configure, bootstrap, or autogen programs can be found within the package. The following command yields no results when executed in my examples directory: find -type f | grep -i -E "*conf*|*auto*|*boot*". I need one of those files to be provided in order to have a successful build (as far as I understand it anyway).
Sorry for the fuss! I'm used to installing regular packages and missed that I needed to download the full source code to get the examples working. So, originally I mentioned that I installed both libgtk-3-dev and gtk-3-examples. I did so using apt-get install libgtk-3-dev && apt-get install gtk-3-examples.
However, to build GTK along with its examples locally it looks like what you want to do is get the source package archive with apt-get source gtk-3-examples (or similar.. I think it actually picked a different meta-package for me when I ran that command).
Then, in my new gtk+3.0-3.24.5 directory there's a nice configure binary that I can run (with subsequent make and make install commands) which produce many files including example program binaries.
So with ./gtk+3.0-3.24.5/examples/application1/exampleapp I get a running example. Voila!

How to run/install wkhtmltopdf in php-buildpack (Cloud Foundry)

i want to use wkhtmltopdf in my php application.
therefor i added wkhtmltopdf to my apt.yml file and hoped that everything will work...
...unfortunately, it doesn't.
everytime i run wkhtmltopdf google.ch output.pdf i get the following error:
wkhtmltopdf: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
does anybody know how to setup wkthtmltopdf correct in the php-builtpack of cloud foundry?
Two possibilities:
You are missing shared libraries dependencies. You'll need to add those to apt.yml so they get installed as well. It looks like libgl1-mesa-dev might be what you're missing. There could be others though. If you run ldd wkthtmltopdf, you can see a list of all the dependencies & what's missing.
The dependencies are installed, but they're not found when you try to run wkthtmltopdf. If you're running cf ssh to go into an app container so you can run wkthtmltopdf this might be the issue. Try running cf ssh "<app-name>" -t -c "/tmp/lifecycle/launcher /home/vcap/app bash ''" instead. Otherwise, you need to manually source the .profile.d/* scripts. Buildpacks set env variables in these scripts and they often indicate where shared libraries can be loaded.
Hope that helps!

Issues seen during compilation of Net::SSLeay on linux and windows

We have downloaded Net::SSLeay module source from cpan and would like to compile it locally and use it. We are facing issues in two situations.
We need your suggestions on couple of items:
1) We need to use Net::SSLeay module. We have compiled it on Linux x86_64 box using the following statements:
perl Makefile.PL INC=-I”/include" LIBS=-L” /lib"
This generates a Makefile which doesn’t seem to use –lcrypto option. I want to use this option since we are seeing the following error at the runtime:
undefined symbol: X509_EXTENSION_free
From the below link, it appears that we need to include –lcrypto option. Please help us how to include this option. I tried looking into Makefile.pl but could not understand much since I am new to this Makefile.
http://w3facility.org/question/what-is-undefined-symbol-x509_extension_free/
2) Secondly, while building on Windows, we need to include openssl_path, but INC= and LIBS= doesn’t seem to work. Openssl libraries are already present in a local directory. Please let us know how to include the path with the #perl Makefile.pl option.
Your suggestions will be very much appreciated.
I don't know if it may help you, but I had a similar issue with Net::SSLeay when trying to install LWP::Protocol::https (in my custom path /root/perl):
debian:~# apt-get install libssl-dev
debian:~# /root/perl/bin/perl -e "use LWP::Protocol::https"
Can't load '/root/perl/lib/site_perl/5.14.2/armv5tejl-linux/auto/Net/SSLeay/SSLeay.so' for module Net::SSLeay: /root/perl/lib/site_perl/5.14.2/armv5tejl-linux/auto/Net/SSLeay/SSLeay.so: undefined symbol: X509_EXTENSION_free at /root/perl/lib/5.14.2/armv5tejl-linux/DynaLoader.pm line 190.
As suggested HERE, I solved by manually compiling Net-SSLeay-1.74 in this way:
debian:~/.cpan/build/Net-SSLeay-1.74-Zaf3oe# perl Makefile.PL LIBS="-L/root/perl/lib -lssl -lcrypto -lcrypt3" INC="-I/root/perl/include"
debian:~/.cpan/build/Net-SSLeay-1.74-Zaf3oe# make
debian:~/.cpan/build/Net-SSLeay-1.74-Zaf3oe# make install
Then it works correctly:
debian:~# /root/perl/bin/perl -e "use LWP::Protocol::https"
debian:~#

Abiword on heroku

I am trying to install abiword on heroku, by wrapping it in a ruby gem.
I statically compiled a 64 bit binary for abiword using the following commands
$ ./configure --enable-shared=no --enable-static=yes
$ make
I then take the abiword binary from the above compile and place it in my ruby gem directory structure and build it.
I subsequently pushed this gem to github.
Now I try to install it on heroku.
The install works fine.
When I try to run the line of code that calls abiword raises the following error
/app/.bundle/gems/ruby/1.9.1/bundler/gems/abiword-8f24c3c3c8ef/bin/abiword: error while loading shared libraries: libfribidi.so.0: cannot open shared object file: No such file or directory
Now why is it trying to find a shared library. Should it not have a static copy of this library to work with.
Any ideas what I may be doing wrong.
Any help appreciated.
Couldn;t make it work. So I moved all my code to AWS EC2 directly ( bypassing heroku )

Can't get Qt to find the debugging helper

This is sort of a followup to this thread--unfortunately I didn't make any progress at the time so I thought I would start over. I am consistently getting this in the debugging log (QtCreator 2.3.1, Qt 4.7.3, gdb 7.2):
A syntax error in expression, near 0'.\n"
295^error,msg="A syntax error in expression, near0'."
&"Python scripting is not supported in this copy of GDB.\n"
296^error,msg="Python scripting is not supported in this copy of GDB."
&"Python scripting is not supported in this copy of GDB.\n"
297^error,msg="Python scripting is not supported in this copy of GDB."
&"Python scripting is not supported in this copy of GDB.\n"
298^error,msg="Python scripting is not supported in this copy of GDB."
&"Undefined command: \"bbsetup\". Try \"help\".\n"
299^error,msg="Undefined command: \"bbsetup\". Try \"help\"."
dThe debugging helper library was not found at .
&"source /home/matt/QtSDK-4.7.3/pythongdb/gdb\n"
&"/home/matt/QtSDK-4.7.3/pythongdb/gdb:1: Error in sourced command file:\n"
&"Undefined command: \"\". Try \"help\".\n"
300^error,msg="/home/matt/QtSDK-4.7.3/pythongdb/gdb:1: Error in sourced command file:\nUndefined command: \"\". Try \"help\"."
&"Undefined command: \"bbsetup\". Try \"help\".\n"
301^error,msg="Undefined command: \"bbsetup\". Try \"help\"."
dThe debugging helper library was not found at .
302^done
<303set substitute-path /var/tmp/qt-src /usr/include
The specific problem is that without the debugging helper, I'm unable to see the contents of QStrings and many other data structures during the debugging process, which makes it much more time-consuming. The error messages above are symptomatic, the problem arises when gdb can't find the debugging helper.
Anyway, looking at the discussion referenced in the answer in the above thread, I hunted around for different versions of gdb on my system but each one of them produced the same error (with the path changed appropriately of course), including version 7.3.1 when I downloaded it. I've also located libDebuggingHelper.so, but sticking it in different places hasn't helped either. Lastly looking at ./configure --help for gdb, I didn't see any options for enabling/disabling python in the build. Anybody know how I can get this to work?
This site claims you need to configure GDB using
./configure --with-python
It's pretty clear from the error message that the GDB you built does not have python support compiled in.
In gdb/config.log look for messages like checking whether to use python and see why GDB decided to not use Python on your system.
Perhaps you need to install Python development packages?
Once you've configured GDB to use Python, an easy way to check whether Python support is properly compiled in is:
(gdb) python print "hello"
If that prints anything other than hello, you are still not where you want to be.
I solved the problem with
sudo apt-get install gdb-multiarch
Thanks to #Employed-Russian for allowing me to check if GDB indeed has python support.
I did have to use the syntax
(gdb) python print("Hello")
To get a proper response from python within GDB.

Resources