Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Issues with Installation on IBMi Power Linux


#1

We are trying to install New Relic on our IBMi Power Linux server, that is running RHEL 7.3. We are doing this using the Tarball method, as there is no repo for our architecture (pp64le). We do not get any errors during install, but after restarting Apache (and Zend) we get the following error:

PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/zend/lib/php_extensions/newrelic.so’ - /usr/local/zend/lib/php_extensions/newrelic.so: cannot open shared object file: No such file or directory in Unknown on line 0

The extension is there, or at least the symbolic link to the .so file is there. We have played with the permissions to no avail. We’ve ran out of ideas and are now looking for some help.

Thanks


#2

Hi @jrose3,

The New Relic PHP module is generally located in the PHP extensions directory. You can find that by checking phpinfo.

If you moved this file or specified it to be somewhere else, you might see this error. This can sometimes happen when distro or package upgrades and installs change paths.

The newrelic.so file is defined in your newrelic.ini (or other .ini file where you define New Relic PHP Agent settings). It will either be relatively defined like so:

extension=newrelic.so

or it will have a full path specified (default is relative)

extension=/usr/bin/php5/20100525/newrelic.so

You can search your system for the file by issuing the following command:

sudo find / -name newrelic.so

Then you can edit your .ini file to point it to the correct path.

Let me know your results and we’ll take it from there!


#3

Hello @ntierney,

Thank you for the help.

Our .ini file points to a symbolic link located in the php_extension directory. That symbolic link points to the actual .so file which is located at /usr/local/bin/newrelic/agent/x64/newrelic-20151012.so on our server. I have verified that both the symbolic link and the path it points to are valid.

Still have the same error: PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/zend/lib/php_extensions/newrelic.so’ - /usr/local/zend/lib/php_extensions/newrelic.so: cannot open shared object file: No such file or directory in Unknown on line 0


#4

@ntierney I discovered today that when I run “ldd newrelic.so” from the command line, it states the the .so file is not a dynamic executable. Any thoughts?

Also when I do “readelf -d newrelic.so” I get this output:

Dynamic section at offset 0xc3560 contains 29 entries:
Tag                Type                     Name/Value
0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
0x000000000000000e (SONAME)             Library soname: [newrelic.so]
0x000000000000000c (INIT)               0x9a78
0x000000000000000d (FINI)               0x7f6f0
0x0000000000000019 (INIT_ARRAY)         0x2bf000
0x000000000000001b (INIT_ARRAYSZ)       8 (bytes)
0x000000000000001a (FINI_ARRAY)         0x2bf008
0x000000000000001c (FINI_ARRAYSZ)       8 (bytes)
0x0000000000000004 (HASH)               0x158
0x0000000000000005 (STRTAB)             0x1e10
0x0000000000000006 (SYMTAB)             0x820
0x000000000000000a (STRSZ)              3415 (bytes)
0x000000000000000b (SYMENT)             24 (bytes)
0x0000000000000003 (PLTGOT)             0x2c3828
0x0000000000000002 (PLTRELSZ)           5064 (bytes)
0x0000000000000014 (PLTREL)             RELA
0x0000000000000017 (JMPREL)             0x86b0
0x0000000000000007 (RELA)               0x2dd0
0x0000000000000008 (RELASZ)             22752 (bytes)
0x0000000000000009 (RELAENT)            24 (bytes)
0x000000006ffffffe (VERNEED)            0x2d40
0x000000006fffffff (VERNEEDNUM)         4
0x000000006ffffff0 (VERSYM)             0x2b68
0x000000006ffffff9 (RELACOUNT)          922
0x0000000000000000 (NULL)               0x0

#5

Hi @jrose3,

Can you try running

sudo newrelic-install install

to see if your newrelic.so is potentially replaced by a reusable .so? If not, it may be worth converting this into a ticket to take a peek at your PHP Info.

Thanks!


#6

Hello Priscilla,

Still the same issue. When I run “ldd” or “readelf -d” on any .so file in agent/x64 or agent/x86 I get same exact out put as I post above.

I am more than happy to share whatever you guys would like, as it would be nice to be able to use New Relic.

Thanks,

Josh


#7

Hi @jrose3,

I created a ticket for you in regards to this. I look forward to working with you on this! I’ll be sure to update this post once we resolve this.


#8

I wanted to update this post with what we discovered in the ticket.

The agent wasn’t properly being installed due to this environment not being one that the agent can properly install in/isn’t supported. The binaries we ship will not natively run in this environment.

If someone wanted to try to get the agent to work in this sort of environment, it may be possible by switching to a fully virtualized solution.

Thanks!