Header files not found when porting from AIX to linux - linux

I am got source files from an application on IBM AIX and I am trying to build them on Linux. However I am getting compilation errors header file not found.
When compiled source from AIX on Linux got error these headers not found:
usersec.h
userpw.h
sys/mode.h
standards.h
After I Googled I realized they are headers (/usr/include/usersec.h) for user management (user authentication and pwd verification etc) funtions on AIX.
As there is no equivalent header on Linux, I like to know what is best practice to port these functions? What are there equivalent headers/functions on Linux.
As there is not much information I found on net hence posting it here as I am badly stuck. Thank you.
Update: Details of functions being migrated are mentioned in another question

Related

Building the client oflibmysqlclient on Windows with MSVC

ALL,
Does anyone succeeds building a client to libmysqlclient on Windows?
Following this instructions I can build the library itself
But then trying to follow mySQL documentaton which reads
To specify header and library file locations, use the facilities provided by your development environment.
With the old mySQL-Connector-C I was able to download just the code for the connector build it and then it had only 1 mysql.h
With the new library (8.0) I have t get the whole package, and there fore it will have multiple copies of mysql.h (yes, I did check by dong search of the file from Windows Explorer and Terminal/Bash).
In terms of library - it is easy as it will be hopefully just one and I can sue -L option for the linker.
But how do I get the proper include folder?
TIA!!
BTW, the tag here needs t be changed - it is not called connector-c anymore

webgrind not showing function names or file source

I'm trying to profile a web application with xDebug and Webgrind since I'm doing it in a remote Linux server. For some weird reason it doesn't show call names or file source. I was suspecting that there might be some kind problem with readying the script files (not sure if it's doing it) but giving target folders 777 didn't make any difference. Does anybody have a clue where I'm failing?
Thanx!
The webgrind version found on google code does not work for xDebug 2.3.
Here is a fork that works: webgrind
Ok, 24h later:
Seems that webcache grind doesn't support cachegrind file function compression feature that was introduced in xDebug 2.3 (released 2015). The latest webgrind was released ~2008-2009 so makes sens that it doesn't work. The same applies to WinCacheGrind client. Currently seems that only Windows cachegrind analyzer is qCacheGrind and linux client kCacheGrind
When I maange to find some free time I'll fork the project and make it compatible with compression.

debian shared library is not being loaded properly after oracle xe installation

I am facing a strange problem, maybe somebody can point me to right direction.
I have an application that uses a shared library that I built back in the day, shared library is stored under /usr/lib/ folder. My application binary used to work OK with this set up. Yesterday I tried to install ORACLE-XE to my linux distro. Ran some scripts that set some environment variables. My installation failed and I had to uninstall ORACLE-XE.
When I came back to work today, I tried to run my binary just like I used to, but I've seen some errors about undefined symbol. Symbol name was related to the shared library that I used seamlessly for months. I have the same setup in other machines, I confirmed that application is still working there, so I copied application binary and shared library from other computers to the computer that I am working on, still no luck. It seemed to me that like shared library is not being loaded at all, I tried deleting the shared library and running the application one more time, I received the same error, right around the same time.
I think the oracle scripts might have mingled some of the environment variables, therefore shared library can not be loaded. I am not sure what to check next though, any suggestion would be appreciated.
ldd application-name helped me to identify where the shared library is being read from, it appears that there was another version of shared libary under /usr/local/lib, which was causing the issue.

compiler licensing issue in scons

Am using scons with renesas compiler.
i am able to compile and link my project. But while linking i am getting following message:
"Software license problem:Internal error in licensing or accessing feature UNKNOWN"
even though i have a trial license of Renesas compiler.
I am able to generate executable (.abs file for renesas) for small application even with the above message. when i tried to create executable for a bigger application i am getting following message while linking:
"Software license problem:Internal error in licensing or accessing feature UNKNOWN"
Maximum link size limited to 64KB code+data.
I tried creating executables for the above appliations using SCONS on a machine which has valid Renesas license. Even on this machine i saw the same messages and i am not able to generate .abs file. ( In this machine i am able to create executables without using scons)
can any one help me in overcoming this issue. I don't have clues whether the message i am getting is from SCONS or Renesas tool chain.
Thanks
It's possible that your tool chain sets up some environment variables telling the compiler where to find the licence files. scons wipes out your environment, pretty much, and you may not be propagating the information it needs.

Device Driver Development in Linux

I plan to learn embedded linux and writing linux device drivers.
After reading about device drivers and walking through some tutorials, I'm a little confused about the kernel-source that to be used for compilation.
I am using ubuntu 11.04 and in my /usr/src/ me find the following:
tijin#tijin-Vostro-460:/usr/src$ ls
gcc-4.4 linux-headers-2.6.38-10-generic-pae
linux-headers-2.6.38-10 linux-headers-2.6.38-8
my questions:
1)do I need a kernel-source to compile the driver code or the headers are enough?
2)where can I get the kernel source code and what is the procedure to install the source code. Please let me know the details.
Headers is enough
from kernel.org - or for Ubuntu specific kernels, follow the documentation
For module compilation instructions, see this question
Yes. You need not only the source but a "make"d source (a compiled kernel source).
The main location to get the kernel source is: http://www.kernel.org
As you're using Ubuntu you can just download the source from the repositories.
Here's the page indicated at Ubuntu's help as a guide for compiling a kernel from source on Natty (11.04):
http://blog.avirtualhome.com/2011/08/03/how-to-compile-a-new-ubuntu-11-04-natty-kernel/
For a fresher to device driver coding the "hello world" driver code reference is here :
http://www.linuxquestions.org/questions/linux-kernel-70/simple-makefile-error-all-nothing-need-to-be-done-600403/ .
This link also discussing the issues related to the Makefile. Important idea that i got from the reference is: Never ever copy-paste the content of a document for creating Makefile.
If you are getting trouble with seeing logs then please refer the link :
http://www.cyberciti.biz/faq/linux-log-files-location-and-how-do-i-view-logs-files/
thanks.

Resources