Git Product home page Git Product logo

Comments (4)

mikiobraun avatar mikiobraun commented on May 20, 2024

Hi Luc,

interesting. The reason I tried so hard to locate the statically linked
gfortran library was that I tried to include all dependencies in the jblas
shared lib. Otherwise, people would have to make sure the gfortran runtimes
are installed which might not always be the case.

It seems that libgfortran now has further dependencies which are not
included.. :(

Can you tell me which version of gfortran/gcc you're using?

-M

On Thu, Jun 6, 2013 at 12:59 PM, Luc J. Bourhis [email protected]:

Hi,

using master as of ab621e9ab621e9c7b2(Quick fix to set SMLSIZ=25 to get around Mac OS X bug.), the build fails:

~jblas (master)> ./configure --lapack=../lapack-3.4.2 --libpath=$HOME/atlas/lib --static-libs
....
looking for libraries...... {"lapack"=>"/Users/luc/atlas/lib", "f77blas"=>"/Users/luc/atlas/lib", "cblas"=>"/Users/luc/atlas/lib", "atlas"=>"/Users/luc/atlas/lib"}
x86_64
Looking for where libgfortran.a is... (/opt/local/lib/gcc47/gcc/x86_64-apple-darwin11/4.7.3/../../../libgfortran.a)
ok

Configuration succesfull, writing out results to configure.out
~jblas (master)> make
gcc -shared -o target/c/NativeBlas.jnilib target/c/NativeBlas.o /Users/luc/atlas/lib/liblapack.a /Users/luc/atlas/lib/libf77blas.a /Users/luc/atlas/lib/libcblas.a /Users/luc/atlas/lib/libatlas.a /opt/local/lib/gcc47/gcc/x86_64-apple-darwin11/4.7.3/../../../libgfortran.a
Undefined symbols for architecture x86_64:
"_quadmath_snprintf", referenced from:
_write_float in libgfortran.a(write.o)
"_strtoflt128", referenced from:
__gfortrani_convert_real in libgfortran.a(read.o)
__gfortrani_convert_infnan in libgfortran.a(read.o)
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make: *** [target/c/NativeBlas.jnilib] Error 1

Now if I apply the following patch:

diff --git a/config/config_libs.rb b/config/config_libs.rb
index 2055a49..19b9fca 100644
--- a/config/config_libs.rb
+++ b/config/config_libs.rb
@@ -157,10 +157,7 @@ because it's usually not compiled with -fPIC. This means that you need to
have libgfortran.so installed on your target system. Sorry for the inconvenience!
EOS
elsif CONFIG['OS_NAME'] == 'Mac\ OS\ X'

  •    print "Looking for where libgfortran.a is... "
    
  •    libgfortran_path = %x(gfortran -print-file-name=libgfortran.a).strip
    
  •         puts "(#{libgfortran_path})"
    
  •         CONFIG['LOADLIBES'] += [libgfortran_path]
    
  •         CONFIG['LOADLIBES'] += ['-lgfortran']
    
    else
    CONFIG['LOADLIBES'] += ['-l:libgfortran.a']
    end

It all works and the sanity check passes with flying colours. What was the
reason for not using -lgfortran on MacOS X?


Reply to this email directly or view it on GitHubhttps://github.com//issues/31
.

Mikio Braun - http://blog.mikiobraun.de, http://twitter.com/mikiobraun

from jblas.

luc-j-bourhis avatar luc-j-bourhis commented on May 20, 2024

I installed the MacPorts package gcc4.7.

from jblas.

mikiobraun avatar mikiobraun commented on May 20, 2024

I see, I have gcc 4.2...

On Thu, Jun 6, 2013 at 3:20 PM, Luc J. Bourhis [email protected]:

I installed the MacPorts package gcc4.7.


Reply to this email directly or view it on GitHubhttps://github.com//issues/31#issuecomment-19044350
.

Mikio Braun - http://blog.mikiobraun.de, http://twitter.com/mikiobraun

from jblas.

mikiobraun avatar mikiobraun commented on May 20, 2024

Time to make it work under MacOS again... .

from jblas.

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.