andreymulik / sdp

Simple Data Processing
BSD 3-Clause "New" or "Revised" License
0 stars 2 forks source link

Building with profiling fails #3

Open sternenseemann opened 2 years ago

sternenseemann commented 2 years ago

This is the current build log when enabling library profiling:

Building library for sdp-0.2.1.1..
Warning: unknown directive #-}
in src/SDP/Linear.hs  at line 148 col 1
[ 1 of 59] Compiling Control.Exception.SDP ( src/Control/Exception/SDP.hs, dist/build/Control/Exception/SDP.o, dist/build/Control/Exception/SDP.dyn_o )
[ 2 of 59] Compiling SDP.Comparing    ( src/SDP/Comparing.hs, dist/build/SDP/Comparing.o, dist/build/SDP/Comparing.dyn_o )
[ 3 of 59] Compiling SDP.Estimate     ( src/SDP/Estimate.hs, dist/build/SDP/Estimate.o, dist/build/SDP/Estimate.dyn_o )
[ 4 of 59] Compiling SDP.Nullable     ( src/SDP/Nullable.hs, dist/build/SDP/Nullable.o, dist/build/SDP/Nullable.dyn_o )
[ 5 of 59] Compiling SDP.Ratio        ( src/SDP/Ratio.hs, dist/build/SDP/Ratio.o, dist/build/SDP/Ratio.dyn_o )
[ 6 of 59] Compiling SDP.SafePrelude  ( src/SDP/SafePrelude.hs, dist/build/SDP/SafePrelude.o, dist/build/SDP/SafePrelude.dyn_o )
[ 7 of 59] Compiling SDP.Finite       ( src/SDP/Finite.hs, dist/build/SDP/Finite.o, dist/build/SDP/Finite.dyn_o )
[ 8 of 59] Compiling SDP.SortM        ( src/SDP/SortM.hs, dist/build/SDP/SortM.o, dist/build/SDP/SortM.dyn_o )
[ 9 of 59] Compiling SDP.Tuple        ( src/SDP/Tuple.hs, dist/build/SDP/Tuple.o, dist/build/SDP/Tuple.dyn_o )
[10 of 59] Compiling SDP.Shape        ( src/SDP/Shape.hs, dist/build/SDP/Shape.o, dist/build/SDP/Shape.dyn_o )
[11 of 59] Compiling SDP.Index        ( src/SDP/Index.hs, dist/build/SDP/Index.o, dist/build/SDP/Index.dyn_o )

src/SDP/Index.hs:274:1: warning: [-Worphans]
    Orphan instance: instance Index i => Estimate (i, i)
    To avoid this
        move the instance declaration to the module of the class or of the type, or
        wrap the type with a newtype and declare the instance on the new type.
    |
274 | instance (Index i) => Estimate (i, i)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

src/SDP/Index.hs:288:1: warning: [-Worphans]
    Orphan instance: instance Index i => Nullable (i, i)
    To avoid this
        move the instance declaration to the module of the class or of the type, or
        wrap the type with a newtype and declare the instance on the new type.
    |
288 | instance (Index i) => Nullable (i, i)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
[12 of 59] Compiling SDP.Unboxed      ( src/SDP/Unboxed.hs, dist/build/SDP/Unboxed.o, dist/build/SDP/Unboxed.dyn_o )
[13 of 59] Compiling SDP.Unboxed.IntAs ( src/SDP/Unboxed/IntAs.hs, dist/build/SDP/Unboxed/IntAs.o, dist/build/SDP/Unboxed/IntAs.dyn_o )
[14 of 59] Compiling SDP.Unboxed.WordAs ( src/SDP/Unboxed/WordAs.hs, dist/build/SDP/Unboxed/WordAs.o, dist/build/SDP/Unboxed/WordAs.dyn_o )
[15 of 59] Compiling SDP.Zip          ( src/SDP/Zip.hs, dist/build/SDP/Zip.o, dist/build/SDP/Zip.dyn_o )
[16 of 59] Compiling SDP.Sort         ( src/SDP/Sort.hs, dist/build/SDP/Sort.o, dist/build/SDP/Sort.dyn_o )
[17 of 59] Compiling SDP.Linear       ( src/SDP/Linear.hs, dist/build/SDP/Linear.o, dist/build/SDP/Linear.dyn_o )
[18 of 59] Compiling SDP.Shaped       ( src/SDP/Shaped.hs, dist/build/SDP/Shaped.o, dist/build/SDP/Shaped.dyn_o )
[19 of 59] Compiling SDP.Set          ( src/SDP/Set.hs, dist/build/SDP/Set.o, dist/build/SDP/Set.dyn_o )
[20 of 59] Compiling SDP.Scan         ( src/SDP/Scan.hs, dist/build/SDP/Scan.o, dist/build/SDP/Scan.dyn_o )
[21 of 59] Compiling SDP.Map          ( src/SDP/Map.hs, dist/build/SDP/Map.o, dist/build/SDP/Map.dyn_o )
[22 of 59] Compiling SDP.LinearM      ( src/SDP/LinearM.hs, dist/build/SDP/LinearM.o, dist/build/SDP/LinearM.dyn_o )
[23 of 59] Compiling SDP.MapM         ( src/SDP/MapM.hs, dist/build/SDP/MapM.o, dist/build/SDP/MapM.dyn_o )
[24 of 59] Compiling SDP.Indexed      ( src/SDP/Indexed.hs, dist/build/SDP/Indexed.o, dist/build/SDP/Indexed.dyn_o )
[25 of 59] Compiling SDP.IndexedM     ( src/SDP/IndexedM.hs, dist/build/SDP/IndexedM.o, dist/build/SDP/IndexedM.dyn_o )
[26 of 59] Compiling SDP.SortM.Insertion ( src/SDP/SortM/Insertion.hs, dist/build/SDP/SortM/Insertion.o, dist/build/SDP/SortM/Insertion.dyn_o )
[27 of 59] Compiling SDP.SortM.Tim    ( src/SDP/SortM/Tim.hs, dist/build/SDP/SortM/Tim.o, dist/build/SDP/SortM/Tim.dyn_o )
[28 of 59] Compiling SDP.Prim.SBytes  ( src/SDP/Prim/SBytes.hs, dist/build/SDP/Prim/SBytes.o, dist/build/SDP/Prim/SBytes.dyn_o )

src/SDP/Prim/SBytes.hs:632:14: warning: [-Wdeprecations]
    In the use of ‘writeM'’ (imported from SDP.IndexedM):
    "will be moved to SDP.MapM.MapM class in sdp-0.3"
    |
632 |     writeM = writeM'
    |              ^^^^^^^

src/SDP/Prim/SBytes.hs:931:32: warning: [-Wdeprecations]
    In the use of ‘writeM'’ (imported from SDP.IndexedM):
    "will be moved to SDP.MapM.MapM class in sdp-0.3"
    |
931 |     writeM'   es = stToMIO ... writeM' (unpack es)
    |                                ^^^^^^^
[29 of 59] Compiling SDP.Prim.SArray  ( src/SDP/Prim/SArray.hs, dist/build/SDP/Prim/SArray.o, dist/build/SDP/Prim/SArray.dyn_o )

src/SDP/Prim/SArray.hs:819:14: warning: [-Wdeprecations]
    In the use of ‘writeM'’ (imported from SDP.IndexedM):
    "will be moved to SDP.MapM.MapM class in sdp-0.3"
    |
819 |     writeM = writeM'
    |              ^^^^^^^

src/SDP/Prim/SArray.hs:1042:14: warning: [-Wdeprecations]
    In the use of ‘writeM'’ (imported from SDP.IndexedM):
    "will be moved to SDP.MapM.MapM class in sdp-0.3"
     |
1042 |     writeM = writeM'
     |              ^^^^^^^

src/SDP/Prim/SArray.hs:1111:30: warning: [-Wdeprecations]
    In the use of ‘writeM'’ (imported from SDP.IndexedM):
    "will be moved to SDP.MapM.MapM class in sdp-0.3"
     |
1111 |     writeM' es = stToMIO ... writeM' (unpack es)
     |                              ^^^^^^^
[30 of 59] Compiling SDP.Prim.TArray  ( src/SDP/Prim/TArray.hs, dist/build/SDP/Prim/TArray.o, dist/build/SDP/Prim/TArray.dyn_o )

src/SDP/Prim/TArray.hs:99:14: warning: [-Wdeprecations]
    In the use of ‘writeM'’
    (imported from SDP.Prim.SArray, but defined in SDP.IndexedM):
    "will be moved to SDP.MapM.MapM class in sdp-0.3"
   |
99 |     writeM = writeM'
   |              ^^^^^^^
[31 of 59] Compiling SDP.ZipM         ( src/SDP/ZipM.hs, dist/build/SDP/ZipM.o, dist/build/SDP/ZipM.dyn_o )
[32 of 59] Compiling Text.Read.SDP    ( src/Text/Read/SDP.hs, dist/build/Text/Read/SDP.o, dist/build/Text/Read/SDP.dyn_o )
[33 of 59] Compiling Text.Show.SDP    ( src/Text/Show/SDP.hs, dist/build/Text/Show/SDP.o, dist/build/Text/Show/SDP.dyn_o )
[34 of 59] Compiling SDP.Templates.AnyChunks ( src/SDP/Templates/AnyChunks.hs, dist/build/SDP/Templates/AnyChunks.o, dist/build/SDP/Templates/AnyChunks.dyn_o )
[35 of 59] Compiling SDP.Unrolled.Unlist ( src/SDP/Unrolled/Unlist.hs, dist/build/SDP/Unrolled/Unlist.o, dist/build/SDP/Unrolled/Unlist.dyn_o )

src/SDP/Unrolled/Unlist.hs:48:1: warning: [-Worphans]
    Orphan instance: instance [safe] Eq1 Unlist
    To avoid this
        move the instance declaration to the module of the class or of the type, or
        wrap the type with a newtype and declare the instance on the new type.
   |
48 | instance Eq1 Unlist
   | ^^^^^^^^^^^^^^^^^^^...

src/SDP/Unrolled/Unlist.hs:60:1: warning: [-Worphans]
    Orphan instance: instance [safe] Ord1 Unlist
    To avoid this
        move the instance declaration to the module of the class or of the type, or
        wrap the type with a newtype and declare the instance on the new type.
   |
60 | instance Ord1 Unlist
   | ^^^^^^^^^^^^^^^^^^^^...

src/SDP/Unrolled/Unlist.hs:72:1: warning: [-Worphans]
    Orphan instance: instance [safe] Zip Unlist
    To avoid this
        move the instance declaration to the module of the class or of the type, or
        wrap the type with a newtype and declare the instance on the new type.
   |
72 | instance Zip Unlist
   | ^^^^^^^^^^^^^^^^^^^...

src/SDP/Unrolled/Unlist.hs:91:1: warning: [-Worphans]
    Orphan instance: instance [safe] Sort (Unlist e) e
    To avoid this
        move the instance declaration to the module of the class or of the type, or
        wrap the type with a newtype and declare the instance on the new type.
   |
91 | instance Sort (Unlist e) e
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^...
[36 of 59] Compiling SDP.Unrolled.STUnlist ( src/SDP/Unrolled/STUnlist.hs, dist/build/SDP/Unrolled/STUnlist.o, dist/build/SDP/Unrolled/STUnlist.dyn_o )
[37 of 59] Compiling SDP.Unrolled.IOUnlist ( src/SDP/Unrolled/IOUnlist.hs, dist/build/SDP/Unrolled/IOUnlist.o, dist/build/SDP/Unrolled/IOUnlist.dyn_o )
[38 of 59] Compiling SDP.ByteList.Ublist ( src/SDP/ByteList/Ublist.hs, dist/build/SDP/ByteList/Ublist.o, dist/build/SDP/ByteList/Ublist.dyn_o )

src/SDP/ByteList/Ublist.hs:47:1: warning: [-Worphans]
    Orphan instance: instance [safe] Unboxed e => Sort (Ublist e) e
    To avoid this
        move the instance declaration to the module of the class or of the type, or
        wrap the type with a newtype and declare the instance on the new type.
   |
47 | instance (Unboxed e) => Sort (Ublist e) e
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
[39 of 59] Compiling SDP.ByteList.STUblist ( src/SDP/ByteList/STUblist.hs, dist/build/SDP/ByteList/STUblist.o, dist/build/SDP/ByteList/STUblist.dyn_o )
[40 of 59] Compiling SDP.ByteList.IOUblist ( src/SDP/ByteList/IOUblist.hs, dist/build/SDP/ByteList/IOUblist.o, dist/build/SDP/ByteList/IOUblist.dyn_o )
[41 of 59] Compiling Control.Concurrent.SDP.TUnlist ( src/Control/Concurrent/SDP/TUnlist.hs, dist/build/Control/Concurrent/SDP/TUnlist.o, dist/build/Control/Concurrent/SDP/TUnlist.dyn_o )
[42 of 59] Compiling Control.Concurent.SDP.TUnlist ( src/Control/Concurent/SDP/TUnlist.hs, dist/build/Control/Concurent/SDP/TUnlist.o, dist/build/Control/Concurent/SDP/TUnlist.dyn_o )
[43 of 59] Compiling SDP.Templates.AnyBorder ( src/SDP/Templates/AnyBorder.hs, dist/build/SDP/Templates/AnyBorder.o, dist/build/SDP/Templates/AnyBorder.dyn_o )

src/SDP/Templates/AnyBorder.hs:538:34: warning: [-Wdeprecations]
    In the use of ‘writeM'’ (imported from SDP.IndexedM):
    "will be moved to SDP.MapM.MapM class in sdp-0.3"
    |
538 |     writeM' (AnyBorder l u es) = writeM' es . offset (l, u)
    |                                  ^^^^^^^
[44 of 59] Compiling SDP.Unrolled.ST  ( src/SDP/Unrolled/ST.hs, dist/build/SDP/Unrolled/ST.o, dist/build/SDP/Unrolled/ST.dyn_o )
[45 of 59] Compiling SDP.Unrolled.IO  ( src/SDP/Unrolled/IO.hs, dist/build/SDP/Unrolled/IO.o, dist/build/SDP/Unrolled/IO.dyn_o )
[46 of 59] Compiling SDP.Unrolled     ( src/SDP/Unrolled.hs, dist/build/SDP/Unrolled.o, dist/build/SDP/Unrolled.dyn_o )
[47 of 59] Compiling SDP.Bytes.ST     ( src/SDP/Bytes/ST.hs, dist/build/SDP/Bytes/ST.o, dist/build/SDP/Bytes/ST.dyn_o )
[48 of 59] Compiling SDP.Bytes.IO     ( src/SDP/Bytes/IO.hs, dist/build/SDP/Bytes/IO.o, dist/build/SDP/Bytes/IO.dyn_o )
[49 of 59] Compiling SDP.Bytes        ( src/SDP/Bytes.hs, dist/build/SDP/Bytes.o, dist/build/SDP/Bytes.dyn_o )
[50 of 59] Compiling SDP.ByteList.ST  ( src/SDP/ByteList/ST.hs, dist/build/SDP/ByteList/ST.o, dist/build/SDP/ByteList/ST.dyn_o )
[51 of 59] Compiling SDP.ByteList.IO  ( src/SDP/ByteList/IO.hs, dist/build/SDP/ByteList/IO.o, dist/build/SDP/ByteList/IO.dyn_o )
[52 of 59] Compiling SDP.ByteList     ( src/SDP/ByteList.hs, dist/build/SDP/ByteList.o, dist/build/SDP/ByteList.dyn_o )
[53 of 59] Compiling SDP.Array.ST     ( src/SDP/Array/ST.hs, dist/build/SDP/Array/ST.o, dist/build/SDP/Array/ST.dyn_o )
[54 of 59] Compiling SDP.Array.IO     ( src/SDP/Array/IO.hs, dist/build/SDP/Array/IO.o, dist/build/SDP/Array/IO.dyn_o )
[55 of 59] Compiling SDP.Array        ( src/SDP/Array.hs, dist/build/SDP/Array.o, dist/build/SDP/Array.dyn_o )
[56 of 59] Compiling Control.Concurrent.SDP.TUnrolled ( src/Control/Concurrent/SDP/TUnrolled.hs, dist/build/Control/Concurrent/SDP/TUnrolled.o, dist/build/Control/Concurrent/SDP/TUnrolled.dyn_o )
[57 of 59] Compiling Control.Concurent.SDP.TUnrolled ( src/Control/Concurent/SDP/TUnrolled.hs, dist/build/Control/Concurent/SDP/TUnrolled.o, dist/build/Control/Concurent/SDP/TUnrolled.dyn_o )
[58 of 59] Compiling Control.Concurrent.SDP.TArray ( src/Control/Concurrent/SDP/TArray.hs, dist/build/Control/Concurrent/SDP/TArray.o, dist/build/Control/Concurrent/SDP/TArray.dyn_o )
[59 of 59] Compiling Control.Concurent.SDP.TArray ( src/Control/Concurent/SDP/TArray.hs, dist/build/Control/Concurent/SDP/TArray.o, dist/build/Control/Concurent/SDP/TArray.dyn_o )
Warning: unknown directive #-}
in src/SDP/Linear.hs  at line 148 col 1
[ 1 of 59] Compiling Control.Exception.SDP ( src/Control/Exception/SDP.hs, dist/build/Control/Exception/SDP.p_o )
cc1: error: unrecognized command-line option ‘--cpp’
cc1: error: command-line option ‘-traditional’ is valid for the driver but not for C

<no location info>: error:
    `cc' failed in phase `C Compiler'. (Exit code: 1)
[ 2 of 59] Compiling SDP.Comparing    ( src/SDP/Comparing.hs, dist/build/SDP/Comparing.p_o )
cc1: error: unrecognized command-line option ‘--cpp’
cc1: error: command-line option ‘-traditional’ is valid for the driver but not for C

<no location info>: error:
    `cc' failed in phase `C Compiler'. (Exit code: 1)
[ 5 of 59] Compiling SDP.Ratio        ( src/SDP/Ratio.hs, dist/build/SDP/Ratio.p_o )
cc1: error: unrecognized command-line option ‘--cpp’
cc1: error: command-line option ‘-traditional’ is valid for the driver but not for C

<no location info>: error:
    `cc' failed in phase `C Compiler'. (Exit code: 1)
[ 9 of 59] Compiling SDP.Tuple        ( src/SDP/Tuple.hs, dist/build/SDP/Tuple.p_o )
cc1: error: unrecognized command-line option ‘--cpp’
cc1: error: command-line option ‘-traditional’ is valid for the driver but not for C

<no location info>: error:
    `cc' failed in phase `C Compiler'. (Exit code: 1)

This seems due to the use of -traditional, however dropping it interestingly causes a new failure:

Building library for sdp-0.2.1.1..
Warning: unknown directive #-}
in src/SDP/Linear.hs  at line 148 col 1
[ 1 of 59] Compiling Control.Exception.SDP ( src/Control/Exception/SDP.hs, dist/build/Control/Exception/SDP.o, dist/build/Control/Exception/SDP.dyn_o )
[ 2 of 59] Compiling SDP.Comparing    ( src/SDP/Comparing.hs, dist/build/SDP/Comparing.o, dist/build/SDP/Comparing.dyn_o )
[ 3 of 59] Compiling SDP.Estimate     ( src/SDP/Estimate.hs, dist/build/SDP/Estimate.o, dist/build/SDP/Estimate.dyn_o )
[ 4 of 59] Compiling SDP.Nullable     ( src/SDP/Nullable.hs, dist/build/SDP/Nullable.o, dist/build/SDP/Nullable.dyn_o )
[ 5 of 59] Compiling SDP.Ratio        ( src/SDP/Ratio.hs, dist/build/SDP/Ratio.o, dist/build/SDP/Ratio.dyn_o )
[ 6 of 59] Compiling SDP.SafePrelude  ( src/SDP/SafePrelude.hs, dist/build/SDP/SafePrelude.o, dist/build/SDP/SafePrelude.dyn_o )
[ 7 of 59] Compiling SDP.Finite       ( src/SDP/Finite.hs, dist/build/SDP/Finite.o, dist/build/SDP/Finite.dyn_o )
[ 8 of 59] Compiling SDP.SortM        ( src/SDP/SortM.hs, dist/build/SDP/SortM.o, dist/build/SDP/SortM.dyn_o )
[ 9 of 59] Compiling SDP.Tuple        ( src/SDP/Tuple.hs, dist/build/SDP/Tuple.o, dist/build/SDP/Tuple.dyn_o )
[10 of 59] Compiling SDP.Shape        ( src/SDP/Shape.hs, dist/build/SDP/Shape.o, dist/build/SDP/Shape.dyn_o )
[11 of 59] Compiling SDP.Index        ( src/SDP/Index.hs, dist/build/SDP/Index.o, dist/build/SDP/Index.dyn_o )

src/SDP/Index.hs:274:1: warning: [-Worphans]
    Orphan instance: instance Index i => Estimate (i, i)
    To avoid this
        move the instance declaration to the module of the class or of the type, or
        wrap the type with a newtype and declare the instance on the new type.
    |
274 | instance (Index i) => Estimate (i, i)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

src/SDP/Index.hs:288:1: warning: [-Worphans]
    Orphan instance: instance Index i => Nullable (i, i)
    To avoid this
        move the instance declaration to the module of the class or of the type, or
        wrap the type with a newtype and declare the instance on the new type.
    |
288 | instance (Index i) => Nullable (i, i)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
[12 of 59] Compiling SDP.Unboxed      ( src/SDP/Unboxed.hs, dist/build/SDP/Unboxed.o, dist/build/SDP/Unboxed.dyn_o )
[13 of 59] Compiling SDP.Unboxed.IntAs ( src/SDP/Unboxed/IntAs.hs, dist/build/SDP/Unboxed/IntAs.o, dist/build/SDP/Unboxed/IntAs.dyn_o )
[14 of 59] Compiling SDP.Unboxed.WordAs ( src/SDP/Unboxed/WordAs.hs, dist/build/SDP/Unboxed/WordAs.o, dist/build/SDP/Unboxed/WordAs.dyn_o )
[15 of 59] Compiling SDP.Zip          ( src/SDP/Zip.hs, dist/build/SDP/Zip.o, dist/build/SDP/Zip.dyn_o )
[16 of 59] Compiling SDP.Sort         ( src/SDP/Sort.hs, dist/build/SDP/Sort.o, dist/build/SDP/Sort.dyn_o )
[17 of 59] Compiling SDP.Linear       ( src/SDP/Linear.hs, dist/build/SDP/Linear.o, dist/build/SDP/Linear.dyn_o )
[18 of 59] Compiling SDP.Shaped       ( src/SDP/Shaped.hs, dist/build/SDP/Shaped.o, dist/build/SDP/Shaped.dyn_o )
[19 of 59] Compiling SDP.Set          ( src/SDP/Set.hs, dist/build/SDP/Set.o, dist/build/SDP/Set.dyn_o )
[20 of 59] Compiling SDP.Scan         ( src/SDP/Scan.hs, dist/build/SDP/Scan.o, dist/build/SDP/Scan.dyn_o )
[21 of 59] Compiling SDP.Map          ( src/SDP/Map.hs, dist/build/SDP/Map.o, dist/build/SDP/Map.dyn_o )

src/SDP/Map.hs:115:5: error:
    parse error (possibly incorrect indentation or mismatched brackets)
    |
115 |     (//) =  toMap ... (++) . assocs
    |     ^
[31 of 59] Compiling SDP.ZipM         ( src/SDP/ZipM.hs, dist/build/SDP/ZipM.o, dist/build/SDP/ZipM.dyn_o )
andreymulik commented 2 years ago

I already encountered this issue when trying to load library in ghci on Windows - it is related to the closing #-} at the beginning of a line in the SDP.Linear module. I plan to fix this soon.