Hello, I have installed SQL Anywhere 11 as a bundle of Servoy 5 on a Debian 7 (64 bit) dedicated Root Server. The Sybase installation directory is /home/<user>/servoy/application_server/sybase_db and /home/<user>/servoy/application_server/database To start Sybase I execute the shell script sybase_server.sh:

export LD_LIBRARY_PATH=/home/<user>/servoy/application_server/sybase_db /home/<user>/servoy/application_server/sybase_db/dbsrv11 @/home/<user>/servoy/application_server/sybase_db/sybase.config &

But this doesn't work and I get the output: "...dbsrv11: No such file or directory" and if I change to the directory "/home/<user>/servoy/application_server/sybase_db" to execute "$ ./dbsrv11" the output is also "...dbsrv11: No such file or directory"!? The path is correct and the file dbsrv11 exists... for me it is a mystery. If I execute "$ . ./dbsrv11" I get "cannot execute binary file".

Help is very appreciated. Regards Thomas

asked 10 Dec '13, 07:37

tgs's gravatar image

accept rate: 0%

edited 10 Dec '13, 09:19

Mark%20Culp's gravatar image

Mark Culp

In your last sentence it looks like your tried sourcing dbsrv11 (i.e. I see a dot just before ./dbsrv11)? First check that dbsrv11 is executable and then don't source the program, just execute it using "./dbsrv11" - what happens?

Once you can execute dbsrv11, don't use '&' on your command line to background since this will fail - the server will expect to be able to read/write from stdin/stdout and it will immediately stop because it won't be able to. If you want to background the server then use the -ud switch.

Also, please post the contents of your sybase.config file so we know what command line switches are being used.

Update: did some googling and I believe your problem is that you are trying to run a 32bit executable on a 64bit installation and you don't have the 32bit compatibility libraries installed on your computer. In particular, you need the 32bit version of ld.so installed on your computer.

Here is an article that may be of some help: http://www.debian-administration.org/articles/534

permanent link

answered 10 Dec '13, 07:45

Mark%20Culp's gravatar image

Mark Culp
accept rate: 40%

edited 10 Dec '13, 09:13

This is the file info:

-rwxr-xr-x 1 <user> <user> 58040 Feb 4 2010 dbsrv11

If I just execute "./dbsrv11" the output is: "-bash: ./dbsrv11: No such file or directory". The content of the sybase.config file is:

-ti 0 -x tcpip{dobroadcast=no;port=2638} -qs -qw -o sybase_db/sybase_log.txt database/servoy_repository.db database/user_data.db database/example.db database/log_data.db database/udm.db database/pdf_forms.db database/bug_db.db

Regards Thomas

(10 Dec '13, 08:09) tgs

I'm not familiar with our Servoy packages SQL Anywhere into their product. To confirm that dbsrv11 is actually the server executable can you post the output of 'file dbsrv11' - this will tell us if the system thinks the file is an executable or a bash script or something else.

(10 Dec '13, 09:03) Mark Culp

Thank you very much Mark for your replys! The output for "file dbsrv11" is: "dbsrv11: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped".

I think this makes it clear, or? The sybase installation is a 32 bit Version that won't run on the 64 bit Debian 7. Hmm, is there a chance to get the Servoy bundled SQL Anywhere 11 running because of the Licenses? Or do I have to install SQL Anywhere 64 bit and buy new Licenses?

Regards Thomas

(11 Dec '13, 06:44) tgs

Thomas, did you notice Mark's hint to the solution: installing the 32bit compatibility libraries, particularly the 32bit version of ld.so? You might want to give that a try.

(11 Dec '13, 08:24) Reimer Pods

I'm sorry, I didn't noticed Mark's update. Thank you Reimer for your hint!

I try currently the installation of the 32 bit libraries and will give you a feedback how it works.

Update: Ok, I have now installed the i386 architecture and libraries by

  • $ sudo dpkg —add-architecture i386
  • $ sudo apt-get update
  • $ sudo apt-get install ia32-libs

In the /lib/i386-linux-gnu/i686/cmov/ directory I see

  • -rwxr-xr-x 1 root root 122056 Dec 30 2012 ld-2.13.so
  • lrwxrwxrwx 1 root root 10 Dec 30 2012 ld-linux.so.2 -> ld-2.13.so

If I execute "$ ldd dbsrv11" I get this output:

  • linux-gate.so.1 => (0xf7792000)
  • libdbserv11_r.so => not found
  • libdbtasks11_r.so => not found
  • libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf776d000)
  • libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf7769000)
  • libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf7743000)
  • libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf75e0000)
  • /lib/ld-linux.so.2 (0xf7793000)

The libdbserv11_r.so and libdbtasks11_r.so is in the same directory (sybase_db) as the dbsrv11. Now I have copied the two files to the /lib/i386-linux-gnu/i686/cmov/ directory and voila, SQL Anywhere 11 is running!

(13 Dec '13, 11:18) tgs
Replies hidden

Now I have copied the two files to the /lib/i386-linux-gnu/i686/cmov/ directory and voila, SQL Anywhere 11 is running!

This last step should not be required. It should be sufficient to just add the original library path (/home/<user>/servoy/application_server/sybase_db) to the $LD_LIBRARY_PATH environment variable prior to launching the dbsrv11 executable:

$ LD_LIBRARY_PATH=/home/<user>/servoy/application_server/sybase_db:${LD_LIBRARY_PATH}
$ /home/<user>/servoy/application_server/sybase_db/dbsrv11 -n test_eng

The Servoy application is likely doing this itself prior to launching the dbsrv11 binary. SQL Anywhere includes a sa_config.(c)sh script with a full SQL Anywhere installation for this purpose.

(13 Dec '13, 12:46) Jeff Albion

Hi Jeff, you are right, but I have uncomment the codelines in the servoy launch script because I would like to start/stop the sybase server separatly. I have created a executable launch script like yours and it is working well! Thank you very much to all! You helped me a lot. Regards Thomas

(13 Dec '13, 15:45) tgs
More comments hidden
showing 5 of 7 show all flat view
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 10 Dec '13, 07:37

question was seen: 1,206 times

last updated: 13 Dec '13, 15:56