Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add .travis.yml and test target#12

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
dmjio wants to merge4 commits intomaster
base:master
Choose a base branch
Loading
fromtravis
Open

Add .travis.yml and test target#12

dmjio wants to merge4 commits intomasterfromtravis

Conversation

dmjio
Copy link
Member

No description provided.

@chessai
Copy link
Collaborator

Why not use haskell-ci (which is really good), using travis for ubuntu? Unless you can have multiple travis setups for nix and non-nix builds. We could potentially test-drive typhon here for nix

dmjio reacted with rocket emoji

@dmjio
Copy link
MemberAuthor

@chessai I'll check out haskell-ci tonight, bigger issue is why cabal on ubuntu doesn't respectextra-lib-dirs andextra-include-dirs in the cabal file aftercabal configure

@noughtmare
Copy link

@chessai try passing the-v3 flag to cabal.

@chessai
Copy link
Collaborator

why is a travis build not triggering on the most recent commits?

@chessaichessai closed thisNov 6, 2019
@chessaichessai reopened thisNov 6, 2019
@noughtmare
Copy link

@chessai It is working again, but you added-v3 in the wrong place.

@noughtmare
Copy link

noughtmare commentedNov 6, 2019
edited
Loading

The log shows:

/usr/bin/gcc returned ExitFailure 1 with error message:gcc: error: /opt/arrayfire/lib: No such file or directory

I think this is because of theld-options field in the cabal file. I think it is best if the entire field is removed completely.

@chessai
Copy link
Collaborator

okay, configure seems to succeed now. however, hspec-discover fails.

@noughtmare
Copy link

Yes, I fixed that error on my machine by runningcabal install hspec-discover.

@chessai
Copy link
Collaborator

most recent failure seems spurious (just adding hvr-ppa)

@chessai
Copy link
Collaborator

changedcabal to${CABAL}. typo

@chessai
Copy link
Collaborator

use $WITHCOMPILER

@chessai
Copy link
Collaborator

sorry, i keep forgetting that git with do weird things with '$'-prefixed strings.

@noughtmare
Copy link

Now we're seeing real errors 🎉

chessai reacted with hooray emoji

@chessai
Copy link
Collaborator

okay, the library is building, but running anything is failing with:

/tmp/dist-test.N8AS/dist-newstyle/build/x86_64-linux/ghc-8.8.1/arrayfire-0.1.0.0/build/libHSarrayfire-0.1.0.0-inplace.a(LAPACK.o)(.text+0x71f): error: undefined reference to 'af_pinverse'/tmp/dist-test.N8AS/dist-newstyle/build/x86_64-linux/ghc-8.8.1/arrayfire-0.1.0.0/build/libHSarrayfire-0.1.0.0-inplace.a(Image.o)(.text+0x48a5): error: undefined reference to 'af_iterative_deconv'/tmp/dist-test.N8AS/dist-newstyle/build/x86_64-linux/ghc-8.8.1/arrayfire-0.1.0.0/build/libHSarrayfire-0.1.0.0-inplace.a(Image.o)(.text+0x4be4): error: undefined reference to 'af_inverse_deconv'/tmp/dist-test.N8AS/dist-newstyle/build/x86_64-linux/ghc-8.8.1/arrayfire-0.1.0.0/build/libHSarrayfire-0.1.0.0-inplace.a(LAPACK.o)(.text+0x1000): error: undefined reference to 'af_pinverse'/tmp/dist-test.N8AS/dist-newstyle/build/x86_64-linux/ghc-8.8.1/arrayfire-0.1.0.0/build/libHSarrayfire-0.1.0.0-inplace.a(Signal.o)(.text+0x4aa): error: undefined reference to 'af_approx1_uniform'/tmp/dist-test.N8AS/dist-newstyle/build/x86_64-linux/ghc-8.8.1/arrayfire-0.1.0.0/build/libHSarrayfire-0.1.0.0-inplace.a(Signal.o)(.text+0xa6f): error: undefined reference to 'af_approx2_uniform'

@noughtmare
Copy link

That was fixed in#17

dmjio reacted with thumbs up emoji

@chessai
Copy link
Collaborator

ok, rebasing

@chessai
Copy link
Collaborator

once a build with 8.8.1 passes, i will re-add the older ghcs

dmjio reacted with thumbs up emoji

@noughtmare
Copy link

It seems that#23 forgot to also remove the tests for the Ord instance.

@chessai
Copy link
Collaborator

/tmp/dist-test.Iv7D/dist-newstyle/build/x86_64-linux/ghc-8.8.1/arrayfire-0.3.0.0/t/test/build/test/test: error while loading shared libraries: libaf.so.3: cannot open shared object file: No such file or directoryTest suite test: FAIL Test suite logged to: /tmp/dist-test.Iv7D/dist-newstyle/build/x86_64-linux/ghc-8.8.1/arrayfire-0.3.0.0/t/test/test/arrayfire-0.3.0.0-test.log 0 of 1 test suites (0 of 1 test cases) passed. -----BEGIN CABAL OUTPUT-----cabal: Tests failed for test:test from arrayfire-0.3.0.0.-----END CABAL OUTPUT-----

looks like this isnt getting copied in properly

@noughtmare
Copy link

noughtmare commentedNov 6, 2019
edited
Loading

@chessai
Copy link
Collaborator

hmm. that is strange.

@chessai
Copy link
Collaborator

do i need to remove the Ord tests from the test suite?

@noughtmare
Copy link

Yes, I think so.

dmjio reacted with thumbs up emoji

@chessai
Copy link
Collaborator

now we at least see the same error on both.

@noughtmare
Copy link

noughtmare commentedNov 6, 2019
edited
Loading

Oh, I think I know how to fix this. Thelinux documentation of arrayfire mentions that you have to do this:

Given sudo permissions, you can add the ArrayFire libraries via ldconfig like so:

echo /opt/arrayfire/lib64 > /etc/ld.so.conf.d/arrayfire.confsudo ldconfig

Otherwise, you will need to set the LD_LIBRARY_PATH environment variable in order to let your shared library loader find the ArrayFire libraries.

@noughtmare
Copy link

noughtmare commentedNov 6, 2019
edited
Loading

I think that is also the reason for the ld-options field in the cabal file.

So another alternative we have is putting:

ld-options: -Wl,-rpath /opt/arrayfire/lib64

back in the cabal file.

(not-Wl,-rpath /opt/arrayfire/lib)

@chessai
Copy link
Collaborator

we could do that. would it be better instead to doexport LD_LIBRARY_PATH="/opt/arrayfire/lib64:$LD_LIBRARY_PATH"?

@noughtmare
Copy link

Yes, that would also work.

@noughtmare
Copy link

I don't know if it carries over from before-install to script, but we will see.

@chessai
Copy link
Collaborator

me either. i should probably just do it right after the arrayfire script finishes.

@chessai
Copy link
Collaborator

failure on push is spurious.

@chessai
Copy link
Collaborator

actually, those have to be persisting, because a lot of them are actually used during install. so i'm less worried about that. for example, if the extension to PATH to include $CABALHOME/bin didn't persist, the hspec-discover failure would still be occurring.

@chessai
Copy link
Collaborator

extending LD_LIBRARY_PATH worked.

Test suite now fails with:

Failures:  test/ArrayFire/ArithSpec.hs:31:7:   1) ArrayFire.Arith, Arith tests, Should take cubed root       expected: ArrayFire Array                 [1 1 1 1]                     3.0000                          but got: ArrayFire Array                 [1 1 1 1]                     3.0000                    To rerun use: --match "/ArrayFire.Arith/Arith tests/Should take cubed root/"Randomized with seed 938744424

Which i think is a problem with floating point arithemtic

@noughtmare
Copy link

test/ArrayFire/ArithSpec.hs:31:7: 1) ArrayFire.Arith, Arith tests, Should take cubed root     expected: ArrayFire Array               [1 1 1 1]                   3.0000       but got: ArrayFire Array               [1 1 1 1]                   3.0000

🤔

@chessai
Copy link
Collaborator

perhaps we should add ashouldBeEps :: Array Double -> ArrayFire Double -> Expectation that compares for equality within some epsilon.

@chessai
Copy link
Collaborator

push failure is spurious

@chessai
Copy link
Collaborator

chessai commentedNov 6, 2019
edited
Loading

nice. it built and passed.

dmjio reacted with rocket emoji

@chessai
Copy link
Collaborator

added ghc 8.6.5 and 8.4.4.

dmjio reacted with thumbs up emoji

@chessai
Copy link
Collaborator

Configure fails on older ghcs/cabal 2.4. Havent looked into it.

@chessai
Copy link
Collaborator

i am going to get arrayfire locally so i can test without travis. i don't know why configure is failing on older ghcs, but not 881 with cabal 3.0

@noughtmare
Copy link

lapack spec: failing with "free(): invalid next size (normal)"

I get a similar error message in#13 (comment).

- use haskell-ci- download arrayfire installer and unpack to /opt/arrayfire/- remove Ord tests from test suite- use shouldBeEps for comparing Array Doublenix updates- change shellHooks to use runhaskell instead of cabal-v1- extend LD_LIBRARY_PATH to include $AF_LIB- ghcid shellHook uses -fno-nocode- get tests to build and _almost_ pass
@chessai
Copy link
Collaborator

just trying to appease travis right now, because locally everything is fine.

@chessai
Copy link
Collaborator

OK, we now have CI for GHC 8.4.4, 8.6.5, and 8.8.1.@noughtmare@dmjio please review when you have time.

@chessai
Copy link
Collaborator

have to add back LAPACK/doctest tests

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@noughtmarenoughtmarenoughtmare left review comments

@chessaichessaichessai left review comments

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

3 participants
@dmjio@chessai@noughtmare

[8]ページ先頭

©2009-2025 Movatter.jp