Cc and gcc coexisting

Hello all:
I hope someone out there can help allay my fears and confirm my conclusions.
Is it possible to have both the Sun Studio compilers and gcc installed, but keep gcc as the default compiler through 'cc' on the command line?
I have third party software that uses gcc (and a few hundred shell scripts that call it via 'cc') exclusively to compile its processes. However, I need to use the Sun Studio suite for other things on the same systems. I think I can install the Sun packages and configure them to only work when the fully-qualified pathname is used to call them, and keep gcc available as it is now. However, since I've never done this, and I'm not an expert, I thought I would float this to see if anyone out there can say yea or neigh.
If you have any thoughts, I would greatly appreciate them.
Thank you.

You can install Sun Studio and gcc on the same system. The gnu tools are usually installed in /usr/local or /usr/sfw. Sun Studio by default installs in /opt. You can install Sun Studio somewhere else, but be sure you do not install it in the same location as gnu tools.
If you want to use "cc" to invoke gcc (not recommended, but you might not have a choice), create a symbolic link "cc" in a convenient directory D that points to gcc.
If directory D is on your $PATH ahead of (or instead of) the Sun Studio bin directory, the command "cc" will invoke gcc.
If the Sun Studio bin directory is on your $PATH ahead of (or instead of) the directory D, the command "cc" will invoke the Sun C compiler.
A more usual solution to having muliple compiles is to use a CC macro in makefiles, and set the macro to the full path to gcc or Sun cc. Don't use "cc" in the makefiles; use ${CC} instead. This technique avoids the need to change your $PATH frequently.
A "cc" command also exists in /usr/ucb. If you have /usr/ucb on your $PATH, be sure it is after the two directories mentioned above.

Similar Messages

  • How do i recompile whole system with glibc and gcc from test

    I always run testing and hence upgraded all my system a couple of days back. How ever one pprogram i use very often, BLENDER isn't working after i upgraded glibc and gcc4. I have recompiled it but when I get all this errors when i start it http://bbs.archlinux.org/viewtopic.php?t=21825.
    I think i need to rcompile all its dependant programs with new glibc and gcc from testing also. Problem is I dentifying which programs to compile is proving a pain as the dependant programs also depend on other programs etc...
    Is there a way to recompile my whole system without having to do it one by one?

    if you want to compile everything, gentoo is an option. But abs is excellent too.
    P.S. Gentoo's compilation drove me out of it

  • [SOLVED]gcc-libs and gcc-libs-multilib are in conflict

    Can't update today.
    [glow@GlowArch ~]$ sudo pacman -Syuv
    :: Synchronizing package databases...
    core is up to date
    extra is up to date
    community is up to date
    multilib is up to date
    catalyst is up to date
    :: Starting full system upgrade...
    warning: android-udev: local (98-1) is newer than community (r100-1)
    resolving dependencies...
    looking for inter-conflicts...
    :: gcc-libs and gcc-libs-multilib are in conflict. Remove gcc-libs-multilib? [y/N] n
    error: unresolvable package conflicts detected
    error: failed to prepare transaction (conflicting dependencies)
    :: gcc-libs and gcc-libs-multilib are in conflict
    I assume there is some update going on, i will try again in some time.
    Last edited by GloW_on_dub (2014-05-09 14:04:57)

    [glow@GlowArch ~]$ sudo pacman -Syu --ignore gcc-libs
    :: Synchronizing package databases...
    core is up to date
    extra is up to date
    community is up to date
    multilib is up to date
    catalyst is up to date
    :: Starting full system upgrade...
    warning: android-udev: local (98-1) is newer than community (r100-1)
    resolving dependencies...
    warning: ignoring package gcc-libs-4.9.0-2
    warning: cannot resolve "gcc-libs=4.9.0-2", a dependency of "gcc"
    warning: cannot resolve "gcc=4.9.0-2", a dependency of "gcc-fortran"
    :: The following package cannot be upgraded due to unresolvable dependencies:
    gcc-fortran
    :: Do you want to skip the above package for this upgrade? [y/N] n
    error: failed to prepare transaction (unexpected error)
    You're right, i have indeed a dependency problem because of this aur package, acml-gfortran, wich have in it's dependencies gcc-fortran instead of gcc-fortran-multilib
    The thing i don't understand is how have i been able to install gcc-fortran with acml-gfortran, without trying to install gcc-libs and discovering the conflict at that time,
    and also why the fact that there is a gcc-fortran and gcc-libs update without the corresponding update in the multilib version discover the conflict.
    I've commented the aur package, so the maintainer will soon fix the problem, yet i don't understand fully why this conflict have appeared now.

  • URGENT!!! Can ATA and SCSI coexist?

    hello fellas!
    my case is similar of the post "Can SCSI and ATA coexist?', but with some differences:
    I own a G4 Dual 500–MHz PowerPC G4, 40Gb ATA + 80GB ATA. (http://support.apple.com/specs/powermac/PowerMac_G4_GigabitEthernet.html)
    now I've installed a PCI SCSI card to connect tree more SCSI HDs: two barracuda 18Gb and one quantum 36Gb)
    my G4 only reads SCSI drives when I disconnect ATA tape from motherbard...
    when I plug ATA to motherboard again, neither SCSI mount on desktop, nor system profile shows it as a device, even when I start Hard Drive Update 1.app...
    I've read all manuals from apple, jumped all SCSI HDs, but for some reason, it doesn't work at all!
    so, the question, again, is Can ATA and SCSI coexist?
    does anyone knows how to config it??
    thanks in advance!
    b
    G4 Dual 500–MHz PowerPC G4   Mac OS X (10.4.8)   [email protected]

    answering:
    - as my primary language is portuguese, i didn't understand when you said 'booting off the OS X disk'. do you mean eject it in the disk utility?
    - I have so many drives because e sold another G4 that used those drives atached with the pci card and I simply want to use it, because I'm short on cash... those drives are installed with OS 9.2 (the ATA ones are running OS 10.4.8)
    when you said one ATA and 2 SCSI, you mean that if I simply disconnect the slave ATA and one of the SCSI it may works?
    thanks again!
    b

  • Darwin and GCC

    I have been trying to compile a .c source file (a windows app) in darwin and X11 for quite some time now... however, naturally X11 is supposed to come with some compiler called gcc, I installed X11 off the 3rd disc of Panther and when I try to use automake or type in gcc it doesnt work ( automake gives an error: automake: `configure.ac' or `configure.in' is required) I tried using gcc and this is what I get
    Corys-Computer:~/source/spsofsrc cory$ gcc
    bash: gcc: command not found
    I must be doing something wrong, any help would be great

    X11 is a graphics environment and gcc is a compiler--neither of those entities entails the other. To get the gcc compiler suite, you need to install it (from the XCode disk).

  • Rebuilding gcc and gcc-libs for i586

    Hi. A quick question, if you don't mind. I'm trying to rebuild (or should I say update?) just about everything on an i586, but I'm a little stuck between gcc and gcc-libs.
    This is from the PKGBUILD for gcc-libs ...
    makedepends=('binutils>=2.18-3' 'gcc>=4.2.2')
    And this is from the PKGBUILD for gcc ...
    depends=('binutils>=2.18-3' "gcc-libs>=${pkgver}")
    where $(pkgver) is the same as the gcc version, or 4.2.2. So on the surface it appears I can't compile either one since each one seems to be a dependency for the other (and makepkg spits out an error to that effect, for both, when I try).
    Is there a graceful or correct way to rebuild both packages? Is there another package I'm overlooking that will handle both of them?
    As you can imagine, I'd like to do this correctly the first time, since the trial-and-error method involves hours off my life.
    Cheers and thanks in advance.
    Last edited by k.mandla (2007-12-18 00:21:50)

    makepkg will halt without a -d flag, and the build process snags and stops with -d.
    The gcc version is 4.1.1. I started with an installation of Lowarch, hoping that I could hopscotch my way up to a current system. It's gone well so far, but this part is turning prickly.
    I compiled both packages for i586, plus glibc-2.7 and binutils-2.18, overnight on my "fast" machine (1Ghz ... ), so later today I'll see if copying them across and installing en masse helps at all. Judging from the wiki pages, it should help.
    Thanks for the tips, by the way. Compiling is not my favorite thing, but I'm learning a lot.
    Last edited by k.mandla (2007-12-19 23:31:17)

  • Missing CC and GCC

    I am installing 11.5.9 on LInux AS 3.0 and I am at this step
    "rename gcc to gcc323 and g++ to g++323. Linked old gcc296, g++296 in /usr/bin into /usr/bin/gcc & /usr/bin/g++ "
    could not find gcc or cc in /usr/bin
    Ran all the packages
    compat-db-4.0.14.5
    compat-gcc-7.3-2.96.122
    compat-gcc-c++-7.3.2.96.122
    compat-libstdc++-devel-7.3-2.96.122
    openmotif21-2.1.30-8.i386.rpm
    What should I do to create CC and GCC?
    I am stuck somebody help please

    FIxed had to run 2 more packages from LInux CD#3

  • Can OAS 10gR2 and R3 coexist?

    Hi,
    Can OAS 10g R2 and R3 coexist on the same machine?
    If so, are there any constraints?
    Please share your views abt this.
    Regards,
    Sindhiya V.

    Yes, make sure there's no port conflicts. eg RMI port, JMS port, etc.
    -Frances

  • [solved: I am a dope] Can gcc and gcc-multilib coexist?

    If I try to install gcc-multilib, it conflicts with my existing 64-bit gcc package. Is there a way for me to install it in another path or install the binaries from gcc-multilib as gcc32, g++32 etc?
    Last edited by rhd (2012-02-20 02:50:55)

    rhd wrote:
    I'm learning 32-bit assembly and the tutorial I am using has a small collection of example code and a little library which needs a 32-bit copy of libgcc.a.
    libgcc.a is owned by gcc and not gcc-libs and so here I am, attempting to install the multilib package instead of the 64-bit version. The -m32 flag doesn't help. [edit: the -m32 flag to gcc, which tells it to compile for a 32 bit arch]
    $ nosr libgcc.a
    core/gcc
    community/arm-elf-gcc-base
    community/arm-wince-cegcc-gcc
    community/avr-gcc
    community/mingw32-gcc
    community/mingw32-gcc-base
    multilib/gcc-multilib
    I tried to point out that gcc-multilib provides gcc. Everything gcc does, you can do with gcc-multilib. You can't have both installed at the same time (but you wouldn't want/need to, either).
    Last edited by falconindy (2012-02-18 15:01:10)

  • Creating JNI DLL on WinXP using MinGW and GCC

    Ohh man, I spent entire day fighting with "UnsatisfiedLinkError "while trying to cal my native method. After reading all the posts with similar problems, and checking for every little thing that was suggested I figured it out. So I'm reposting the solution here since no one else had suggested this.
    The solution to my problem was that g++/gcc compiler needed an option "-Wl,--add-stdcall-alias". This was the killer. I had the "-shared", but it wouldn't link without the "-Wl,--add-stdcall-alias" option!!!
    As a summary, while its fresh in my mind, here are the trouble shooting steps I used:
    1) Check package names and the generated .h file using javah. I checked and rechecked the names, even created simpler static void method to try and get it to link.
    2) Make sure to use the "jobject" parameter for dynamic methods and "jclass" for static methods in the signature as second argument.
    3) That method name starts with "Java_" and I stress the CAPITAL "J", can not be lowercase. Although if you are using javah, that should not be the problem, since javah can not ommit this kind of detail. The only thing that you need to check for is that if you change method from dynamic to static, and don't rerun the javah, or javah doesn't replace the previous file. So make sure you restart clean and that javah regenerated the file with "jclass" or "jobject" whichever is the case.
    4) Used the "java -verbose:jni" debug flag to see my native method loaded. In my case when it wasn't working I couldn't see the method load, but there were no error messages from "System.loadLibrary" or from the verbose output. Only the UnsatisfiedLinkError. Frustrating. After the fix it loads perfectly:
    [Dynamic-linking native method org.jnetpcap.Pcap.openVoid ... JNI]5) I used "nm" found at "c:/MinGW/bin/nm.exe" to dump the symbol table, and I could see all my methods, with the appropriate named marked as text (T) flag. They were not being loaded when viewed using "java -verbose:jni" though.
    6) I put "extern "C" {}" around all my JNI C++ methods.
    7) Tried a gazilion other gcc options, posted in various messages, none worked.
    8) Finally came accross the "-Wl,--add-stdcall-alias" flag which fixed it.
    Here is a portion of my Makefile for reference:
    $(LINK_TARGET) : $(OBJS)
         g++ \
              -shared \
              -Wl,--add-stdcall-alias \
              -o $@ $^ \
              $(LIBDIRS) $(LIBS)LIBDIR and LIBS point to a single external library dependency.
    My IDE environment is Eclipse 3.2, but I run everything from Makefiles as external programs.
    I wish this was documented somewhere, would have saved me an entire day of troubleshooting.
    Cheers,
    mark...
    Message was edited by:
    voytechs - added CODE tags

    Glad my post helped out at least a few people.
    Believe it or not, I'm in the same boat now on Linux.
    Atleast I know its the name mangling problem again. I
    see a few symbols unmangled with nm, but most are,
    and those are then one's JNI is complaining about
    with UnsatisfiedLinkError.
    So now I'm going through various post related to
    linux and trying to find the same type of flag. The
    "alias" flag doesn't work with RH4 g++ version
    4.0.2.You should not need a flag on Linux. A typical compile for me on my Linux box is:
    gcc -shared -o libjnitest.so -I/usr/java/jdk1.6.0_01/include -I/usr/java/jdk1.6.0_01/include/linux jnitest.c>
    Window builds perfectly fine, but now I'm creating a
    new platform target. Everything compiles and creates
    the shared library, just can't get JNI to be happy.
    BTW, my project: http://jnetpcap.sf.net
    Ah. You have .cpp extensions on your filenames. Are you using gcc or g++ to compile? If you don't use g++, you can get errors such as:
    undefined symbol: __gxx_personality_v0
    Jim S.

  • How to install "make" and "gcc" on MyRIO ?

    Hi,
    I try to install ppp for using a 3G modem but for that I have to use gcc and make.
    I can't find packages compatible with myRIO system. I have always " Packages for make found, but incompatible with the architectures configured" error using OPKG.
    Do you have a solution ?
    Thanks

    Hey enzol,
    It would be better to post this question in the NI Linux Real-Time community.  There are more Linux gurus there that can point you in the right direction.
    Thanks!
    -Sam K
    LabVIEW Hacker
    Join / Follow the LabVIEW Hacker Group on google+

  • Can Struts and JSF coexist?

    I have a Struts based application and now I want to build an additional module on top of that using pure JSF. My question is, can Struts and JSF co-exist in the same application? If yes, what are the cons of that approach? What are the places I need to tweak in the configuration files so that they work together?
    thanks,

    Hi,
    Yes they can coexist. Actually that's the approach recommended by Craig McClanahan. I have developed a full enterprise application (80% completed) which uses JSF in front and Struts in the back using Struts-Faces integration library (developed by Apache).
    So far I haven't faced any major issues with this approach. However, I haven't try using Struts validator on JSF objects.
    Read the article below on how to integrate JSF w/ Struts.
    http://www.oracle.com/technology/pub/articles/masterj2ee/j2ee_wk8.html

  • [Resolved] Compilation issues involving boost::function and GCC

    Resolution: It seems that GCC does not like anonymous structs defined inside of functions being passed as the arguments. So in order to make it compile and such for the time being, I simply defined the structs at the top of the file and changed the other code accordingly. I hope this helps anyone else who might get stuck on this. Cheers. =]
    I have been having this problem for a while, although I got it to compile by declaring the functor struct with ": function<void (Player *)>" after it. However, this only got it to compile rather than actually work. So I am hoping that someone here might have a possible solution for the problem. Now onto the code and such.
    if (command == "me") {
    if (args.length() == 0)
    return;
    string msg = player->getName() + " : " + args;
    struct {
    void operator()(Player *gmplayer) {
    if (gmplayer->isGM() == true) {
    PlayerPacket::showMessage(gmplayer, msg, 6);
    string msg;
    } sendMessage = {msg};
    Players::Instance()->run(sendMessage);
    The errors:
    GCC wrote:ChannelServer/ChatHandler.cpp||In function 'void ChatHandler::handleChat(Player*, PacketReader&)':
    ChannelServer/ChatHandler.cpp|163|error: no matching function for call to 'Players::run(ChatHandler::handleChat(Player*, PacketReader&)::<anonymous struct>&)'
    ChannelServer/Players.h|47|note: candidates are: void Players::run(boost::function<void ()(Player*)>)
    If it helps, this is the declaration of the Players::run function.
    void run(function<void (Player *)> func);
    Thanks in advance for any help you all can give. Cheers. =]
    Last edited by emily (2008-12-24 22:05:58)

    Good thing you found a solution.
    I've had similiar problems from time to time.
    One of the few part of C++ I don't like... Include .h here and there, forward declarations etc, becomes a mess after a while if you've got lots of files.

  • Slow File I/O with newer compilers (SPARCompiler 5 and gcc 3)

    Well it's more like slow File I, as I'm only really testing Input, but anyway, here goes...
    I have a simple program that takes a file of about 250mb and simply loops through the file reading it in chunks of 8,192 bytes.
    Basically I'm timing the read speed to try and figure out why there is such a large discrepancy between the older SPARCompiler 3.0.1 : C++ 4.0.1 and the newer 5.0 as well as gcc 3.0 in reading a file. I realize that the old compiler doesn't support STL and that SPARCompiler 5's .h headers basically point to the STL headers, so there is a difference there, but the numbers I get are around 35s with SC 3.0.1 : C++ 4.0.1 to about 90s with SC 5.0 and 76s with gcc 3.0. I understand the numbers are going to vary depending on the test input file size and the machine you're running on, but the ratio's should stay relatively similar if you do run your own tests. That slowdown is pretty much unacceptable in my opinion and I really want the benefits of a new compiler, am I doing something wrong, is this a known issue??
    Command Lines (I did my best to try with different versions of the OS, but Sun licensing makes it hard!):
    With C++ 4.0.1 (tried on Solaris 2.6 and 2.7)
    CC -fast -o IOtest.CC io_read_tst.cpp
    With C++ 5 (used on Solaris 2.5.1 and 2.8)
    CC -O3 -o IOtest.CC5 io_read_tst.cpp
    With gcc 3.0 (tried on Solaris 2.5.1, 2.6, 2.7, and 2.8)
    gcc -O3 -o IOtest.gcc3 io_read_tst.cpp
    I've got the latest patches for the OS and compilers, I've tried compiling on multiple versions of the OS (Solaris 2.5.1, 2.6, 2.7, and 2.8) and always I get similar results, I know I haven't tested every OS possibility, but you have to re-install the OS to test since the compiler is licensed to only one machine, at least for the SUN Compilers anyway! Any help would be greatly, greatly appreciated, code is as follows:
    #include <iostream.h>
    #include <fstream.h>
    #include <time.h>
    int main( )
    char sBuffer[8192];
    time_t startTime, endTime;
    ifstream TestFile;
    TestFile.open( "/data4/tax101/taxtab" ); // Change this to a large file local to your system (~250mb)
    if( TestFile.fail() )
    return( EXIT_FAILURE );
    time( &startTime );
    while( !TestFile.eof() )
    TestFile.read( sBuffer, 8192 );
    time( &endTime );
    cout << endl << "Read Time: " << endTime - startTime << "s\n";
    return( EXIT_SUCCESS );
    Thanks,
    Lance Beddawi
    [email protected]

    Alright, here is my code reposted:
    // Warning.java
    // Reads student data from a text file and writes data to another text file.
    import java.util.;
    import java.io.;
    public class Warning
    // // Reads student data (name, semester hours, quality points) from a
    // text file, computes the GPA, then writes data to another file
    // if the student is placed on academic warning.
    public static void main (String[] args)
    int creditHrs; // number of semester hours earned
    double qualityPts; // number of quality points earned
    double gpa; // grade point (quality point) average
    Scanner scan=null;
    PrintWriter outFile=null;
    String name, inputName = "students.txt";
    String outputName = "warning.txt";
    try
    // Set up Scanner to input file
    scan=new Scanner(new FileInputStream(inputName));
    // Set up the output file stream
    outFile = new PrintWriter(new FileWriter(outputName));
    // Print a header to the output file
    outFile.println ();
    outFile.println ("Students on Academic Warning");
    outFile.println ();
    // Process the input file, one token at a time
    while (scan.hasNext())
    // Get the credit hours and quality points and
    // determine if the student is on warning. If so,
    // write the student data to the output file.
    name=scan.next();
    creditHrs=scan.nextInt();
    qualityPts=scan.nextDouble();
    gpa=qualityPts/creditHrs;
    if ((gpa < 1.5 && creditHrs < 30) || (gpa < 1.75 && creditHrs < 60) || (gpa < 2.0 && creditHrs >= 60))
    outFile.print(name " ");
    outFile.print(creditHrs " ");
    outFile.print(qualityPts " ");
    outFile.print(gpa);
    //Add a catch for each of the specified exceptions, and in each case
    //give as specific a message as you can
    catch (FileNotFoundException e)
    System.out.println("The file " inputName " was not found.");
    catch (IOException e)
    System.out.println("The I/O operation failed and " outputName + " could not be created.");
    catch (InputMismatchException e)
    System.out.println("The input information was not of the right type.");

  • Oracle10g 10.2.0.1 spnc_command and GCC for Windows

    So, had a heck of a time getting this to work... Looks like a bad file. Once I installed MinGW, have fun with that, I needed to tweak the spnc_command file in $ORACLE_HOME/plsql.
    Here is what I used, no guarentees now.... :
    # This file contains commands to generate a shared object or DLL
    # for a natively compiled PL/SQL unit.
    # This file can have multiple commands.
    # Each command should be specified in a single line by itself terminated by
    # a newline.
    # Lines starting with a # character are comments which are ignored.
    # Each command is executed by creating (forking) a process and
    # giving the command to the process to be executed directly.
    # That means no other program (such as a shell or make) is used
    # to interpret these commands.
    # The command(s) use the following symbolic names as placeholders
    # which will be replaced by actual names before executing the command(s).
    #      %(src) - refers to the name of the generated C source file.
    #      %(obj) - refers to the name of the generated object file.
    #      %(dll) - refers to the name of the generated dll file.
    # The variable $(ORACLE_HOME) will be replaced by its actual value
    # before executing the command(s).
    # The /Zm option is needed only when compiling a large plsql procedure.
    # BSW 27-APR-2006 - Commented out the default compiler in favour of GCC.
    #cl.exe %(src) /nologo /Zm200 /Og /Oy /MD /Fo%(obj) /I$(ORACLE_HOME)/rdbms/public /I$(ORACLE_HOME)/plsql/include /link /nologo /dll $(ORACLE_HOME)/lib/orapls10.lib /out:%(dll)
    #GCC (MINGW) is now supported for plsql native comp on windows.
    #Download MinGW-3.1.0-1.exe from http://www.mingw.org.
    #The following two commands assume that GCC is installed at the default
    #location which is c:/MinGW. Change the paths to gcc and ld appropriately
    #if the installation is done in a different directory.
    #Finally, to use GCC for native comp, comment the above command line for cl.exe
    #and uncomment the following two comand lines.
    c:/MinGW/bin/gcc -c %(src) -O1 -I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HOME)/plsql/include -I$(ORACLE_HOME)/OCI/include -o %(obj)
    c:/MinGW/bin/ld -shared -e 0x0 %(obj) $(ORACLE_HOME)/lib/orapls10.lib -o %(dll)
    #c:/MinGW/bin/ld -shared -e 0x0 %(obj) $(ORACLE_HOME)/plsql/lib/libpncrt.a $(ORACLE_HOME)/lib/orapls10.lib -o %(dll)

    This is caused by bash and not by sed. Bash 3.1 shipped FC5 is buggy.
    So download bash-3.0 from FC4 and install it using "rpm -ivh ... --force" command.

Maybe you are looking for

  • Multiple values replacement path

    Hi All, I Have given multiple single values  for business area in selection screen, can i replace wich are enter in selection screen, i created text with replacement path variable on business area but it replacing only one value Any one please sugges

  • Regd Enhanced receiver deterrmination

    Hi experts! Is enhanced receiver determination possible in only SP 16.? I am usign SP13 , can i implement enchanced receiver determination with this. regards Sri

  • It will not let me install Itunes 1.6.1 on my Windows 7 OS and keeps coming with an error and rolls back, what can i do?

    Everytime i tried to update my i tunes to 1.6.1 it wouldn't let me and came up with this error. I'd hit OK then it would roll back and start again and end with this error Anything i can do?

  • QT and .AVI

    Hello Helpers I have a .AVI movie which causes me trouble. When I want to play it with QT Pro I have the image but not the sound. I know that there is both because it works perfectly when I play it with MPlayer OSX 2. I have all the Xtra components I

  • Huge question

    Ok. So me and a really good friend of mine want to start making videos and posting them on youtube. Inspired by smosh (two friends who are popular on and make videos) we went onto their website to see what they use to make their videos. We were shock