Giter Site home page Giter Site logo

Comments (16)

pacman82 avatar pacman82 commented on August 29, 2024 1

Hello @alexander-beedie ,

thanks for reporting the issue. Yes, this would be straight forward if GitHub would offer ARM runners. Yet it doesn't. Not to look a gift horse in the mouth though. It is awesome that in this day and age I get this much infrastructure for free anyway.

Sadly I can not see the entire error based on the provided screenshot. The artefact should build nicely on ARM though. The workflow files in this repository should give some hints on what is required to build. On the top of my head:

You need to install unixodbc. You can use brew for this, but last time I had access to an ARM brew put the binaries in different directories on ARM systems, as opposed to other platforms. cargo would not be able to find and link them as a result. This might be outdated knowledge though. I would recommend installing unixodbc from source. See also the ARM section of the odbc-sys Readme: https://github.com/pacman82/odbc-sys. UnixODBC is both a bulid and a runtime dependency.

The second thing you need for the build to work is a rust toolchain, including its build and package manager cargo. Visit https://rustup.rs and follow the instruction. The latest stable toolchain with default options always works.

Feel free to come back here, if you get stuck.

Best, Markus

from arrow-odbc-py.

pacman82 avatar pacman82 commented on August 29, 2024 1

All good. Improving documentation to build help build locally is an entirely different beast though. Also, recently there has been some effort into making arrow-odbc available via the conda-forge channel. ARM pipeline is currently broken, but it used to work, and is likely to do so again in the future. So if you have anaconda or a similar package manager installed you can use that to install arrow-odbc without building locally yourself.

Best, Markus

from arrow-odbc-py.

pacman82 avatar pacman82 commented on August 29, 2024 1

Hello @alexander-beedie and @ldacey

reopened the issue, because I saw you both mentioning build errors on M1 machines. Sadly I do not have access to one to try myself, but it was one of my core goals to make building and updating arrow-odbc way easier compared to other libraries, by only relying on C-Interfaces to cross the language barrier and not be tied to any C++ ABI or system provided boost version.

With a little bit of help I could probably provide a good description on how to build on M1. If you have access to one of these machines and one of you would be up for a pair programming (well, building) session I would be game.

I am located in the Central European Time zone FYI.

Best, Markus

from arrow-odbc-py.

pacman82 avatar pacman82 commented on August 29, 2024 1

@alexander-beedie I invited you to a repository with my contact data in order to connect.

from arrow-odbc-py.

tomsej avatar tomsej commented on August 29, 2024 1

For anyone who is trying to install arrow-odbc on Apple Silicon. First you need to install unixodbc - brew install unixodbc.
Now if you try to install arrow-odbc you will get following error:

    = note: ld: warning: ignoring duplicate libraries: '-lc', '-lm'
            ld: warning: search path '/Users/radek.tomsej/lib' not found
            ld: library 'odbc' not found
            clang: error: linker command failed with exit code 1 (use -v to see invocation)

All you need to do is create a simling to specified search path: sudo ln -s /opt/homebrew/lib /Users/radek.tomsej/lib. Then you are able to install it.

from arrow-odbc-py.

alexander-beedie avatar alexander-beedie commented on August 29, 2024

thanks for reporting the issue. Yes, this would be straight forward if GitHub would offer ARM runners. Yet it doesn't.

Ahh, I should have been much more specific that the official Apple Silicon runners have only been available (in public beta) for -literally- a few days (I could have sworn they came out earlier, but apparently not) ;)

from arrow-odbc-py.

pacman82 avatar pacman82 commented on August 29, 2024

Cool, the blog post mentions some cost for these runners though. I already give my spare time maintaining this. I do not feel inclined to pay on top of it.

from arrow-odbc-py.

alexander-beedie avatar alexander-beedie commented on August 29, 2024

Cool, the blog post mentions some cost for these runners though. I already give my spare time maintaining this. I do not feel inclined to pay on top of it.

Ahh, didn't spot that, my bad - not to worry, entirely understandable!
Thanks ;)

from arrow-odbc-py.

alexander-beedie avatar alexander-beedie commented on August 29, 2024

With a little bit of help I could probably provide a good description on how to build on M1. If you have access to one of these machines and one of you would be up for a pair programming (well, building) session I would be game.

Sounds like a plan; would be happy to help :)
As far as timezones go, I'm only 2 hours off CET, so shouldn't be too challenging to find a good time.

from arrow-odbc-py.

pacman82 avatar pacman82 commented on August 29, 2024

Thanks again @tomsej ,

this worked again here: pacman82/arrow-odbc#75 (comment)

from arrow-odbc-py.

pacman82 avatar pacman82 commented on August 29, 2024

Added a little section of how to build for ARM Mac to the readme. Thanks for everybodies help in here.

from arrow-odbc-py.

ldacey avatar ldacey commented on August 29, 2024

Nice, thanks!

Successfully built arrow-odbc
Installing collected packages: arrow-odbc
Successfully installed arrow-odbc-2.0.2

from arrow-odbc-py.

pacman82 avatar pacman82 commented on August 29, 2024

Thanks @ldacey for confirming it is working#

from arrow-odbc-py.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.