/bin/sdmsctl: No such file or directory

77 views
Skip to first unread message

null n T

unread,
Oct 16, 2022, 3:29:02 AM10/16/22
to schedulix
Hello, I just completed s hedulix-2.10 installation. The make command sees to have completed with no errors but the server can't start. I tried to follow the thread from Avijit but it does not fully give me answers. 

Below is the error I get when I start the server, your assistance is greatly appreciated.

Screenshot 2022-10-16 at 09.11.30.png


I also attached the make file output.

Regards
T
make.txt

Ronald Jeninga

unread,
Oct 16, 2022, 5:35:06 AM10/16/22
to schedulix
Hi T,

first of all, welcome to the group!

It seems you didn't set the BICSUITEHOME environment variable because the sdmsctl script lies under $BICSUITEHOME/bin.
Could you please check that?

After building the software (or before) you'll have to create a database/schema and run the init.sql script.
In the $BICSUITECONFIG/server.conf file you'll have to fill in the database name and other database related stuff.

But first things first.
If you set your BICSUITEHOME variable and do a "sdmsctl test" instead of trying to start the server immediately, the software will check the configuration and will attempt to connect to the database as specified in the server.conf file.
If that works try a server-start.

HTH

Best regards,

Ronald

null n T

unread,
Oct 16, 2022, 10:50:17 AM10/16/22
to schedulix
Thank you for the warm welcome, looking forward to the engagements in the community.

I have tried setting the env variables in different ways and I still get the same issue.
1st try : /home/schedulix/schedulix ---> with a symbolic link
2nd try: /home/schedulix/schedulix-2.10 with no symbolic link

I have set the env variables in /home/schedulix/.bashrc. The file belongs to user - schedulix, group - schedulix.


Please see attached images for you attention.

bashrc.png

null n T

unread,
Oct 16, 2022, 10:52:05 AM10/16/22
to schedulix
env.png
See also env variables.

On Sunday, October 16, 2022 at 11:35:06 AM UTC+2 ronald....@independit.de wrote:

Ronald Jeninga

unread,
Oct 17, 2022, 3:30:15 AM10/17/22
to schedulix
Hi T,

if you set environment variables in a shell, you need to export them in order to make them available to the processes started by that shell.
The following example illustrates this:

schedulix@oncilla:~$ echo $MYVAR

schedulix@oncilla:~$ MYVAR=hallo
schedulix@oncilla:~$ echo $MYVAR
hallo
schedulix@oncilla:~$ vi /tmp/echomyvar
schedulix@oncilla:~$ chmod +x /tmp/echomyvar
schedulix@oncilla:~$ cat /tmp/echomyvar
#!/bin/bash

echo $MYVAR
schedulix@oncilla:~$ /tmp/echomyvar

schedulix@oncilla:~$ export MYVAR
schedulix@oncilla:~$ /tmp/echomyvar
hallo
schedulix@oncilla:~$


First I do an echo of the not-yet-set variable MYVAR, with the expected result: an empty string is echoed.
Then I set the variable and the echo shows the value of $MYVAR.
Next I write a little shell script (like the server-start script), that just echoes the value of its environment variable MYVAR.
I make it executable and cat it, just to show I do nothing special within that script.
When I execute it, nothing (well, an empty string) is echoed.
First after exporting MYVAR in the original shell, the variable is made visible to its child processes.

As a side note: from my experience it is better to keep the configuration of the system outside the software tree, like

/home/schedulix
    |
    +-- etc
    |
    +-- schedulix-2.10
    |
    +-- schedulix -> schedulix-2.10
    |
    ...

Now if you replace schedulix-2.10 by schedulix-2.11 some time in the future, you don't have to take care of the configuration; it's still there.
Furthermore, the symbolic link pointing to the active release of schedulix eliminates the need to modify the BICSUITEHOME variable.

As a resume: can you not only set the environment variables but also export them? Then after signing on again (to make the change effective), things should work better.

Best regards,

Ronald

null n T

unread,
Oct 17, 2022, 6:24:24 AM10/17/22
to schedulix
Hello Ronald,

I greatly appreciate your assistance. I've implemented your suggestion and it works perfectly.

I am not faced with the below issue. I tried to fix it by going through guadalinfo's post and I am not finding joy. What could be the cause as when I am running "servert-start" I get the below error(scrolling). I then tried to recompile and I get an error from image two (make_new_result).

scrolling
scrolllog.png
make_new
make_new_result.png
Thank you in advance.
T

Ronald Jeninga

unread,
Oct 17, 2022, 6:59:17 AM10/17/22
to schedulix
Hi T,

as it seems didn't your make run to an end (successfully).
Unfortunately the error messages of the compile procedure are cut off.
Hence I can't tell you where to find the problem.

If you post things here, feel free to edit output in order to hide sensitive information.
But please try to make complete posts. Just copy the make output and paste it as part of the message.
Screen shots look nice, but limited in size and very well capable of hiding the crucial sentence(s). 

I assume that you were talking about Jay, the parser generator, not about joy, pleasure and alike.
Jay's jar file is contained in the file tree, the script that runs it is located below $SDMSHOME/tools/bin

Could you please do a

cd $SDMSHOME/src
make clean && make > /tmp/make.log 2>&1

and then post the content of the /tmp/make.log file, or attach the file to your post?

If you think that the file contains far too much sensitive information to post it in public, you can send it me in a private e-mail.

Best regards,

Ronald

null n T

unread,
Oct 17, 2022, 8:19:49 AM10/17/22
to schedulix
Hi Ronald,

Kindly find the attached.

Regards
T

make.log

Ronald Jeninga

unread,
Oct 17, 2022, 8:27:26 AM10/17/22
to schedulix
Hi T,

Thank you for the make output!

OK, is it possible your jna.jar file is missing, or the JNAJAR variable isn't set (or exported)?
The error messages indicate that, e.g. :

...
import com.sun.jna.Pointer;\
                  ^\
  symbol:   class Pointer\
  location: package com.sun.jna\
...

And the other messages are just consequences or basically complain about the same.

I cannot do any better than to try to guide you through (in the end you'll admit it all isn't that hard).
I hope the joy will return.

There are more sources of information.
There should be an installation guide (below $SDMSHOME/doc), which also describes the compilation procedure.
And if you are good at reading scripts, you'll find several scripts in $SDMSHOME/lib (*.script).
Those scripts are used in our rpms. But the basic idea applies to virtually every Linux distribution.
They don't address the compilation procedure but all the steps that follow.
If you run RHEL or CentOS, you could try those rpms instead of going through everything yourself.

OK, next step is: investigate what goes wrong with the jna.jar file.
If you've found out, repeat the "make clean && make" step and, in case of problems, send me the next output.

Best regards,

Ronald

null n T

unread,
Oct 17, 2022, 10:13:38 AM10/17/22
to schedulix
Thank you Ronald,

I got the JNAJAR is set to work set env to -->  JNAJAR=/usr/share/java/jna.jar  export JNAJAR

I am now getting the attached error for SWTJAR. I had some troubles finding the correct *.jar file to download. I dowloanded the below and have set as follows --> SWTJAR=/usr/lib/java/org.eclipse.swt.jar    export SWTJAR.


Regards,
T
make.log

Ronald Jeninga

unread,
Oct 17, 2022, 10:43:32 AM10/17/22
to schedulix
Hi T,

you're making progress :-) 
And the way I see it, only the SWT jar file is spoiling the fun.
In fact, to run the system, you don't actually need the swt.jar file. It is only required to run the examples, most notably the SDMSpopup.sh script.
On the other hand, the SDMSpopup.sh script is a nice tool for testing, which makes it interesting enough to go through the hassle.

On my system I use /usr/share/java/swt-gtk-4.6.jar which I've uploaded for you to our web server.
You can download it using wget or curl or so: https://www.independit.de/Downloads/T/swt-gtk-4.6.jar
My machine has the x86_64 architecture.

The alternative is to modify a makefile to exclude everything that requires the swt jarfile.
If you open $SDMSHOME/src/Makefile, you find the following line:

SUBDIRS = server jobserver shell utility md5 SDMSApp tools demo

(line 55 or so). And if you remove the "demo" from that line, you won't need the swt jar file.
The downside of this approach is that you'd have to repeat it with every patch or new release.

Best regards,

Ronald

null n T

unread,
Oct 17, 2022, 11:01:16 AM10/17/22
to schedulix
Hi Ronald,

Thank you very. Much appreciated. The server is running now however if I look at the BICserver.out logs I see some error's I am not sure if this is normal. Issues that I think I will have;
1. The correct JDBC driver for mariadb. On my first installation I could find the correct one for Centos. I downloaded the one I found I am not sure if it is correct.
2. I tried opening port 2506 and my system does not seem to open it. I will have to see if that might not be the issue.

I will however stop the run and see if I can't continiue to install the client.

Regards
T

Ronald Jeninga

unread,
Oct 17, 2022, 11:18:28 AM10/17/22
to schedulix
Hi T,

it is still possible that it looks like the server is running. The fact that you can't reach port 2506 is a hint in that direction.
To judge that a look at the server's log file will help.

Before to add complexity, the better idea is to make sure that the server runs.
As soon as it runs, you can try to setup a Jobserver (an agent). Any attempt to run a Jobserver without a scheduling server will fail.

I'm off for today now.

Best regards,

Ronald

null n T

unread,
Oct 17, 2022, 12:03:42 PM10/17/22
to schedulix
Thanks for everything Ronald, have a great evening.

Regards
T

null n T

unread,
Oct 18, 2022, 4:09:51 AM10/18/22
to schedulix
Hi Ronald,

I hope you are having a good morning.
 
I have started the server. I made the below changes.

1. Added the correct db jdbc driver
2. Added the correct DBUrl

I still see that the are some "ERROR" and "FATAL" messages in  BICserver.out logs.

I have attached this for your perusal.

I ahve also started looking at installing Zope4+. All is going well and I have arrived at the below and I cannot make sense of it. 

The front end software is now loaded into Zope (Import button): 
a) Import into the folder / SDMS.zexp. 
b) In the folder /SDMS/Install, mark and copy the folders User and Custom. c) Create the folders User and Custom in the folder / by pasting them.

I have tried to run the zope4_post.script using "sh zope4_post.script" and I get error's when I choose the correct user to run with.

Your assistance is highly appreciated.

Regards,
BICserver.log

Ronald Jeninga

unread,
Oct 18, 2022, 6:29:32 AM10/18/22
to schedulix
Hi T,

it's not entirely clear what's going on. I see a server startup (without the header messages that display the release and more importantly the build hash), but it somehow can't listen on port 2506 and 2505.
This on itself indicates that another process that uses both ports is running, most likely another schedulix server.

Then the restart, caused by scrolllog, happens and the server seems to be able to do everything.
The message "-- SDMS -- Server -- Systems -- ready --" is issued after completing the startup phase successfully.
To me it looks like you have a running server.

You can test this easily. If you didn't yet create a ~schedulix/.sdmshrc file, this is an excellent opportunity.
For a start we don't care too much about security and use the defaults. Of course, if you've modified the password of the user SYSTEM, you can leave it as is and replace the entry in the file accordingly.
With the defaults something like

User=SYSTEM
Password=G0H0ME
Host=localhost
Port=2506

should be fine.

Now if you run the sdmsh (a kind of shell) tool, it'll look like

schedulix@oncilla:~$ sdmsh

Connect

CONNECT_TIME : 18 Oct 2022 10:20:27 GMT

Connected

[SYSTEM@localhost:2506] SDMS> list sessions;

List of Sessions

THIS SESSIONID PORT START                         TYPE      USER                             UID  IP        TXID     IDLE STATE  TIMEOUT INFORMATION                  STATEMENT      WAIT
---- --------- ---- ----------------------------- --------- -------------------------------- ---- --------- -------- ---- ------ ------- ---------------------------- -------------- ----
          1001 2506 Sun Oct 16 11:38:07 CEST 2022 JOBSERVER GLOBAL.EXAMPLES.HOST_2.SERVER    1067 127.0.0.1 51102190    5 IDLE       300 jobserver[schedulix@oncilla]                    
          1002 2506 Sun Oct 16 11:38:07 CEST 2022 JOBSERVER GLOBAL.EXAMPLES.LOCALHOST.SERVER 1047 127.0.0.1 51102196    5 IDLE       300 jobserver[schedulix@oncilla]                    
          1003 2506 Sun Oct 16 11:38:07 CEST 2022 JOBSERVER GLOBAL.EXAMPLES.HOST_1.SERVER    1057 127.0.0.1 51102193    5 IDLE       300 jobserver[schedulix@oncilla]                    
 *        1010 2506 Tue Oct 18 12:20:27 CEST 2022 USER      SYSTEM                              0 127.0.0.1 51102201    0 ACTIVE       0 sdmsh[schedulix@oncilla]     list sessions;    
       1234321    0 Sun Oct 16 11:37:41 CEST 2022 USER      SchedulingThread                    2 <null>    51102199    0 IDLE         0 <null>                                          
       1234322    0 Sun Oct 16 11:37:42 CEST 2022 USER      GarbageThread                       2 <null>    51096762 2573 IDLE         0 <null>                                          
       1234323    0 Sun Oct 16 11:37:41 CEST 2022 USER      TriggerThread                       2 <null>    51102166   19 IDLE         0 <null>                                          
       1234324    0 Sun Oct 16 11:37:42 CEST 2022 USER      PoolThread                          2 <null>    51101845  171 IDLE         0 <null>                                          
      19630127    0 Sun Oct 16 11:37:41 CEST 2022 USER      TimerThread                         2 <null>    51102178   14 IDLE         0 <null>                                          


9 Session(s) found

[SYSTEM@localhost:2506] SDMS> quit


Feel free to test other statements like "SHOW SYSTEM;" or "SHOW USER;". Note that a statement must be terminated with a semicolon.

If this all works, we'll have a look at your Zope installation.
Unfortunately I'm pretty busy today. I've spent a great deal of the morning OOO and in about 15 minutes I'll have to visit a doctor.
(No worries, nothing serious. Just a recurrent check of my eyes).

I'll drop you an e-mail as soon as I'm back again.
And please have a look at the installation guide. We've tried to describe how to import the SDMS.zexp and how to copy/cut and paste the Custom and User folders.
It might help you.

Best regards,

Ronald

null n T

unread,
Oct 18, 2022, 6:54:22 AM10/18/22
to schedulix
Hi Ronald,

All the best I hope your eye test results are positive.

I have already created the .sdmshrc file and have added the default entries.

On the Zope4+ issue I am following the installation guide and for a person who is not well intune with the product installation it does not make sense. I have tried to follow and I cannot see how to access SDMS.zexp to create Custom and User folders from it. Or does the step mean to cut the "SDMS.zexp" file and paste it in the Custom and User folders ? Also where will these folders reside? In the Import or $HOME dir?

Regards,
T

null n T

unread,
Oct 18, 2022, 10:02:27 AM10/18/22
to schedulix
Hi Ronald,

The server is working perfectly now. I picked up the below.

When you start the server using "server-start" the process/ or script that calls sdmsctl start does not resolve. You will see hanging process when you monitor the system (ps -fu schedulix; sleep 10; ps -fu schedulix).


Regards,
T

Ronald Jeninga

unread,
Oct 18, 2022, 11:09:09 AM10/18/22
to schedulix
Hi T,

if you have a running server and then invoke the server-start script, a second server will try to startup, but it fails because it can't acquire a repository lock.
This server will then exit with exit code 1, which signals the scrolllog process that it has to try to start the server again.
This will go on until the running server is shut down properly (or aggressively killed together with its parent process, scrolllog) and the formerly started server will succeed to start up.
The bottom line is that it doesn't harm, but still isn't a very good idea to start the server twice in a row.

Best regards,

Ronald

Reply all
Reply to author
Forward
0 new messages