moving .so files between machines
Hello,
I Have a custom built server running linux version 3.10.105 i do not have access to apt/yum or any other package installer. I've recently installed fileinfo (wget hhtp://pecl.php.net/get/Fileinfo-1.0.4.tgz) but my machine must not have php5-dev installed as i cannot phpize the file (I did not set up this server) Since i cannot install php5-dev i am wondering if i can phpize and ./configure the file on a machine with a proper OS and than transferring the fileinfo.so file over to the server or does ./configure do something system specific with the file? Thanks in advance. |
Quote:
The "./" means the current working directory and the "configure" script checks to see if your system has the necessary build environment to be able to build the software you're trying to compile. Manually copying shared libraries from one machine to another is a bad idea. You should be using yum instead to install stuff. What exactly do you mean when you say "i do not have access to apt/yum or any other package installer" ? |
Thanks for the reply im sure you have already noticed but i am a Linux newbie...
when i run uname -a or cat /proc/version it only gives me the kernel no OS is specified. when i try to run any apt-get or apt install etc i get "command not found" so i guess I should be asking how can i download php5-dev so i can phpize and make a fileinfo.so. thank you. |
If you do not have access to the package management system, then you likely do not have the permissions to install any .so files. Except in $HOME with special $PATH type things to use local .so files. If you had permissions you could swap/add the .so files to default locations and run ldconfig to update the cache of known .so files via the /etc/ld.so.conf.d/ files. With quirks of being compiled with the same compiler version or other gotchas.
|
Quote:
Code:
cat /etc/os-release Quote:
|
Thanks shadow and jsbjsb001 for your replies.
it is not that i am lacking permissions i am simply lacking the linux resources (ldconfig: command not found, rpm: command not found) running cat: /etc/os-release: No such file or directory same with */etc/*-release seems like the only ones that do work are uname -a or cat /proc/version which returns: Linux version 3.10.105 (gcc version 4.9.3 20150311 (prerelease) (crosstool-NG 1.20.0) ) Therefore i do not even know which specific packages to manually install and dont want to go around installing everything and anything in hopes something works as it is a company server. Is there another way to make an .so file without phpize? because all i could think of is just creating the so then moving it over to the server. When i run phpinfo() it states fileinfo IS enabled when i search the server with shh i cannot find fileinfo.so anywhere i even made an if statement to only fire if fileinfo extension is enabled... it fires. In Synologys web station there is no option to enable fileinfo which makes me think fileinfo is not installed but for some reason phpinfo() is saying it is enabled. I checked every php.ini file on the server and added extension = fileinfo.so to every php.ini / .extension file just to be safe but they all state PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/fileinfo.so' the server i am on needs to run update.php for mediawiki but it will not run without fileinfo... Is there a secret configuration file Synology is hiding? because it seems no matter what i change through web station my php.ini files remain the same checking/unchecking extensions inside the web station does directly effect my phpinfo() printout and can see changes being made... which brings me back around to fileinfo saying it is enabled but where is it?! I have all the php.ini files extension_dir going to the same location (which does not contain fileinfo.so) I am running php5.6 FPM/FastCGI with Apache and a reverse nginx proxy any help is greatly appreciated as I've exhausted google and am not getting anywhere and have run out of ideas and of course Synology forums are currently locked. |
You could try the following, but you need to be running the following as the "root" user for it to work.
Code:
cat /boot/grub2/grub.cfg Code:
### BEGIN /etc/grub.d/10_linux ### .so files are compiled programs, the same as executable files are compiled programs. So you can't "make it" as such, but you could write some code and tell gcc to just compile a shared library from that code. |
$ cat /etc/issue
It's the default MOTD for telnet, but most times there and unchanged. $ lsb_release -a Sometimes there, but probably needs installing for minimum installations. Depending on the distro, pacman, dnf, yast, emerge, and others exist, not just apt or rpm options these days. And by permissions, I mean root. Which some tools are ONLY available to root (system admin) or privileged users (sudo). |
Quote:
Quote:
|
Thanks everyone for your replies yes it does run DSM which is a real pain to get anything done.. but i figured it out and got my wiki updated and running again. Turns out sqlite the database i am using wasn't included in the defaults of the new wiki update just had to add 'sqlite' to $dbTypes in installer.php and then run update.php and it works!! hopefully this saves someone the embarrassing amount of time it took me to figure this out.
|
All times are GMT -5. The time now is 12:53 PM. |