Code Monkey home page Code Monkey logo

Comments (12)

jakubfijalkowski avatar jakubfijalkowski commented on August 20, 2024 1

Hi @turboMaCk !

Thank you very much for tests! I've forgotten about the existence of cabal-install and that it should work with cabal too (I've really got used to stack, and I don't use Haskell that much). :) Will investigate this once again on the weekend or some time soon.

from hlibsass.

jakubfijalkowski avatar jakubfijalkowski commented on August 20, 2024

Thanks for reporting!

I must have messed with linker paths too much (here, if anyone is interested). I don't have the ability to test it on macOS for now, but I'll probably be able to do it in the coming month.

Do you know if this warning makes hlibsass unusable on macOS or does it have no effect?

from hlibsass.

meoblast001 avatar meoblast001 commented on August 20, 2024

Sadly I cannot test this myself because I do not have macOS. This came as a bug report on one of my libraries. @turboMaCk was able to confirm this issue in my library and can perhaps let you know if this caused any functionality problems.

from hlibsass.

turboMaCk avatar turboMaCk commented on August 20, 2024

Hello.
I haven't noticed any issue while using hlibsass on Mac OS (10.12.1). I'm also free to help to investigate this.

from hlibsass.

jakubfijalkowski avatar jakubfijalkowski commented on August 20, 2024

Hello once again. Sorry for the (really long) delay.

I've finally been able to work on this issue - the problem lies in the updateExtraLibDirs in Setup.hs - Cabal stores the generated path (and other extra-lib-dirs) in .conf file in the GHC's packages directory, but it points to tmp directory and gets deleted right after the package is installed. The fun thing is - the problem exists on every system, but only macOS version of ld prints the warning.

I've tried to tweak Setup.hs so that it does not set extraLibDirs but still specify correct library path for ld, but I failed (configure works, but BuildInfo::ldOptions/BuildInfo::options is ignored when linking).

I leave it as-is for now.

from hlibsass.

jakubfijalkowski avatar jakubfijalkowski commented on August 20, 2024

This should be fixed in hlibsass 0.1.5.2 and hsass 0.4.1. Could you check this on macOS (I don't have access to macOS for now)?

from hlibsass.

jakubfijalkowski avatar jakubfijalkowski commented on August 20, 2024

Okay, I've confirmed that the warning does not occur anymore (the temp path is no longer added to the extra lib dirs). Closing.

from hlibsass.

turboMaCk avatar turboMaCk commented on August 20, 2024

Hello @jakubfijalkowski 👋
sorry for late response I've been quite busy recently. I've tried to compile this lib on mac but I'm not that experienced in Haskell ecosystem and I've ran into some issue. Today I had some time and realized I've missed presence of libsass submodule within this repository 🤕 . After pulling submodule I was able to compile everything without any issue using stack.

If I understand this correctly issue happened in linking time so building this from source should be enough to confirm that issue is resolved, right? I can confirm cabal build runs smoothly on macOs 10.12.3. But I still have a warning from ld . This is full output in case you're interested:

❯❯❯ cabal build                                                                                                                                                                                                                                                 
Package has never been configured. Configuring with default flags. If this
fails, please run configure manually.
Resolving dependencies...
[1 of 1] Compiling Main             ( dist/setup/setup.hs, dist/setup/Main.o )
Linking ./dist/setup/setup ...
make: Nothing to be done for `all'.
Configuring hlibsass-0.1.6.0...
Building hlibsass-0.1.6.0...
Preprocessing library hlibsass-0.1.6.0...
[1 of 7] Compiling Bindings.Libsass.Types ( Bindings/Libsass/Types.hs, dist/build/Bindings/Libsass/Types.o )
[2 of 7] Compiling Bindings.Libsass.Values ( Bindings/Libsass/Values.hs, dist/build/Bindings/Libsass/Values.o )
[3 of 7] Compiling Bindings.Libsass.Wrappers ( Bindings/Libsass/Wrappers.hs, dist/build/Bindings/Libsass/Wrappers.o )
[4 of 7] Compiling Bindings.Libsass.Functions ( Bindings/Libsass/Functions.hs, dist/build/Bindings/Libsass/Functions.o )
[5 of 7] Compiling Bindings.Libsass.Context ( Bindings/Libsass/Context.hs, dist/build/Bindings/Libsass/Context.o )
[6 of 7] Compiling Bindings.Libsass.Base ( Bindings/Libsass/Base.hs, dist/build/Bindings/Libsass/Base.o )
[7 of 7] Compiling Bindings.Libsass ( Bindings/Libsass.hs, dist/build/Bindings/Libsass.o )
ld: warning: directory not found for option '-L/Users/marek/.cabal/lib/x86_64-osx-ghc-8.0.2/hlibsass-0.1.6.0-9hHC1JuOV4iHxgsjeVNDbz'

I've tried to run tests as well - all passes.

cheers
Marek

from hlibsass.

dunnl avatar dunnl commented on August 20, 2024

Not sure if this is related but... I'm also getting linking errors on OS X that I can't reproduce on Linux. My project is also a hakyll site using hakyll-sass. Ironically I have missing symbol errors like this

lookupSymbol failed in relocateSection (RELOC_GOT)
/Users/dunnl/.stack/snapshots/x86_64-osx/lts-9.5/8.0.2/lib/x86_64-osx-ghc-8.0.2/hlibsass-0.1.6.1-5YgnetLqItEKQRTonDV5HP/libsass.a: unknown symbol `___dso_handle'
ghc: Could not on-demand load symbol '__ZN4Sass10VectorizedINS_10SharedImplINS_15Simple_SelectorEEEE20adjust_after_pushingES3_'

and duplicate symbol errors like this:

GHC runtime linker: fatal error: I found a duplicate definition for symbol
   __ZN4Sass15Simple_SelectorC2ENS_11ParserStateENSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE
whilst processing object file
   /Users/dunnl/.stack/snapshots/x86_64-osx/lts-9.5/8.0.2/lib/x86_64-osx-ghc-8.0.2/hlibsass-0.1.6.1-5YgnetLqItEKQRTonDV5HP/libsass.a
The symbol was previously defined in
   /Users/dunnl/.stack/snapshots/x86_64-osx/lts-9.5/8.0.2/lib/x86_64-osx-ghc-8.0.2/hlibsass-0.1.6.1-5YgnetLqItEKQRTonDV5HP/libsass.a(node.o)
This could be caused by:
   * Loading two different object files which export the same symbol
   * Specifying the same object file twice on the GHCi command line
   * An incorrect `package.conf' entry, causing some object to be
     loaded twice.

I've tried nuking .stack-work/ and even ~/.stack/snapshots/x86_64-osx/lts-9.5/ (and lts-9.6) but no luck. stack.yaml is pointing to lts-9.6 and a specific git commit of hakyll-sass here, but fiddling with the configuration doesn't make the problem go away.

Does my issue sound related to this one? I am able to build the master branch of hlibsass with stack without warnings.

from hlibsass.

dunnl avatar dunnl commented on August 20, 2024

I've traced my issue to a TemplateHaskell expression in an unrelated module. I've opened an issue on the other project here if anyone is interested.

from hlibsass.

jakubfijalkowski avatar jakubfijalkowski commented on August 20, 2024

Hey @dunnl,

Thank you for the report and the investigation! I think it is related to issue #1 and not this one. Nonetheless, it's good to know that this might not be related to hlibsass.

from hlibsass.

jakubfijalkowski avatar jakubfijalkowski commented on August 20, 2024

Closing since there wasn't any activity recently (and the issue seems to be fixed).

from hlibsass.

Related Issues (14)

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.