The code below compiles and runs without any errors in Visual C++ 2008 but I have to show it to my professor on computers running Solaris. I try to compile with g++ and get the mess below

classes.h
Code:
#ifndef _CLASSES_H_
#define _CLASSES_H_
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;

class Job{
private:
	string name;
	int startTime;
	int endTime;
	int runTime;
	int priority;
	int turnAround;
public:
	Job():name(""),startTime(0),endTime(0),runTime(0),priority(0),turnAround(0){}
	Job(string NAME, int START):name(NAME),startTime(START),endTime(0),runTime(0),priority(0),turnAround(0){}
	Job(string NAME, int START, int PRIORITY):name(NAME),startTime(START),endTime(0),
		runTime(0),priority(PRIORITY),turnAround(0){}
	
	string getName(){return name;}
	void setName(string NAME){name=NAME;}
	int getStart(){return startTime;}
	void setStart(int START){startTime=START;}
	int getEnd(){return endTime;}
	void setEnd(int end){endTime=end;}
	int getRunTime(){return runTime;}
	void setRunTime(int RT){runTime=RT;}
	int getPriority(){return priority;}
	void setPriority(int PRIORITY){priority=PRIORITY;}
	int getTurnAround(){return turnAround;}
	void setTurnAround(int TA){turnAround=TA;}
};
#endif
mainprog.cpp
Code:
#include"classes.h"

void display(vector<Job>);
void FCFS(vector<Job>);
void SJN(vector<Job>);
void Priority(vector<Job>);
bool sizeSort(Job & lhs, Job & rhs){return lhs.getRunTime() < rhs.getRunTime();} //for SJN sort
bool prioritySort(Job & lhs, Job & rhs){return lhs.getPriority() < rhs.getPriority();}  //for priority sort

int main(){
	vector<Job> jobs;
	int jobNumber = 0;
	//get number of jobs
	cout << "Enter the number of jobs: ";
	cin >> jobNumber;
	jobs.resize(jobNumber);

	//get job info
	for(int i=0;i<jobs.size();i++){
		string tempName;
		int tempStart;
		int tempPriority;
		int tempRun;
		cout << "Enter the name for job number " << i+1 << ": ";
		cin >> tempName;
		jobs[i].setName(tempName);
		cout << "Enter the start time for " << jobs[i].getName() << ": ";
		cin >> tempStart;
		jobs[i].setStart(tempStart);
		cout << "Enter time required for job execution: ";
		cin >> tempRun;
		jobs[i].setRunTime(tempRun);
		cout << "Enter job priority: ";
		cin >> tempPriority;
		jobs[i].setPriority(tempPriority);
	}
	FCFS(jobs);
	SJN(jobs);
	Priority(jobs);
	
	return 0;
}

void display(vector<Job> jobVec){
	cout << "Job:\tStart:\tEnd:\tJob Turnaround:"<< endl;
	cout << "____\t______\t____\t_______________"<<endl;
	for(int j=0;j<jobVec.size();j++){
		cout << jobVec[j].getName() << "  \t" << jobVec[j].getStart() << 
			"  \t" << jobVec[j].getEnd() << "  \t" << jobVec[j].getTurnAround() << endl;
	}
}
void FCFS(vector<Job> jobList){
	int clock = 0;
	double avgTurn =0;
	for(int i =0;i<jobList.size();i++){
		clock += jobList[i].getRunTime();
		jobList[i].setEnd(clock);
		jobList[i].setTurnAround(jobList[i].getEnd() - jobList[i].getStart());
		avgTurn += jobList[i].getTurnAround();
	}
	avgTurn /= jobList.size();
	cout << "\t\t\tFCFS" << endl;
	display(jobList);
	cout << "The average turnaround time is: " << avgTurn << endl;
}
void SJN(vector<Job> jobList){
	sort(jobList.begin()+1,jobList.end(),sizeSort);
	int clock = 0;
	double avgTurn =0;
	for(int i =0;i<jobList.size();i++){
		clock += jobList[i].getRunTime();
		jobList[i].setEnd(clock);
		jobList[i].setTurnAround(jobList[i].getEnd() - jobList[i].getStart());
		avgTurn += jobList[i].getTurnAround();
	}
	cout << "\t\t\tSJN" << endl;
	display(jobList);
	cout << "The average turnaround time is: " << avgTurn/jobList.size() << endl;
}

void Priority(vector<Job> jobList){
	sort(jobList.begin(),jobList.end(),prioritySort);
	int clock = 0;
	double avgTurn =0;
	for(int i =0;i<jobList.size();i++){
		clock += jobList[i].getRunTime();
		jobList[i].setEnd(clock);
		jobList[i].setTurnAround(jobList[i].getEnd() - jobList[i].getStart());
		avgTurn += jobList[i].getTurnAround();
	}
	cout << "\t\t\tPriority" << endl;
	display(jobList);
	cout << "The average turnaround time is: " << avgTurn/jobList.size() << endl;
}
errors:
Code:
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h: In function `const class Job & __median<Job, bool (*)(Job &, Job &)>(const Job &, const Job &, const Job &, bool (*)(Job &, Job &))':
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:1304:   instantiated from `__introsort_loop<Job *, Job, int, bool (*)(Job &, Job &)>(Job *, Job *, Job *, int, bool (*)(Job &, Job &))'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:1332:   instantiated from here
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:64: conversion from `const Job' to `Job &' discards qualifiers
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:64: conversion from `const Job' to `Job &' discards qualifiers
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:65: conversion from `const Job' to `Job &' discards qualifiers
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:65: conversion from `const Job' to `Job &' discards qualifiers
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:67: conversion from `const Job' to `Job &' discards qualifiers
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:67: conversion from `const Job' to `Job &' discards qualifiers
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:71: conversion from `const Job' to `Job &' discards qualifiers
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:71: conversion from `const Job' to `Job &' discards qualifiers
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:73: conversion from `const Job' to `Job &' discards qualifiers
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/../../../../include/g++-3/stl_algo.h:73: conversion from `const Job' to `Job &' discards qualifiers
I cant find the error. I know its happening in the algorithm STL because Im passing a the wrong data type but I cant find it.