GithubHelp home page GithubHelp logo

Comments (12)

maciejkula avatar maciejkula commented on August 19, 2024

Could it be because you're trying to link to the Anaconda version of python? This should not be related to llvm at all.

Can you try using a non-Anaconda python installation?

from lightfm.

maciejkula avatar maciejkula commented on August 19, 2024

You can also try #24 and see if that solves your issue.

from lightfm.

oddskool avatar oddskool commented on August 19, 2024

Ok, #24 fixed part of the problem, however I had to modify the CXX flags to get it to compile:

-                                          '-march=native',
+                                          '-march=corei7',

Otherwise gcc complains about unknown asm instructions (e.g. no such instruction: vmovsd 16(%rdi), %xmm0).

It's a bit odd since native architecture should be detected as corei7 I presume.

from lightfm.

maciejkula avatar maciejkula commented on August 19, 2024

Are you using the anaconda python distribution? I can only suppose that could be part of the problem.

from lightfm.

oddskool avatar oddskool commented on August 19, 2024

Yes I do.

Trying to compile with the brew python (2.7.9) in the path instead of the Anaconda one still triggers the "no such instruction" error.

So it seems that the error may be more related to something else (cpu architecture detection maybe?).

The gcc command with brew python:

gcc-4.9 -fno-strict-aliasing -fno-common -dynamic -I/usr/local/include -I/usr/local/opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c lightfm/lightfm_fast.c -o build/temp.macosx-10.9-x86_64-2.7/lightfm/lightfm_fast.o -fopenmp -march=native -ffast-math

Output of uname -a:

Darwin 14.4.0 Darwin Kernel Version 14.4.0: Thu May 28 11:35:04 PDT 2015; root:xnu-2782.30.5~1/RELEASE_X86_64 x86_64

This is a MacBookAir under Yosemite.

At this point I managed to get past the issue and I believe it is likely related to a library or configuration you use, so maybe a sensible thing to do is to keep this thread for other users...

from lightfm.

oddskool avatar oddskool commented on August 19, 2024

Indeed, gcc's native arch seems to be x86_64:

$ /usr/local/bin/gcc-4.9 -dumpmachine    
x86_64-apple-darwin13.4.0

from lightfm.

maciejkula avatar maciejkula commented on August 19, 2024

I see. Could you have a look at #26?

It might fix the problem, according to http://stackoverflow.com/questions/9840207/how-to-use-avx-pclmulqdq-on-mac-os-x-lion/19342603#19342603

from lightfm.

oddskool avatar oddskool commented on August 19, 2024

with #26 same "no such instruction" error :(

from lightfm.

maciejkula avatar maciejkula commented on August 19, 2024

I got hold of a mac and will try to reproduce your problem.

from lightfm.

maciejkula avatar maciejkula commented on August 19, 2024

It is a problem with the Anaconda distribution. I have updated #26 to automatically drop -march=native whenever we know we're dealing with anaconda. This should finally fix it!

from lightfm.

oddskool avatar oddskool commented on August 19, 2024

Yes it works on my setup 👍

from lightfm.

maciejkula avatar maciejkula commented on August 19, 2024

Perfect, thanks for your help!

from lightfm.

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.