Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 07 18:34
    alexarchambault closed #1620
  • Dec 07 18:34
    alexarchambault commented #1620
  • Dec 07 18:34
    alexarchambault opened #1620
  • Dec 06 15:52
    alexarchambault closed #1613
  • Dec 03 22:11
    tgodzik synchronize #1477
  • Dec 03 17:51
    tgodzik synchronize #1477
  • Dec 03 13:52

    bloopoid on gh-pages

    Deploy website Deploy website … (compare)

  • Dec 03 13:25

    tgodzik on master

    Send TestResult to Debuggee Lis… Bump scala-debug-adapter version Fix tests and 1 more (compare)

  • Dec 03 13:25
    tgodzik closed #1607
  • Dec 02 20:03

    bloopoid on gh-pages

    Deploy website Deploy website … (compare)

  • Dec 02 19:39

    tgodzik on master

    Ignore hydra test Merge pull request #1619 from t… (compare)

  • Dec 02 19:39
    tgodzik closed #1619
  • Dec 02 18:40
    kpodsiad synchronize #1607
  • Dec 02 18:06
    kpodsiad synchronize #1607
  • Dec 02 17:35
    alexarchambault synchronize #1562
  • Dec 02 17:20
    tgodzik opened #1619
  • Dec 02 16:56

    bloopoid on gh-pages

    Deploy website Deploy website … (compare)

  • Dec 02 16:31

    tgodzik on master

    Fix regex used for HydraCompile… Merge pull request #1618 from t… (compare)

  • Dec 02 16:31
    tgodzik closed #1618
  • Dec 02 16:31
    tgodzik commented #1618
Tomasz Godzik
@tgodzik
what does coursier/bin/bloop contain ?
where do you see it executing explicitely the aux file?
Tomasz Godzik
@tgodzik
ok, so it seems that cs actually downloads the jar and builds that shared library object using natve image
it should be able to use it, but somehow it doesn't seem to work on NixOS
prebuilt-only should help out here, but it seems it doesn't download the file itself
and just does the same
and JVM version is broken, which I will be fixing soon
Tomasz Godzik
@tgodzik
@sjfloat just asked around and .bloop.aux is the copied native executable, bloop just sets up a couple of additional variables
Steve Jones
@sjfloat
I'm confident that that's the intention. However the file that is actually being copied is a shared object.
$ readelf -l ~/.local/share/coursier/bin/.bloop.aux 

Elf file type is DYN (Shared object file)
Entry point 0x118240
There are 9 program headers, starting at offset 64

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  PHDR           0x0000000000000040 0x0000000000000040 0x0000000000000040
                 0x00000000000001f8 0x00000000000001f8  R      0x8
  INTERP         0x0000000000000238 0x0000000000000238 0x0000000000000238
                 0x000000000000001c 0x000000000000001c  R      0x1
      [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
  LOAD           0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x00000000026afd48 0x00000000026afd48  R E    0x200000
  LOAD           0x00000000026b0748 0x00000000028b0748 0x00000000028b0748
                 0x0000000000006938 0x0000000000006d20  RW     0x200000
  DYNAMIC        0x00000000026b3928 0x00000000028b3928 0x00000000028b3928
                 0x0000000000000250 0x0000000000000250  RW     0x8
  NOTE           0x0000000000000254 0x0000000000000254 0x0000000000000254
                 0x0000000000000044 0x0000000000000044  R      0x4
  GNU_EH_FRAME   0x00000000026a98e0 0x00000000026a98e0 0x00000000026a98e0
                 0x0000000000000fb4 0x0000000000000fb4  R      0x4
  GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000
                 0x0000000000000000 0x0000000000000000  RW     0x10
  GNU_RELRO      0x00000000026b0748 0x00000000028b0748 0x00000000028b0748
                 0x00000000000038b8 0x00000000000038b8  R      0x1

 Section to Segment mapping:
  Segment Sections...
   00     
   01     .interp 
   02     .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .plt.got .text .fini .rodata .svm_heap .eh_frame_hdr .eh_frame 
   03     .init_array .fini_array .data.rel.ro .dynamic .got .data .bss 
   04     .dynamic 
   05     .note.ABI-tag .note.gnu.build-id 
   06     .eh_frame_hdr 
   07     
   08     .init_array .fini_array .data.rel.ro .dynamic .got
Steve Jones
@sjfloat
It seems that the file .bloop.aux isn't being built correctly.
Steve Jones
@sjfloat
OK, this is weird and unexpected. I install coursier itself with nix. And Somehow I'm getting version 2.0.16.
Tomasz Godzik
@tgodzik
it seems that I also have shared library, but it's being correctly invoked with bloop
was that the same coursier version as before?
Steve Jones
@sjfloat
Which is the latest version according to github. But 2.0.13 is the latest mentioned at https://get-coursier.io/
Which version is recommended?
In answer, I'm using 2.0.12 on one machine and 2.0.16 on another. But the behavior is the same on both.
What shell and shell version are you using? Maybe the shell is doing something magical in the working case.
I've never heard of anyone being able to execute a shared object file before.
Tomasz Godzik
@tgodzik
it works on normal bash
Ubuntu + bash
Steve Jones
@sjfloat
OK, and what version? I'm on 4.4.23 on one machine and 5.0.18 on the other.
(I tried zsh too, btw, just to see if was different -- it wasn't :( )
Tomasz Godzik
@tgodzik
I think native image is creating an entry point and that's why it's possible to execute it https://www.graalvm.org/reference-manual/native-image/#build-a-shared-library
I don't think it has anything to do with bash
works on fish also
Steve Jones
@sjfloat
(Agreed, I think the shell is not the problem)
Tomasz Godzik
@tgodzik
this should work, as it works for many different apps that use coursier
and it's not really Bloop specific
you could try downloading the executable directly from the release page
as a workaround
Steve Jones
@sjfloat
Are you able to execute .bloop.aux directly?
Steve Jones
@sjfloat
I wouldn't expect it work correctly, of course.
Tomasz Godzik
@tgodzik
it does :s
 ~/.l/s/c/bin .bloop.aux about                                                                                                        czw, 29 lip 2021, 19:05:54
bloop v1.4.8-19-4d9f966b

Using Scala v2.12.8 and Zinc v1.3.0-M4+46-edbe573e
Running on Java JDK v1.8.0_292 (/usr/lib/jvm/java-8-openjdk-amd64/jre)
  -> Supports debugging user code, Java Debug Interface (JDI) is available.
Maintained by the Scala Center (Jorge Vicente Cantero, Martin Duhem)
Steve Jones
@sjfloat
Hmm
Tomasz Godzik
@tgodzik
just checked and this is the same file as the ones here https://github.com/scalacenter/bloop/releases/tag/v1.4.8
Steve Jones
@sjfloat

you could try downloading the executable directly from the release page

Yes, I'll try that

Tomasz Godzik
@tgodzik
the executable is produced via sbt bloopgun/graalvm-native-image:packageBin which seems a standard way of doing things
might it be that what native image creates by default is an executable shared object lib ?
Steve Jones
@sjfloat
I get the same behavior with the binary I downloaded from that site
This is all very, very strange.
Tomasz Godzik
@tgodzik
ok, if everything fails maybe you can use the latest version cs install bloop-jvm:1.4.8-90-77e59d70
I am still looking into some issues before releasing a new full version
bloop-jvm will also be the executable name in this case
Steve Jones
@sjfloat
That one works! Thanks.
On both machines. Thanks again.
Hanns Holger Rutz
@Sciss

Hi there. I have a minimal sbt build like

lazy val root = project.in(file("."))
  .settings(
    scalaVersion := "2.13.6",
    libraryDependencies += "de.sciss" %% "mellite-app" % "3.6.1"
  )

and I want to avoid that metals needs to run bloopInstall, i.e. I want to skip sbt altogether. Can I generate the equivalent of bloopInstall easily using the bloop-config library?

Hanns Holger Rutz
@Sciss
the website docs say I can use bloop.config.Config.File.write() but that method does not exist (bloop 1.4.8). How do I write a bloop config ?