Packaging Flashcards
What do distributors have to decide regarding open source software?
What pieces of open source software to include in their distribution
Who is the intended audience for open source software distributions?
Completely free philosophy
What architecture must be supported by distributors?
Computer architecture to support
Where can distributors find sources for open source software?
Where to find sources
What must distributors determine about official repositories?
What to place in official repos
What tools should distributors consider for packaging?
What tools should be used for packaging and downloading packages
What must distributors resolve concerning software components?
All dependencies
What creates dependencies in open source software?
Extensive use of shared object libraries
What is the purpose of the main.c file in the dynamic shared object library demonstration?
To call the function foo and print a message.
What is the output of the function foo in foo.c?
Hello World
What command is used to compile foo.c into an object file?
gcc -c -fpic foo.c
What command is used to create a shared library from the object file foo.o?
gcc -shared -o libfoo.so foo.o
How do you link the main.c file with the shared library libfoo.so?
gcc -L/home/frank/foo -o test main.c -lfoo
What environment variable needs to be set to run the test program successfully?
LD_LIBRARY_PATH
Fill in the blank: To run the compiled program, you execute _______.
./test
True or False: You need to recompile main.c every time you modify foo.c.
False
What command is used to create a new object file after modifying foo.c?
gcc -c -fpic foo.c
What command do you use to create a new shared library after modifying foo.c?
gcc -shared -o libfoo.so foo.o
What is the final step to see the changes made in foo.c after recompiling the shared library?
Run ./test
What directory is specified for the shared library during the linking process?
/home/frank/foo