Issue while Installing daml on ubuntu machine

Hi,

I am installing daml on ubuntu but while installing i am getting error that :

ERROR: ld.so: object '/usr/$LIB/libctxXrandrhook.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Installing SDK release from directory.
ERROR: ld.so: object '/usr/$LIB/libctxXrandrhook.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Bash completions installed for DAML assistant.
ERROR: ld.so: object '/usr/$LIB/libctxXrandrhook.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Zsh completions installed for DAML assistant.
To use them, add '~/.daml/zsh' to your $fpath, e.g. by adding the following
to the beginning of '~/.zshrc' before you call 'compinit':
fpath=(~/.daml/zsh $fpath)
2 Likes

Hi @Neha_saini06 welcome to the Daml Forum :wave:t2:

What method are you using to install Daml on Ubuntu?

2 Likes

Hi @Neha_saini06

LD tries to preload any library listed in that variable, and when it cannot find it, will complain about this.
Did you or any script set up the env. variable LD_PRELOAD in the shell session you were using? Maybe something which relied on the shared object in the message before, but you removed it and that library along with its dependencies.

Looks like the installer finished successfully. Did you try to run any Daml Assistant command?

1 Like

Hi, I am using the below command in terminal

curl -sSL https://get.daml.com/ | sh

1 Like

Hi, I am not able to find any command in .profile for LD_PRELOAD.

Yes i tried daml commands like daml version, daml build, daml start all are giving me the preload error

1 Like

Can you run echo $LD_PRELOAD in a terminal and show us the output?

1 Like

image

1 Like

If you just run export LD_PRELOAD="" in your interactive session you should see these messages go away.
Are you using a Citrix environment? From the name it looks like it is used to do automatic virtual screen resize to match the Citrix display window you use.

2 Likes

By doing export LD_PRELOAD the messages are removing but if i try to open new terminal then again this messages are appearing.
Yes i am using citrix environment

1 Like

By using LD_PRELOAD only the errors are getting removed from that terminal only. I did daml build and daml start. Daml start is giving me below error:

1 Like

How did you get there? What are you trying to build? Could you share a bit more of the context before the Exception line? This seems unrelated to the LD_PRELOAD issue (which, by the way, seems annoying but ultimately benign: it’s a warning that your computer could not find a library we don’t need, and thus hasn’t loaded it).

Also note that it’s a lot easier for others to read your error messages if you copy/paste them as text rather than as screenshots. You can put code & terminal sessions in-between triple-backticks (```) such that:

```
ERROR: ld.so: object ‘/usr/$LIB/libctxXrandrhook.so’ from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Installing SDK release from directory.
ERROR: ld.so: object ‘/usr/$LIB/libctxXrandrhook.so’ from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
```

renders as:

ERROR: ld.so: object ‘/usr/$LIB/libctxXrandrhook.so’ from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Installing SDK release from directory.
ERROR: ld.so: object ‘/usr/$LIB/libctxXrandrhook.so’ from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
1 Like

Let me explain step by step:
First i tried to install daml on ubuntu machine (which i am connecting through citrix app), i got the LD_PRELOAD error, which i shared initially. I

ERROR: ld.so: object ‘/usr/$LIB/libctxXrandrhook.so’ from LD_PRELOAD cannot be preloaded (cannot open shared object 

tried installing using curl command and also did using manual installation, in both i was getting error.
Then in one of the comment it was suggested that do export LD_PRELOAD="" by this you wll not get the error of preload. After that error was not coming but when i did daml start i got below error :

Exception in thread "main" java.lang.IllegalArgumentException: unknown module 272fa5215c68d06fd1644d8da6c5dbc4666e52557208f965d2aa569786bf859d:Main
	at com.daml.lf.data.package$.$anonfun$assertRight$1(package.scala:10)
	at scala.util.Either.fold(Either.scala:190)
	at com.daml.lf.data.package$.assertRight(package.scala:10)
	at com.daml.lf.engine.script.Runner$.run(Runner.scala:293)
	at com.daml.lf.engine.script.RunnerMain$.$anonfun$main$13(RunnerMain.scala:115)
	at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:434)
	at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:53)
	at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:48)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
daml-helper: Received ExitFailure 1 when running
Raw command: java -Dlogback.configurationFile=/home/OAAD/vp173/.daml/sdk/1.14.0/daml-sdk/script-logback.xml -jar /home/OAAD/vp173/.daml/sdk/1.14.0/daml-sdk/daml-sdk.jar script --dar .daml/dist/di-execution-main-0.1.0.dar --script-name Main:initialize --wall-clock-time --ledger-host localhost --ledger-port 6865

daml-helper: Received ExitFailure 1 when running
Shell command: /home/OAAD/vp173/.daml/bin/daml script --dar .daml/dist/di-execution-main-0.1.0.dar --script-name 'Main:initialize' --wall-clock-time --ledger-host localhost --ledger-port 6865
1 Like

I know it says ERROR, but the install actually works and you can ignore the error message. It’s unfortunate that it appears, but ultimately all your computer is telling you is that you asked it to load a library it can’t find, so it did not load it. This library is not one we need, so the installation actually proceeds. You can suppress those error messages for the current terminal session by running export LD_PRELOAD=, as @Mate_Varga mentioned.

What I’m interested in is what happened between the installation and the point where you run daml start. Because if nothing happened in-between, the expected behaviour would be:

$ daml start
daml start: Not in project.
$

Specifically, the error message here suggests you do have a project, but that project is missing a Main module. I’d like to understand how you got there (and where “there” is).

1 Like

It looks like the init-script in your daml.yaml refers to a non-existent script. You can either delete that line if you do not want or need an init script or try to change it to a module that exists.

3 Likes

Thanks @cocreature . I commented init-script line. Now my code is working. I am able to hit json-api.

1 Like