thkwag / target-mysql

Singer.io compatible target for MySQL(MariaDB) databases https://hub.meltano.com/loaders/target-mysql
https://pypi.org/project/thk-target-mysql/
Apache License 2.0
2 stars 12 forks source link

Can't install #1

Open obibring opened 1 year ago

obibring commented 1 year ago

I'm new to Meltano and attempting to install this plugin by following the setup tutorial found here. I created my first pipeline by piping tap-mongodb to target-jsonl (it works), but attempting to install this plugin using meltano add loader target-mysql fails with:

Added loader 'target-mysql' to your Meltano project
Variant:    thkwag (default)
Repository: https://github.com/thkwag/target-mysql
Documentation:  https://hub.meltano.com/loaders/target-mysql--thkwag

Installing loader 'target-mysql'...
Loader 'target-mysql' could not be installed: failed to install plugin 'target-mysql'.
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [24 lines of output]
      /bin/sh: 1: pkg-config: not found
      /bin/sh: 1: pkg-config: not found
      Trying pkg-config --exists mysqlclient
      Command 'pkg-config --exists mysqlclient' returned non-zero exit status 127.
      Trying pkg-config --exists mariadb
      Command 'pkg-config --exists mariadb' returned non-zero exit status 127.
      Traceback (most recent call last):
        File "/projects/.meltano/loaders/target-mysql/venv/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/projects/.meltano/loaders/target-mysql/venv/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/projects/.meltano/loaders/target-mysql/venv/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-7kj5m5n4/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
        File "/tmp/pip-build-env-7kj5m5n4/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-7kj5m5n4/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 338, in run_setup
          exec(code, locals())
        File "<string>", line 154, in <module>
        File "<string>", line 48, in get_config_posix
        File "<string>", line 27, in find_package_name
      Exception: Can not find valid pkg-config name.
      Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Need help fixing this problem? Visit http://melta.no/ for troubleshooting steps, or to
join our friendly Slack community.

Failed to install plugin(s)
thkwag commented 1 year ago

Try running sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

anden-akkio commented 1 year ago

I'm on MacOS (M2 Mac / Apple Silicon) and the following worked for me to get this target installed.

I'm interfacing with this through Meltano, but the same general process should hopefully apply.

sumit1094 commented 11 months ago

hi @anden-akkio I want to use it in meltano group, could be pls write the steps more precisely

ceik commented 6 months ago

Had the same issue on Ubuntu and

Try running sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

nearly worked. pkg-config was missing.

sudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config did the trick.