libjson-c.so.3 vs libjson-c.so.2 in Ubuntu - json

I am trying to run a C++ program developed on Ubuntu 18.04. It uses JSON-C shared library. It compiles and runs without any problem on my Ubuntu 18.04 system. However it compiles on a Ubuntu 14.04 system but crash upon running,
Reporting following message -
*** Error in `./main.out': corrupted size vs. prev_size: 0x00007fdd54f49e30 ***Aborted (core dumped)
After some digging I have found that something wrong with JSON-C library. I have checked the linked JSON-C libraries using ldd command.
It gave me following output in Ubuntu 18.04 -
libjson-c.so.3 => /lib/x86_64-linux-gnu/libjson-c.so.3 (0x00007ff16a88c000)
And following in Ubuntu 14.04 -
libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007f0848838000)
I guess something wrong with JSON-C versions. I couldn't found any useful information on google. Any ideas what sort of problem this is?

Ubuntu 18.04 LTS includes a newer version of the library "libjson-c3". Previous versions, including Ubuntu 16.04 LTS and 14.04 LTS have an older version "libjson-c2".
These versions are different enough that they're incompatible.
If you must run your code on 14.04, you'll need to scrutinize the libjson calls to figure out where these compatibilities are.
Alternatively, you could try to run your application on newer 18.04, and not worry about supporting 14.04

Related

WSL install invalid command line option

I want to install an Ubuntu image in WSL.
But, I get a error when running wsl --install:
Invalid command line option: --install
I am using windows 10 education, version 20H2 OS Build 19042.867.
You are attempting to work from Windows Insider documentation, which is not meant for the general public, and it says so. WSL/WSL2 is a fast-moving target.
Most people should use the Microsoft Store to install WSL / WSL2. Search for Ubuntu. Several choices will be displayed. Pick the one simply called Ubuntu, not Ubuntu 20.04 LTS or whatever. The Ubuntu package is kept current.
VSCode has current instructions for installing Ubuntu, then VSCode. You don't have to install VSCode.
Make sure you follow the official instructions:
https://learn.microsoft.com/windows/wsl/install
Crucial is the Windows version: For Windows 10, it should be version 2004 or higher (Build 19041 or higher). Windows 11 should work with all versions.
Older versions need to follow the manual installation procedure: https://learn.microsoft.com/en-us/windows/wsl/install-manual

has anyone gotten mysql working on ubuntu 18.10?

I upgraded to ubuntu 18.10 and when I installed mysql server and workstation, the workstation wouldn't connect. the service --status-all says that mysql is running. This was a clean install, and I installed it the same way on 18.04 which worked. My friend has the same issue from a clean install
Lot of developers are facing some sort of issues after upgrading to Ubuntu 18.10 including me. I would suggest either wait for the update when they fix the issues or downgrade to Ubuntu 18.04

how to Download MySQL-Proxy in linux 16.04 (LTS)

I'm running Ubuntu 16.04 LTS and I want to use Mysql-proxy.I want to download mysql-proxy by terminal with instruction and I have a ubuntu 16.04.
Any suggestions???
The mysql-proxy project seems to be abandoned since over 2 years which is the likely reason for its removal from the Xenial repositories. It's probably incompatible with newer MySQL releases.
The 3-years-old INSTALL notice recommends version 5.1.x while the Xenial repositories include MySQL 5.7 and no older release.
Anyway, you can try below link also.
https://www.howtoinstall.co/en/ubuntu/xenial/mysql-proxy

mysql installer fails to recognize python 3.4

I'm trying to istall mysql server on a windows 7 machine - that has python 3.4.3 installed. However, when trying to install the python connectors for 3.4, the installer fails to recognize the python installation, saying python 3.4 is not installed.
Has anyone solved this issue before? I'ts driving me nuts...
Just to add to the murkiness, I had the same error with current version of MySql install when attempting with python 3.5 installed (which is the latest python download). Long story short, I uninstalled python 3.5, installed python 3.4.4 (which interestingly didn't update PATH so I updated it manually) and reran installer and it found the python installation.
So my conclusion is the MySql installer is tied to certain versions of the add-on products which in this case meant specifically python 3.4
just in case anyone else has this issue in future. Look at what bit version you have for Python 3.4. When I installed 64 bit version of Python 3.4, this issue went away.
I ran into a similar issue with Python 3.7.2.
In my case, the problem was that I tried to install the 64 bit MySQL connector, but had the 32 bit version of Python installed on my machine.
I got a similar error message:
Python v3.7 not found. We only support Python installed using the Microsoft Windows Installer (MSI) [...]
The problem just went away by installing the 32 bit MySQL connector instead.
From my experience if you have both Py2.7 and Py3.4 installed when installing the mysql connector for py3.4 you will run into this issue. Not sure of the WHY but for some reason if you have py2.7 installed, the py3.4 mysql connector recognizes that version first and just assumes that you have py2.7 installed and does not recognize that py3.4 is installed.
The only way I have found around this is to uninstall py2.7 and then install the py3.4 mysql connector. You can always install py2.7 again after the fact.
I had 3.6.X version and it could not see it; I uninstalled it and installed 3.4.0 version and it passed the requirement.
https://www.python.org/downloads/release/python-340/
Had the same problem and have fixed it. Using a Windows 7 PC and I already had multiple versions of Python installed.
Uninstalled all versions of Python from my PC
Uninstalled the failed MySQL install
Restarted PC
Re-installed Python 3.7 64-bit (the currently required version for MySQL)
Installed the Python 3.7 MySQL Connector separately through the link below
https://dev.mysql.com/downloads/connector/python/
Once that was installed, restarted the MySQL install
The MySQL Installer window will open and already show the Python 3.7 MySQL Connector in the list of products
Click "Add" at the top-right and select all of the products you want and then install them
You should then be able to complete the MySQL setup
I was looking for an similar answer. The correct answer is that there is a bug in the mysqlconnector MSI. When python installs, it creates a registry entry under HKLM Software\Python\PythonCore\3.6-32\InstallPath however, the MSI for mysqlconnector is looking for installation path in the registry Software\Python\PythonCore\3.6\InstallPath as part of the RegLocator/registrypath variable.
Use ORCA to edit the MSI, change the RegLocator so that -32 is in the path. It will install now without error or changes to the system.
I had same problem with python 3.4, all I did was installed python 3.4 version for all users. and added system variable as per this page. it worked for me!
Hope that helps.
Make sure you have the 64bit version of whichever version of Python you are running. It can be downloaded from here:
https://www.python.org/downloads/windows/
Just had the same problem and this solved it for me. I also uninstalled all previous versions of Python before running the mysql setup
I had this problem until I discovered I had installed python based in another architecture (32b). MySQL required 64 bit.
Had the same problem with Python 3.7 when trying to install MySQL in Windows 10. It was fixed by installing the 64-bits version of Python, not selected by default when going to https://www.python.org/downloads/.
I found it in https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe
Here is a much simpler work around:
pip install mysql-connector-python
Is the same package that MySQL is having trouble installing. Just use pip to install it.
Next, go back to the installation style and select "Manual" instead of "Developer". They are identical, but "Manual" allows you to remove packages. Just remove the "Connector/Python" package from the list to be installed.
Carry on with the install, you're done.

MySQL driver for Rails in Windows 7 x64

I've got problem with connecting to MySQL database on my freshly installed Windows 7 machine.
I'm getting this error when I try to migrate my database.
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install
the mysql gem and try again: gem install mysql.
rake aborted!
193: %1 is not valid Win32 application - C:/Ruby/lib/ruby/gems/1.8/gems/mysql-2.8.1-x86-mswin32/lib/1.8/mysql_api.so
I currently have installed
ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
mysql version 5.0.86 for Win64
gem 1.3.1
mysql-2.8.1-x86-mswin32
My colleague had a similar problem while running rails on Windows 7.
He had to replace the libmySQL.dll (in the PATH) with the one from InstantRails.
I spent hours trying to get MySQL and Rails to play nicely on Windows (albeit XP, both 32 and 64-bit versions). I finally gave up since my production box was running Linux (on which Rails and MySQL play very nicely) and just used SQLite 3 for development. No headaches to get it working and it runs fast enough for development purposes.
However, I did hear of some people that had luck replacing one of the DLLs provided by the gem with one provided by the official MySQL distribution. Also, some people simply didn't have this DLL at all which was causing problems. In the end, it didn't work for me, but hopefully you will have more luck.
For Rails or DataMapper or whatever to talk to MySQL you need a 32-bit driver in Rails\bin. The driver is called libmysql.dll. Even if you have a 64-bit server you need a 32-bit driver.
64-bit driver will fail will ruby/gems/1.8/gems/do_mysql-0.10.2-x86-mingw32/lib/do_mysql/1.8/do_mysql.so: 193: %1 is not a valid Win32 application.
A wrong 32-bit version will crash with memory allocation error or something weird like that (suggested solution to take libmysql.dll from another project may not work with newer versions of MySQL).
I am new to this rails. I just have passed the same issue in vista. after downloading libmySQL.dll (in the PATH) with the one from InstantRails it starts working.
sukumaaar#gmail.com
The solution to this problem is to simply install the 32-bit version of mysql.
Fast forward to March 2012. I solved this problem on windows 7 x64) by renaming my Ruby\b\bin\libmysql.dll and then copying libmysql.dll from C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\lib\opt to Ruby\bin
There was a newer version of libmysql.dll at C:\Program Files (x86)\MySQL\MySQL Workbench CE 5.2.37 but the gem didn't like the non 6.x version.
Could this be related to Ruby on Rails Win7 x64? ? If so, what was the fix again (couldn't figure it out from the first answer) ?
Another option which has worked for me is to download the 32bit version of mysql for windows and just keep the libmysql.dll and add the location of this DLL to the windows PATH.
Adding the libmySQL.dll from InstantRails to a dir in my path worked for me too. It's really sad that we have to do this sort of thing though. I'd like to see the gem, or MySql itself, install this DLL properly.
I'm running the current versions of everything on WinXP SP3: Ruby 1.9.2p0, MySQL 5.5, mysql 2.8.1. This issue is still present and to fix it I had to copy the Instant Rails libmysql.dll into my C:\Ruby192\bin directory. I initially copied the libmysql.dll file that came with MySQL 5.5 but that caused a seq fault!