ClojureCLR

"protocols.clj:139 - call to aget can't be resolved." warnings when running REPL

Details

  • Type: Defect Defect
  • Status: Resolved Resolved
  • Priority: Minor Minor
  • Resolution: Completed
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Environment:
    Windows 7 x64, .NET 4.5, Clojure-CLR 1.4.1

Description

I've compiled the Clojure-CLR-1.4.1 code from the Github repository using the 'Release' configuration.

When I run the REPL I get a lot of duplicated warnings. I've pasted the warnings below.

C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1>Clojure.Main.exe
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Reflection warning, C:\Users\Frank.Hale\Desktop\clojure-clr-1.4.1\clojure\core\protocols.clj:139 - call to aget can't be resolved.
Clojure 1.4.1
user=>

Activity

Hide
Frank Hale added a comment - - edited

I compiled from the Clojure-CLR 1.4.1 branch in 'Release' mode and then copied the binaries out to a directory and opened a terminal there to run the REPL. The warnings show before I can type in the REPL.

Show
Frank Hale added a comment - - edited I compiled from the Clojure-CLR 1.4.1 branch in 'Release' mode and then copied the binaries out to a directory and opened a terminal there to run the REPL. The warnings show before I can type in the REPL.
Hide
David Miller added a comment -

Can you send a directory listing?

Also, look at the Clojure 1.4.1 zip at https://github.com/clojure/clojure-clr/downloads and compare the list of dlls.

There should be a clojure.core.protocols.clj.dll.

Show
David Miller added a comment - Can you send a directory listing? Also, look at the Clojure 1.4.1 zip at https://github.com/clojure/clojure-clr/downloads and compare the list of dlls. There should be a clojure.core.protocols.clj.dll.
Hide
Frank Hale added a comment -

Okay I have clojure.core.protocols.clj.dll in my build.

I downloaded the 1.4.1 Debug build from https://github.com/clojure/clojure-clr/downloads and it gives me the same warnings.

Show
Frank Hale added a comment - Okay I have clojure.core.protocols.clj.dll in my build. I downloaded the 1.4.1 Debug build from https://github.com/clojure/clojure-clr/downloads and it gives me the same warnings.
Hide
Frank Hale added a comment -

FWIW, I've attached the file listing of the 1.4.1 release build I made.

Show
Frank Hale added a comment - FWIW, I've attached the file listing of the 1.4.1 release build I made.
Hide
David Miller added a comment -

My new guess is timestamps.
If the timestamp on clojure\core\protocols.clj is newer than the one on .\clojure.core.protocols.clj.dll, then the .clj will be loaded.
(If timestamps are same to the discernment of dir, just delete the clojure subdirectory.)

Show
David Miller added a comment - My new guess is timestamps. If the timestamp on clojure\core\protocols.clj is newer than the one on .\clojure.core.protocols.clj.dll, then the .clj will be loaded. (If timestamps are same to the discernment of dir, just delete the clojure subdirectory.)
Hide
Frank Hale added a comment -

This is reproducable on 2 computers that I use. I'm going to close this because the 1.5.x branch does not do this. I'll just move to 1.5 branch instead.

Show
Frank Hale added a comment - This is reproducable on 2 computers that I use. I'm going to close this because the 1.5.x branch does not do this. I'll just move to 1.5 branch instead.
Hide
Frank Hale added a comment -

This can be closed if you want.

Show
Frank Hale added a comment - This can be closed if you want.
Hide
David Miller added a comment -

Will do.
Working on finishing 1.5 as fast as I can.

Show
David Miller added a comment - Will do. Working on finishing 1.5 as fast as I can.
Hide
David Miller added a comment -

Reporter indicates this is not a problem in 1.5RC. No intention to revisit this in 1.4.1.

Show
David Miller added a comment - Reporter indicates this is not a problem in 1.5RC. No intention to revisit this in 1.4.1.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: