Building Julia (master at RC0) broken on Mac

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Building Julia (master at RC0) broken on Mac

Scott Jones
Has anybody else run into this yet?  I did a "make clean ; make", and got this:

...

   LINK usr/lib/libjulia.0.5.0.dylib

    CC ui/repl.o

    LINK usr/bin/julia

    PERL base/pcre_h.jl

    PERL base/errno_h.jl

    PERL base/build_h.jl.phony

    PERL base/fenv_constants.jl

    PERL base/file_constants.jl

    PERL base/uv_constants.jl

    PERL base/version_git.jl.phony

Copying in usr/share/doc/julia/examples

    JULIA usr/lib/julia/inference.ji

; ModuleID = 'Typeof'

target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"

target triple = "x86_64-apple-darwin15.6.0"


%jl_value_t = type { %jl_value_t* }


@"*Main.Core.Type1" = external global %jl_value_t*

@"+Type2" = external global %jl_value_t*

@"+Bool3" = external global %jl_value_t*

@_j_str0 = external unnamed_addr constant [7 x i8]

@_j_str1 = external unnamed_addr constant [3 x i8]

@jl_false = external constant %jl_value_t*

@jl_get_ptls_states.ptr = external global %jl_value_t*** ()*


define %jl_value_t* @julia_Typeof_0(%jl_value_t*, %jl_value_t**, i32) #0 {

top:

  %3 = alloca %jl_value_t**, align 8

  call void @llvm.dbg.value(metadata %jl_value_t** %1, i64 0, metadata !18, metadata !19), !dbg !20

  store volatile %jl_value_t** %1, %jl_value_t*** %3, align 8

  %4 = load %jl_value_t*** ()*, %jl_value_t*** ()** @jl_get_ptls_states.ptr, align 8

  %5 = call %jl_value_t*** %4() #1

  %6 = alloca [5 x %jl_value_t*], align 8

  %.sub1 = bitcast [5 x %jl_value_t*]* %6 to %jl_value_t**

  %7 = getelementptr [5 x %jl_value_t*], [5 x %jl_value_t*]* %6, i64 0, i64 3

  %8 = getelementptr [5 x %jl_value_t*], [5 x %jl_value_t*]* %6, i64 0, i64 2

  %9 = bitcast %jl_value_t** %7 to i8*

  call void @llvm.memset.p0i8.i32(i8* %9, i8 0, i32 16, i32 8, i1 false)

  %10 = bitcast [5 x %jl_value_t*]* %6 to i64*

  store i64 6, i64* %10, align 8

  %11 = bitcast %jl_value_t*** %5 to i64*

  %12 = load i64, i64* %11, align 8

  %13 = getelementptr [5 x %jl_value_t*], [5 x %jl_value_t*]* %6, i64 0, i64 1

  %14 = bitcast %jl_value_t** %13 to i64*

  store i64 %12, i64* %14, align 8

  store %jl_value_t** %.sub1, %jl_value_t*** %5, align 8

  store %jl_value_t* null, %jl_value_t** %8, align 8

  %15 = getelementptr [5 x %jl_value_t*], [5 x %jl_value_t*]* %6, i64 0, i64 4

  %16 = load %jl_value_t*, %jl_value_t** %1, align 8

  store %jl_value_t* %16, %jl_value_t** %7, align 8, !dbg !20

  %17 = load i64, i64* bitcast (%jl_value_t** @"+Type2" to i64*), align 8, !dbg !20, !tbaa !21

  %18 = bitcast %jl_value_t** %15 to i64*, !dbg !20

  store i64 %17, i64* %18, align 8, !dbg !20

  %19 = call %jl_value_t* @jl_f_isa(%jl_value_t* null, %jl_value_t** %7, i32 2), !dbg !20

  store %jl_value_t* %19, %jl_value_t** %8, align 8, !dbg !20

  %20 = getelementptr inbounds %jl_value_t, %jl_value_t* %19, i64 -1, i32 0, !dbg !20

  %21 = bitcast %jl_value_t** %20 to i64*, !dbg !20

  %22 = load i64, i64* %21, align 8, !dbg !20, !tbaa !23

  %23 = and i64 %22, -16, !dbg !20

  %24 = inttoptr i64 %23 to %jl_value_t*, !dbg !20

  %25 = load %jl_value_t*, %jl_value_t** @"+Bool3", align 8, !dbg !20, !tbaa !21

  %26 = icmp eq %jl_value_t* %24, %25, !dbg !20

  br i1 %26, label %pass, label %fail, !dbg !20


L:                                                ; preds = %pass

  %27 = bitcast %jl_value_t*** %5 to i64*

  %28 = getelementptr inbounds %jl_value_t, %jl_value_t* %16, i64 -1, i32 0, !dbg !20

  %29 = bitcast %jl_value_t** %28 to i64*, !dbg !20

  %30 = load i64, i64* %29, align 8, !dbg !20, !tbaa !23

  %31 = and i64 %30, -16, !dbg !20

  %32 = inttoptr i64 %31 to %jl_value_t*, !dbg !20

  %sunkaddr = ptrtoint [5 x %jl_value_t*]* %6 to i64, !dbg !20

  %sunkaddr2 = add i64 %sunkaddr, 8, !dbg !20

  %sunkaddr3 = inttoptr i64 %sunkaddr2 to i64*, !dbg !20

  %33 = load i64, i64* %sunkaddr3, align 8, !dbg !20

  store i64 %33, i64* %27, align 8, !dbg !20

  ret %jl_value_t* %32, !dbg !20


if:                                               ; preds = %pass

  %34 = bitcast %jl_value_t*** %5 to i64*

  %sunkaddr4 = ptrtoint [5 x %jl_value_t*]* %6 to i64, !dbg !20

  %sunkaddr5 = add i64 %sunkaddr4, 24, !dbg !20

  %sunkaddr6 = inttoptr i64 %sunkaddr5 to i64*, !dbg !20

  store i64 %17, i64* %sunkaddr6, align 8, !dbg !20

  %sunkaddr7 = ptrtoint [5 x %jl_value_t*]* %6 to i64, !dbg !20

  %sunkaddr8 = add i64 %sunkaddr7, 32, !dbg !20

  %sunkaddr9 = inttoptr i64 %sunkaddr8 to %jl_value_t**, !dbg !20

  store %jl_value_t* %16, %jl_value_t** %sunkaddr9, align 8, !dbg !20

  %35 = call %jl_value_t* @jl_f_apply_type(%jl_value_t* null, %jl_value_t** %7, i32 2), !dbg !20

  %sunkaddr10 = ptrtoint [5 x %jl_value_t*]* %6 to i64, !dbg !20

  %sunkaddr11 = add i64 %sunkaddr10, 8, !dbg !20

  %sunkaddr12 = inttoptr i64 %sunkaddr11 to i64*, !dbg !20

  %36 = load i64, i64* %sunkaddr12, align 8, !dbg !20

  store i64 %36, i64* %34, align 8, !dbg !20

  ret %jl_value_t* %35, !dbg !20


fail:                                             ; preds = %top

  call void @jl_type_error_rt(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @_j_str0, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @_j_str1, i64 0, i64 0), %jl_value_t* %25, %jl_value_t* %19), !dbg !20

  unreachable, !dbg !20


pass:                                             ; preds = %top

  %37 = load %jl_value_t*, %jl_value_t** @jl_false, align 8, !dbg !20, !tbaa !21

  %38 = icmp eq %jl_value_t* %19, %37, !dbg !20

  br i1 %38, label %L, label %if, !dbg !20

}


declare %jl_value_t*** @jl_get_ptls_states()


; Function Attrs: nounwind readnone

declare void @llvm.dbg.declare(metadata, metadata, metadata) #1


declare %jl_value_t* @jl_f_isa(%jl_value_t*, %jl_value_t**, i32)


; Function Attrs: noreturn

declare void @jl_type_error_rt(i8*, i8*, %jl_value_t*, %jl_value_t*) #2


declare %jl_value_t* @jl_f_apply_type(%jl_value_t*, %jl_value_t**, i32)


; Function Attrs: nounwind

declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) #3


; Function Attrs: nounwind readnone

declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1


attributes #0 = { "no-frame-pointer-elim"="true" }

attributes #1 = { nounwind readnone }

attributes #2 = { noreturn }

attributes #3 = { nounwind }


!llvm.module.flags = !{!0, !1}

!llvm.dbg.cu = !{!2}


!0 = !{i32 2, !"Dwarf Version", i32 2}

!1 = !{i32 1, !"Debug Info Version", i32 3}

!2 = distinct !DICompileUnit(language: DW_LANG_C89, file: !3, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: 1, enums: !4, subprograms: !5)

!3 = !DIFile(filename: "boot.jl", directory: ".")

!4 = !{}

!5 = !{!6}

!6 = !DISubprogram(name: "Typeof", linkageName: "julia_Typeof_0", scope: null, file: !3, type: !7, isLocal: false, isDefinition: true, isOptimized: true, function: %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)* @julia_Typeof_0, variables: !15)

!7 = !DISubroutineType(types: !8)

!8 = !{!9, !9, !13, !14}

!9 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !10, size: 64, align: 64)

!10 = !DICompositeType(tag: DW_TAG_structure_type, name: "jl_value_t", file: !11, line: 71, align: 64, elements: !12)

!11 = !DIFile(filename: "julia.h", directory: "")

!12 = !{!9}

!13 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !9, size: 64, align: 64)

!14 = !DIBasicType(name: "Int32", size: 32, align: 32, encoding: DW_ATE_unsigned)

!15 = !{!16, !18}

!16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "f", arg: 1, scope: !6, file: !3, line: 186, type: !17)

!17 = !DICompositeType(tag: DW_TAG_structure_type, name: "#Typeof", align: 8, elements: !4, runtimeLang: DW_LANG_Julia)

!18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", arg: 2, scope: !6, file: !3, line: 186, type: !9)

!19 = !DIExpression(DW_OP_deref, DW_OP_plus, 0)

!20 = !DILocation(line: 186, scope: !6)

!21 = !{!"jtbaa_const", !22, i64 1}

!22 = !{!"jtbaa"}

!23 = !{!"jtbaa_tag", !24}

!24 = !{!"jtbaa_data", !22}

LLVM ERROR: FATAL: Unable to compile LLVM Module.

The module's content was printed above. Please file a bug report

make[1]: *** [/j/julia/usr/lib/julia/inference.ji] Error 1

make: *** [julia-inference] Error 2

✘-2 /j/julia [master|…3⚑ 1


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Building Julia (master at RC0) broken on Mac

Jeff Bezanson
The LLVM patches have been shuffled around a bit. I needed to do a
`make distclean-llvm` in deps.

On Tue, Jul 26, 2016 at 8:27 PM, Scott Jones <[hidden email]> wrote:

> Has anybody else run into this yet?  I did a "make clean ; make", and got
> this:
>
> ...
>
>    LINK usr/lib/libjulia.0.5.0.dylib
>
>     CC ui/repl.o
>
>     LINK usr/bin/julia
>
>     PERL base/pcre_h.jl
>
>     PERL base/errno_h.jl
>
>     PERL base/build_h.jl.phony
>
>     PERL base/fenv_constants.jl
>
>     PERL base/file_constants.jl
>
>     PERL base/uv_constants.jl
>
>     PERL base/version_git.jl.phony
>
> Copying in usr/share/doc/julia/examples
>
>     JULIA usr/lib/julia/inference.ji
>
> ; ModuleID = 'Typeof'
>
> target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
>
> target triple = "x86_64-apple-darwin15.6.0"
>
>
> %jl_value_t = type { %jl_value_t* }
>
>
> @"*Main.Core.Type1" = external global %jl_value_t*
>
> @"+Type2" = external global %jl_value_t*
>
> @"+Bool3" = external global %jl_value_t*
>
> @_j_str0 = external unnamed_addr constant [7 x i8]
>
> @_j_str1 = external unnamed_addr constant [3 x i8]
>
> @jl_false = external constant %jl_value_t*
>
> @jl_get_ptls_states.ptr = external global %jl_value_t*** ()*
>
>
> define %jl_value_t* @julia_Typeof_0(%jl_value_t*, %jl_value_t**, i32) #0 {
>
> top:
>
>   %3 = alloca %jl_value_t**, align 8
>
>   call void @llvm.dbg.value(metadata %jl_value_t** %1, i64 0, metadata !18,
> metadata !19), !dbg !20
>
>   store volatile %jl_value_t** %1, %jl_value_t*** %3, align 8
>
>   %4 = load %jl_value_t*** ()*, %jl_value_t*** ()** @jl_get_ptls_states.ptr,
> align 8
>
>   %5 = call %jl_value_t*** %4() #1
>
>   %6 = alloca [5 x %jl_value_t*], align 8
>
>   %.sub1 = bitcast [5 x %jl_value_t*]* %6 to %jl_value_t**
>
>   %7 = getelementptr [5 x %jl_value_t*], [5 x %jl_value_t*]* %6, i64 0, i64
> 3
>
>   %8 = getelementptr [5 x %jl_value_t*], [5 x %jl_value_t*]* %6, i64 0, i64
> 2
>
>   %9 = bitcast %jl_value_t** %7 to i8*
>
>   call void @llvm.memset.p0i8.i32(i8* %9, i8 0, i32 16, i32 8, i1 false)
>
>   %10 = bitcast [5 x %jl_value_t*]* %6 to i64*
>
>   store i64 6, i64* %10, align 8
>
>   %11 = bitcast %jl_value_t*** %5 to i64*
>
>   %12 = load i64, i64* %11, align 8
>
>   %13 = getelementptr [5 x %jl_value_t*], [5 x %jl_value_t*]* %6, i64 0, i64
> 1
>
>   %14 = bitcast %jl_value_t** %13 to i64*
>
>   store i64 %12, i64* %14, align 8
>
>   store %jl_value_t** %.sub1, %jl_value_t*** %5, align 8
>
>   store %jl_value_t* null, %jl_value_t** %8, align 8
>
>   %15 = getelementptr [5 x %jl_value_t*], [5 x %jl_value_t*]* %6, i64 0, i64
> 4
>
>   %16 = load %jl_value_t*, %jl_value_t** %1, align 8
>
>   store %jl_value_t* %16, %jl_value_t** %7, align 8, !dbg !20
>
>   %17 = load i64, i64* bitcast (%jl_value_t** @"+Type2" to i64*), align 8,
> !dbg !20, !tbaa !21
>
>   %18 = bitcast %jl_value_t** %15 to i64*, !dbg !20
>
>   store i64 %17, i64* %18, align 8, !dbg !20
>
>   %19 = call %jl_value_t* @jl_f_isa(%jl_value_t* null, %jl_value_t** %7, i32
> 2), !dbg !20
>
>   store %jl_value_t* %19, %jl_value_t** %8, align 8, !dbg !20
>
>   %20 = getelementptr inbounds %jl_value_t, %jl_value_t* %19, i64 -1, i32 0,
> !dbg !20
>
>   %21 = bitcast %jl_value_t** %20 to i64*, !dbg !20
>
>   %22 = load i64, i64* %21, align 8, !dbg !20, !tbaa !23
>
>   %23 = and i64 %22, -16, !dbg !20
>
>   %24 = inttoptr i64 %23 to %jl_value_t*, !dbg !20
>
>   %25 = load %jl_value_t*, %jl_value_t** @"+Bool3", align 8, !dbg !20, !tbaa
> !21
>
>   %26 = icmp eq %jl_value_t* %24, %25, !dbg !20
>
>   br i1 %26, label %pass, label %fail, !dbg !20
>
>
> L:                                                ; preds = %pass
>
>   %27 = bitcast %jl_value_t*** %5 to i64*
>
>   %28 = getelementptr inbounds %jl_value_t, %jl_value_t* %16, i64 -1, i32 0,
> !dbg !20
>
>   %29 = bitcast %jl_value_t** %28 to i64*, !dbg !20
>
>   %30 = load i64, i64* %29, align 8, !dbg !20, !tbaa !23
>
>   %31 = and i64 %30, -16, !dbg !20
>
>   %32 = inttoptr i64 %31 to %jl_value_t*, !dbg !20
>
>   %sunkaddr = ptrtoint [5 x %jl_value_t*]* %6 to i64, !dbg !20
>
>   %sunkaddr2 = add i64 %sunkaddr, 8, !dbg !20
>
>   %sunkaddr3 = inttoptr i64 %sunkaddr2 to i64*, !dbg !20
>
>   %33 = load i64, i64* %sunkaddr3, align 8, !dbg !20
>
>   store i64 %33, i64* %27, align 8, !dbg !20
>
>   ret %jl_value_t* %32, !dbg !20
>
>
> if:                                               ; preds = %pass
>
>   %34 = bitcast %jl_value_t*** %5 to i64*
>
>   %sunkaddr4 = ptrtoint [5 x %jl_value_t*]* %6 to i64, !dbg !20
>
>   %sunkaddr5 = add i64 %sunkaddr4, 24, !dbg !20
>
>   %sunkaddr6 = inttoptr i64 %sunkaddr5 to i64*, !dbg !20
>
>   store i64 %17, i64* %sunkaddr6, align 8, !dbg !20
>
>   %sunkaddr7 = ptrtoint [5 x %jl_value_t*]* %6 to i64, !dbg !20
>
>   %sunkaddr8 = add i64 %sunkaddr7, 32, !dbg !20
>
>   %sunkaddr9 = inttoptr i64 %sunkaddr8 to %jl_value_t**, !dbg !20
>
>   store %jl_value_t* %16, %jl_value_t** %sunkaddr9, align 8, !dbg !20
>
>   %35 = call %jl_value_t* @jl_f_apply_type(%jl_value_t* null, %jl_value_t**
> %7, i32 2), !dbg !20
>
>   %sunkaddr10 = ptrtoint [5 x %jl_value_t*]* %6 to i64, !dbg !20
>
>   %sunkaddr11 = add i64 %sunkaddr10, 8, !dbg !20
>
>   %sunkaddr12 = inttoptr i64 %sunkaddr11 to i64*, !dbg !20
>
>   %36 = load i64, i64* %sunkaddr12, align 8, !dbg !20
>
>   store i64 %36, i64* %34, align 8, !dbg !20
>
>   ret %jl_value_t* %35, !dbg !20
>
>
> fail:                                             ; preds = %top
>
>   call void @jl_type_error_rt(i8* getelementptr inbounds ([7 x i8], [7 x
> i8]* @_j_str0, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x
> i8]* @_j_str1, i64 0, i64 0), %jl_value_t* %25, %jl_value_t* %19), !dbg !20
>
>   unreachable, !dbg !20
>
>
> pass:                                             ; preds = %top
>
>   %37 = load %jl_value_t*, %jl_value_t** @jl_false, align 8, !dbg !20, !tbaa
> !21
>
>   %38 = icmp eq %jl_value_t* %19, %37, !dbg !20
>
>   br i1 %38, label %L, label %if, !dbg !20
>
> }
>
>
> declare %jl_value_t*** @jl_get_ptls_states()
>
>
> ; Function Attrs: nounwind readnone
>
> declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
>
>
> declare %jl_value_t* @jl_f_isa(%jl_value_t*, %jl_value_t**, i32)
>
>
> ; Function Attrs: noreturn
>
> declare void @jl_type_error_rt(i8*, i8*, %jl_value_t*, %jl_value_t*) #2
>
>
> declare %jl_value_t* @jl_f_apply_type(%jl_value_t*, %jl_value_t**, i32)
>
>
> ; Function Attrs: nounwind
>
> declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) #3
>
>
> ; Function Attrs: nounwind readnone
>
> declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
>
>
> attributes #0 = { "no-frame-pointer-elim"="true" }
>
> attributes #1 = { nounwind readnone }
>
> attributes #2 = { noreturn }
>
> attributes #3 = { nounwind }
>
>
> !llvm.module.flags = !{!0, !1}
>
> !llvm.dbg.cu = !{!2}
>
>
> !0 = !{i32 2, !"Dwarf Version", i32 2}
>
> !1 = !{i32 1, !"Debug Info Version", i32 3}
>
> !2 = distinct !DICompileUnit(language: DW_LANG_C89, file: !3, producer:
> "julia", isOptimized: true, runtimeVersion: 0, emissionKind: 1, enums: !4,
> subprograms: !5)
>
> !3 = !DIFile(filename: "boot.jl", directory: ".")
>
> !4 = !{}
>
> !5 = !{!6}
>
> !6 = !DISubprogram(name: "Typeof", linkageName: "julia_Typeof_0", scope:
> null, file: !3, type: !7, isLocal: false, isDefinition: true, isOptimized:
> true, function: %jl_value_t* (%jl_value_t*, %jl_value_t**, i32)*
> @julia_Typeof_0, variables: !15)
>
> !7 = !DISubroutineType(types: !8)
>
> !8 = !{!9, !9, !13, !14}
>
> !9 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !10, size: 64,
> align: 64)
>
> !10 = !DICompositeType(tag: DW_TAG_structure_type, name: "jl_value_t", file:
> !11, line: 71, align: 64, elements: !12)
>
> !11 = !DIFile(filename: "julia.h", directory: "")
>
> !12 = !{!9}
>
> !13 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !9, size: 64,
> align: 64)
>
> !14 = !DIBasicType(name: "Int32", size: 32, align: 32, encoding:
> DW_ATE_unsigned)
>
> !15 = !{!16, !18}
>
> !16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "f", arg: 1, scope:
> !6, file: !3, line: 186, type: !17)
>
> !17 = !DICompositeType(tag: DW_TAG_structure_type, name: "#Typeof", align:
> 8, elements: !4, runtimeLang: DW_LANG_Julia)
>
> !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", arg: 2, scope:
> !6, file: !3, line: 186, type: !9)
>
> !19 = !DIExpression(DW_OP_deref, DW_OP_plus, 0)
>
> !20 = !DILocation(line: 186, scope: !6)
>
> !21 = !{!"jtbaa_const", !22, i64 1}
>
> !22 = !{!"jtbaa"}
>
> !23 = !{!"jtbaa_tag", !24}
>
> !24 = !{!"jtbaa_data", !22}
>
> LLVM ERROR: FATAL: Unable to compile LLVM Module.
>
> The module's content was printed above. Please file a bug report
>
> make[1]: *** [/j/julia/usr/lib/julia/inference.ji] Error 1
>
> make: *** [julia-inference] Error 2
>
> ✘-2 /j/julia [master|…3⚑ 1]
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Building Julia (master at RC0) broken on Mac

Scott Jones
Thanks!  That worked!

On Wednesday, July 27, 2016 at 5:25:56 AM UTC+2, Jeff Bezanson wrote:
The LLVM patches have been shuffled around a bit. I needed to do a
`make distclean-llvm` in deps.
Loading...