Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure of building Julia 0.4 (latest master) on Mac OS X 10.10 #8842

Closed
lindahua opened this issue Oct 29, 2014 · 31 comments
Closed

Failure of building Julia 0.4 (latest master) on Mac OS X 10.10 #8842

lindahua opened this issue Oct 29, 2014 · 31 comments
Labels
building Build system, or building Julia or its dependencies

Comments

@lindahua
Copy link
Contributor

I tried to build Julia 0.4 (on latest master) on Mac OS X 10.10 (Yosemite), and run into the following error:

 cblas_zher2  PASSED THE TESTS OF ERROR-EXITS

 cblas_zher2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)
 cblas_zher2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)

 cblas_zhpr2  PASSED THE TESTS OF ERROR-EXITS

 cblas_zhpr2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)
 cblas_zhpr2  PASSED THE COMPUTATIONAL TESTS (   577 CALLS)

 END OF TESTS
Note: The following floating-point exceptions are signalling: IEEE_DENORMAL
make[4]: /Users/dhlin/julia-0.4/deps/objconv/objconv: No such file or directory
make[4]: *** [../libopenblasp-r0.2.12.a.renamed] Error 1
make[3]: *** [shared] Error 2
*** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were errors building SandyBridge support. Both these options can also be used simultaneously. ***
make[2]: *** [openblas-v0.2.12/libopenblas.dylib] Error 1
make[1]: *** [julia-release] Error 2
make: *** [release] Error 2

This is a completely fresh clone and I did nothing except typing the make command.

Relevant discussion: https://groups.google.com/forum/#!topic/julia-users/qajfpEtiBPU

@lindahua lindahua added the building Build system, or building Julia or its dependencies label Oct 29, 2014
@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

So either I did something wrong with the makefile dependencies in #8734, or might be a Yosemite only issue? Can anyone else with different OSX versions reproduce this? gisting the output of make --debug or make --trace might provide more info.

@lindahua
Copy link
Contributor Author

If I manually do make -C deps install-objconv, it works.

Doesn't seem like Yosemite-specific. Instead, it seems like the make procedure forgets to install objconv under certain circumstances.

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

Odd. I have the line $(OPENBLAS_OBJ_SOURCE): $(OBJCONV_SOURCE) that I added to the makefile, hoping that would be good enough to ensure objconv is built before openblas gets built. I'm not sure why that didn't work. Hence why maybe looking at debug or tracing info from make, after cleaning objconv via make -C deps distclean-objconv, might be needed here.

@staticfloat
Copy link
Member

@tkelman looks like my buildbot on 10.9 ran into this as well.

@staticfloat
Copy link
Member

I think you need to change your line to:

$(OPENBLAS_OBJ_SOURCE): $(OBJCONV_TARGET)

Otherwise, you are assuring that objconv will be downloaded, but not built.

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

Can you try that locally and see? Do make -C deps distclean-objconv && rm deps/openblas-v0.2.12/libopenblas* first.

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

OBJCONV_SOURCE is slightly misnamed (or it should have an _OBJ_ in the middle to clarify), it's actually set to the executable OBJCONV_SOURCE = objconv/objconv. I'm telling openblas to use the version from deps/objconv/objconv, rather than installing it to usr/bin/objconv and using it from there which isn't strictly necessary. But if it makes it work, good enough for me.

@jakebolewski
Copy link
Member

@tkelman @staticfloat's proposed change works for me.

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

@jakebolewski thanks, I'll commit that then

@maxruby
Copy link

maxruby commented Oct 29, 2014

I am having some difficulty compiling v0.4.0 from source on OSX 10.9 as well.
I followed the discussion here as closely as possible but likely I am not doing something correctly.
I first tried $make and ended up with the exactly the same errors described at the beginning of this post.

Then I tried the following and got

$ make -C deps distclean-openblas distclean-arpack distclean-suitesparse && make cleanall
rm -rf openblas-v0.2.12.tar.gz openblas-v0.2.12
rm -rf arpack-ng-3.1.5.tar.gz arpack-ng-3.1.5
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C SuiteSparse-4.3.1 clean
make: *** SuiteSparse-4.3.1: No such file or directory.  Stop.
make: [clean-suitesparse] Error 2 (ignored)
rm -fr SuiteSparse-4.3.1/lib
rm -rf SuiteSparse-4.3.1.tar.gz SuiteSparse-4.3.1
rm: /Users/maximilianosuster/julia-v0.4.0/usr/share/julia/base: No such file or directory
make: [clean-/Users/maximilianosuster/julia-v0.4.0/usr/share/julia/base] Error 1 (ignored)
rm: /Users/maximilianosuster/julia-v0.4.0/usr/share/julia/test: No such file or directory
make: [clean-/Users/maximilianosuster/julia-v0.4.0/usr/share/julia/test] Error 1 (ignored)
rm -f *# *~
rm -f pcre_h.jl
rm -f errno_h.jl
rm -f build_h.jl
rm -f build_h.jl.phony
rm -f fenv_constants.jl
rm -f uv_constants.jl
rm -f file_constants.jl
rm -f version_git.jl
rm -f version_git.jl.phony
rm -f /Users/maximilianosuster/julia-v0.4.0/usr/lib/libjulia*
rm -f julia_flisp.boot julia_flisp.boot.inc
rm -f *.dbg.obj *.o *~ *# *.dylib *.a
rm -f *.o *.dbg.obj
rm -f /Users/maximilianosuster/julia-v0.4.0/usr/bin/julia*
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C flisp clean
rm -f *.o
rm -f *.dbg.obj
rm -f *.a
rm -f flisp
rm -f flisp-debug
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C support clean
rm -f *.o
rm -f *.dbg.obj
rm -f *.a
rm -f *~ *#
rm -f core*
rm -f libsupport.a
rm -f libsupport-debug.a
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C libuv clean
 rm -f test/run-tests
test -z "include/uv-dtrace.h " || rm -f include/uv-dtrace.h 
test -z "libuv.la" || rm -f libuv.la
rm -f ./so_locations
rm -rf .libs _libs
rm -rf src/.libs src/_libs
rm -rf src/unix/.libs src/unix/_libs
rm -rf src/win/.libs src/win/_libs
rm -rf test/.libs test/_libs
rm -f *.o
rm -f src/*.o
rm -f src/*.lo
rm -f src/unix/*.o
rm -f src/unix/*.lo
rm -f src/win/*.o
rm -f src/win/*.lo
rm -f test/*.o
rm -f *.lo
rm -rf /Users/maximilianosuster/julia-v0.4.0/usr/lib/libuv.a /Users/maximilianosuster/julia-    
v0.4.0/usr/include/uv.h /Users/maximilianosuster/julia-v0.4.0/usr/include/uv-private

I also tried twice building with make but got the same error again and again

 make[2]: *** [openblas-v0.2.12/libopenblas.dylib] Error 1

Finally, I also tried adding the patch for #8734 and although it was added, it did not eliminate the Error1 above. Can anyone please help with this error? Thank you.

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

I'd need to see a few more lines of the error to be sure, but you're probably hitting the same thing, sorry for the trouble (the release-0.3 branch should be more stable to work from btw). If you did git pull and make -C deps distclean-openblas in the last 3 days you shouldn't need to manually apply the patch.

If you haven't done git pull in the last 20 minutes, then you wouldn't have the fix for the problem. Can you try now?

@staticfloat
Copy link
Member

I can confirm it's not fixed yet. I will push a fix once I figure out
what's going on. We've got some kind of weird makefile problem going on
here.
-E

On Wed, Oct 29, 2014 at 1:09 PM, Tony Kelman [email protected]
wrote:

I'd need to see a few more lines of the error to be sure, but you're
probably hitting the same thing, sorry for the trouble (the release-0.3
branch should be more stable to work from btw). If you did git pull and make
-C deps distclean-openblas in the last 3 days you shouldn't need to
manually apply the patch.

If you haven't done git pull in the last 20 minutes, then you wouldn't
have the fix for the problem. Can you try now?


Reply to this email directly or view it on GitHub
#8842 (comment).

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

Hm, strange, thanks. Did Apple upgrade the version of make in the command line tools for Yosemite by any chance? Small chance of it being related.

@tkelman tkelman reopened this Oct 29, 2014
@maxruby
Copy link

maxruby commented Oct 29, 2014

I need to work with v0.4.0 because of the staged functions needed for Cxx.jl. I wanted to try wrapping some C++ functions for Julia and I guess that this the best now. . . I did git pull and I will try again later.

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

Did you do git pull within the last 7 minutes? @staticfloat fixed it for real this time, I believe.

@maxruby
Copy link

maxruby commented Oct 29, 2014

I did git pull but not $make again yet...
Will try in 10 min.

@staticfloat
Copy link
Member

@maxruby Please pull and try again. I fixed the objconv errors.

@tkelman Now I'm getting different errors. It looks like it's a problem with LAPACK. Here's the gist of make -C deps compile-openblas.

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

@staticfloat what do you get from nm deps/openblas-v0.2.12/libopenblasp-r0.2.12.a | grep LAPACKE ?

@staticfloat
Copy link
Member

Here's a gist.

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

I get nearly 8500 on Ubuntu https://gist.github.com/f8b1b50a93260d2e8ebf, why do you get fewer than 500? @xianyi any ideas?

@staticfloat
Copy link
Member

Before you get too into this, I'm clearing out openblas and rebuilding from scratch. I'm thinking I might have screwed something up by interrupting the build multiple times while testing the above fix.

@maxruby
Copy link

maxruby commented Oct 29, 2014

I pulled and it was the same as before (nothing to update).
Tried make -C deps compile-openblas and got the same as @tkelman

   make: *** [openblas-v0.2.12/libopenblas.dylib] Error 1

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

@maxruby when you post error messages, please copy as much of the screen as possible. If it gets really long, use http://gist.github.com and post a link here

@maxruby
Copy link

maxruby commented Oct 29, 2014

Sorry, I just thought it would be an overkill in this case as it sounds almost identical to @tkelman. . .
Do you want me to do it in this case?

@tkelman
Copy link
Contributor

tkelman commented Oct 29, 2014

Uhm, I'm not having any errors, this is a mac-specific problem and I don't own a Mac so I think you mean someone else?

@maxruby
Copy link

maxruby commented Oct 29, 2014

@staticfloat. Here is my gist.

@staticfloat
Copy link
Member

Ah, okay, you have a completely unrelated problem. Let's open a new issue so we don't sidetrack this one.

@staticfloat
Copy link
Member

@tkelman @xianyi Don't worry, I rebuilt from scratch and everything works fine. No sweat.

@dbrowne
Copy link

dbrowne commented Oct 30, 2014

Tried all of the above. Still fails.
hard1:julia djb$ make
ld: library not found for -lcrt1.10.6.o
collect2: error: ld returned 1 exit status
make[4]: *** [sblat1] Error 1
make[4]: *** Waiting for unfinished jobs....
ld: library not found for -lcrt1.10.6.o
collect2: error: ld returned 1 exit status
ld: library not found for -lcrt1.10.6.o
collect2: error: ld returned 1 exit status
make[4]: *** [dblat1] Error 1
make[4]: *** [cblat1] Error 1
ld: library not found for -lcrt1.10.6.o
collect2: error: ld returned 1 exit status
make[4]: *** [zblat1] Error 1
ld: library not found for -lcrt1.10.6.o
collect2: error: ld returned 1 exit status
make[4]: *** [sblat2] Error 1
ld: library not found for -lcrt1.10.6.o
collect2: error: ld returned 1 exit status
make[4]: *** [dblat2] Error 1
ld: library not found for -lcrt1.10.6.o
collect2: error: ld returned 1 exit status
make[4]: *** [cblat2] Error 1
ld: library not found for -lcrt1.10.6.o
collect2: error: ld returned 1 exit status
make[4]: *** [zblat2] Error 1
make[3]: *** [tests] Error 2
*** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were errors building SandyBridge support. Both these options can also be used simultaneously. ***
make[2]: *** [openblas-v0.2.12/libopenblas.dylib] Error 1
make[1]: *** [julia-release] Error 2
make: *** [release] Error 2

@tkelman
Copy link
Contributor

tkelman commented Oct 30, 2014

@dbrowne I'm pretty sure you need to (re?)install the command line tools for xcode

@dbrowne
Copy link

dbrowne commented Oct 30, 2014

Spot on. Earlier successful builds were on Mavericks. Though command line tools were part of the upgrade.

tkelman added a commit that referenced this issue Nov 18, 2014
(backport of fef2954)
Conflicts:
	deps/Makefile

Hopefully fix #8842, objconv dependency not right

(backport of dbcd503)

We needed to move the objconv rules to above the openblas rules

Fixes #8842

(backport of 2579a64)
Conflicts:
	deps/Makefile
tkelman added a commit that referenced this issue Nov 18, 2014
(backport of fef2954)
Conflicts:
	deps/Makefile

Hopefully fix #8842, objconv dependency not right

(backport of dbcd503)

We needed to move the objconv rules to above the openblas rules

Fixes #8842

(backport of 2579a64)
Conflicts:
	deps/Makefile
vchuravy pushed a commit to JuliaLang/LazyArtifacts.jl that referenced this issue Oct 2, 2023
(backport of 95b3134)
Conflicts:
	deps/Makefile

Hopefully fix JuliaLang/julia#8842, objconv dependency not right

(backport of dbcd50328314d2f632f4927466952868f581751d)

We needed to move the objconv rules to above the openblas rules

Fixes JuliaLang/julia#8842

(backport of 2579a649fe8a6d0ee8b7d925e343527a4c8b622b)
Conflicts:
	deps/Makefile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
building Build system, or building Julia or its dependencies
Projects
None yet
Development

No branches or pull requests

6 participants