on 2013 Dec 10 7:37 AM
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
Request clarification before answering.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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.
I'm sorry, I didn't noticed Mark's update. Thank you Reimer for your hint!
Update: Ok, I have now installed the i386 architecture and libraries by
In the /lib/i386-linux-gnu/i686/cmov/ directory I see
If I execute "$ ldd dbsrv11" I get this output:
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!
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} $ export 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.
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
User | Count |
---|---|
52 | |
8 | |
5 | |
5 | |
5 | |
5 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.