[Haskell-cafe] Linking + zstd on FreeBSD

Carter Schonwald carter.schonwald at gmail.com
Thu Jul 9 21:44:15 UTC 2020


That’s a really good point about conditional compilation / cpp in the rts
across platforms.

On Thu, Jul 9, 2020 at 2:23 PM Brandon Allbery <allbery.b at gmail.com> wrote:

> I can think of a few more possibilities. Has anyone checked whether
> the RTS symbol is, say, conditional on non-glibc?
>
> On 7/9/20, Carter Schonwald <carter.schonwald at gmail.com> wrote:
> > That’s a really good question!
> >
> > I guess one way to narrow it down is what’s the  linker implementation on
> > each env? I think you can arrange to use the same ld impl on bsd and
> Linux
> > if you want, since both are elf platforms.  Are they both doing dynamic
> or
> > static linking? Are they using the same Ld implementation?  It’s
> certainly
> > strange to have there be a difference in behavior between two x64 elf
> > platforms,
> >
> > On Thu, Jul 9, 2020 at 8:31 AM Vanessa McHale <vamchale at gmail.com>
> wrote:
> >
> >> Fair enough, I suppose what I don't understand is: why is this only
> >> happening on FreeBSD (in Vagrant)? I am able to compile on Linux, Mac,
> >> and
> >> Windows!
> >>
> >> Cheers,
> >> Vanessa McHale
> >> On 7/8/20 5:33 PM, Carter Schonwald wrote:
> >>
> >> When binding c libraries, I often prefix a custom/unique Descriptive
> >> sequence  for All linker visible symbols.
> >>
> >> So Eg you could do vanmach_zstdlib_ as a prefix
> >>
> >> On Tue, Jun 30, 2020 at 12:32 PM Jinwoo Lee <jinwoo68 at gmail.com> wrote:
> >>
> >>> The error message seems to say why. The GHC RTS already has xxhash.c
> and
> >>> zstd also has that file. I'm not sure how to resolve this though.
> >>>
> >>>
> >>> On Mon, Jun 29, 2020 at 7:44 AM Vanessa McHale <vamchale at gmail.com>
> >>> wrote:
> >>>
> >>>> I tried linking against zstd within a Vagrant simulating FreeBSD. I
> get
> >>>> the following:
> >>>>
> >>>> ld: error: duplicate symbol: XXH64
> >>>> >>> defined at xxhash.c
> >>>> >>>            xxhash.o:(XXH64) in archive
> >>>>
> >>>>
> /home/vagrant/.cabal/store/ghc-8.8.3/zstd-0.1.2.0-c8ee757c8e8a7307779ab3cfbc91f3445940e16bbf8f9916f4c90432a0ac499e/lib/libHSzstd-0.1.2.0-c8ee757c8e8a7307779ab3cfbc91f3445940e16bbf8f9916f4c90432a0ac499e.a
> >>>> >>> defined at xxhash.c:693
> >>>> (/wrkdirs/usr/ports/lang/ghc/work/ghc-8.8.3/rts/xxhash.c:693)
> >>>> >>>            RTS.o:(.text.XXH64+0x0) in archive
> >>>> /usr/local/lib/ghc-8.8.3/rts/libHSrts.a
> >>>>
> >>>> ...
> >>>>
> >>>> I am using GHC version 8.8.3_1 and cabal-install 3.0 installed by
> 'sudo
> >>>> pkg install ...'
> >>>>
> >>>> (I was trying to run cabal install language-dickinson)
> >>>>
> >>>> Cheers,
> >>>> Vanessa McHale
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Haskell-Cafe mailing list
> >>>> To (un)subscribe, modify options or view archives go to:
> >>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> >>>> Only members subscribed via the mailman list are allowed to post.
> >>>
> >>> _______________________________________________
> >>> Haskell-Cafe mailing list
> >>> To (un)subscribe, modify options or view archives go to:
> >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> >>> Only members subscribed via the mailman list are allowed to post.
> >>
> >> _______________________________________________
> >> Haskell-Cafe mailing list
> >> To (un)subscribe, modify options or view archives go to:
> >> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> >> Only members subscribed via the mailman list are allowed to post.
> >
>
>
> --
> brandon s allbery kf8nh
> allbery.b at gmail.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20200709/f6de34fc/attachment.html>


More information about the Haskell-Cafe mailing list