SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Github Development
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Github Development Discussion related to SageTV Open Source Development. Use this forum for development topics about the Open Source versions of SageTV, hosted on Github.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 08-15-2015, 09:15 PM
ckewinjones ckewinjones is offline
Sage User
 
Join Date: Dec 2010
Location: Boston, MA
Posts: 68
VS2005 build environment

I'm trying to build the native/SageWorkspace.sln in Visual Studio 2005. I've got all of the third-party projects properly included in the solution (thanks for the tip on the "Rebuild Sage.jar" thread), but there are a lot of .h files that VS2005 cannot find. Any guidance on how I should set up my include paths to make sure I can find all of these?

Here is a sample of the header files that cannot be found:

Code:
MpegMux.cpp
.\MpegMux.cpp(76) : fatal error C1083: Cannot open include file: 'streams.h': No such file or directory

dllmain.cpp
c:\users\cj06\documents\github\sagetv\third_party\microsoft\evrpresenter\evrpresenter.h(4) : fatal error C1083: Cannot open include file: 'intsafe.h': No such file or directory

Guids.cpp
c:\program files (x86)\microsoft visual studio 8\vc\platformsdk\include\strmif.h(21826) : fatal error C1083: Cannot open include file: 'ddraw.h': No such file or directory

WinRawInput.cpp
..\..\include\sage_UserEvent.h(2) : fatal error C1083: Cannot open include file: 'jni.h': No such file or directory

c:\users\cj06\documents\github\sagetv\native\dll\dx93d\stdafx.h(38) : fatal error C1083: Cannot open include file: 'D3dX9.h': No such file or directory
While I am at it, are there any special directories I need to include in the library or EXE paths, or anything else unusual in the environment that I need to know about?

TIA
Reply With Quote
  #2  
Old 08-15-2015, 09:20 PM
jreichen's Avatar
jreichen jreichen is offline
Sage Icon
 
Join Date: Jul 2004
Posts: 1,192
jni.h is in the JDK_HOME/include folder. On the Linux side, all that needs to be done is define the JDK_HOME environment variable and the build script looks in the include folder under there. I don't know if the Visual Studio projects are set up the same way, but it will be something close to that.
__________________
Server: Intel Core i5 760 Quad, Gigabyte GA-H57M-USB3, 4GB RAM, Gigabyte GeForce 210, 120GB SSD (OS), 1TB SATA, HD HomeRun.
Extender: STP-HD300, Harmony 550 Remote,
Netgear MCA1001 Ethernet over Coax.
SageTV: SageTV Server 7.1.8 on Ubuntu Linux 11.04, SageTV Placeshifter for Mac 6.6.2, SageTV Client 7.0.15 for Windows, Linux Placeshifter 7.1.8 on Server and Client
, Java 1.6.
Plugins: Jetty, Nielm's Web Server, Mobile Web Interface.

Reply With Quote
  #3  
Old 08-15-2015, 09:20 PM
ckewinjones ckewinjones is offline
Sage User
 
Join Date: Dec 2010
Location: Boston, MA
Posts: 68
A little bit of Googling shows the sort of error this is -- though not the specific error. I gather that I do not have the right mix of Microsoft SDKs installed. So let me re-phrase my question:

What suite of tools and SDKs do I need to have installed on my Windows 7 system to be able to build the Windows-related components of Sage?

Thanks.
Reply With Quote
  #4  
Old 08-16-2015, 03:47 AM
routerunner's Avatar
routerunner routerunner is offline
Sage Icon
 
Join Date: May 2008
Location: Wiltshire, UK
Posts: 1,384
Quote:
Originally Posted by ckewinjones View Post
A little bit of Googling shows the sort of error this is -- though not the specific error. I gather that I do not have the right mix of Microsoft SDKs installed. So let me re-phrase my question:

What suite of tools and SDKs do I need to have installed on my Windows 7 system to be able to build the Windows-related components of Sage?

Thanks.
On top of my head for VC2005 you need to install the Windows SDK 2.0, however what you really need are just the headers and some libraries for compiling the DirectShow filters. I use VC2010 for my DS filters and it requires SDK v7.1 (albeit it works with v7.0A as well) for VC2012 you need v8.0 and v8.0A.

Moving forward the project should be converted to VS2010 at least and recompile the filters and patching where necessary.

I do have myself plans to fork the code-base at some point to work on the DVB tuners support, modify the TS Splitter to better integrate with my filters also on the Embedded Linux side and see what damages I can make there

Cheers
Eddy
__________________

Automatic Power Off | Squeezeslave | DVB-S Importer | DVB Decrypter & Card Client | Tuner Preroll


Every man is a damn fool for at least five minutes every day; wisdom consists in not exceeding the limit. ~ Elbert Hubbard

Last edited by routerunner; 08-16-2015 at 03:50 AM.
Reply With Quote
  #5  
Old 08-17-2015, 01:05 PM
Narflex's Avatar
Narflex Narflex is offline
Sage
 
Join Date: Feb 2003
Location: Redondo Beach, CA
Posts: 6,349
Yeah, some of those look like DirectX SDK files that you need to have installed.
__________________
Jeffrey Kardatzke
Google
Founder of SageTV
Reply With Quote
  #6  
Old 08-17-2015, 04:16 PM
ckewinjones ckewinjones is offline
Sage User
 
Join Date: Dec 2010
Location: Boston, MA
Posts: 68
Thanks, everybody.

It'll be a day or two before I can get to this but I think I have enough information to get things going.

"Moving forward the project should be converted to VS2010 at least"

I strongly agree with this. Once I have succeeded in building with VS2005 I think I will install the latest MS environment (VS2015 Community Edition, I think) and get it building there. It's scary working in a development environment that is ten years old and no longer supported by the vendor.
Reply With Quote
  #7  
Old 08-18-2015, 12:46 PM
Narflex's Avatar
Narflex Narflex is offline
Sage
 
Join Date: Feb 2003
Location: Redondo Beach, CA
Posts: 6,349
I fully support moving to a more modern Windows build environment. (I just don't build Windows code anymore, so I can't verify anything relating to that unless it's on my old SageTV workstation, running VS2005)
__________________
Jeffrey Kardatzke
Google
Founder of SageTV
Reply With Quote
  #8  
Old 08-19-2015, 02:15 PM
harrijay harrijay is offline
Sage Advanced User
 
Join Date: Jan 2007
Location: Wisconsin
Posts: 152
I have been able to get the debug version of everything built locally with VS 2010, I still need to go through and document everything I did to make this work, but roughly it is

DirectX SDK,
Windows SDK 7.1,
Windows SDK 6.1,
and JDK of course.

I still need to go through and make sure all of the release options build locally as well. Also need to test it

It looks for streams.h in many projects which I was able to find in the sample code in SDK 7.1. it also depends on the lib that is generated when building the baseclasses, so I have added it to the workspace.

Narflex, I am not sure if you made any code changes to baseclasses or even if I have the correct version, can you verify?

Once I get through all of this I will upgrade the solution to VS 2015 Community Edition since it is free

Jayson
__________________
ESXi Host Intel Xeon x3440 on Intel S3420PLX, 4GB RAM, 80GB Primary
Server:2 CPU's and 2GB memory Allocated, 15GB Virtual Primary, 1.5 TB RDM Physical Disk,
A180 using VMDirectPath, 1 xHDHR
Headless ArchLinux 2.6.34 64-bit, SageTV 7.0.15
Sun JRE 1.6.0_20
Comskip&PlayonWindows XP 2CPU and 1GB Ram Allocated
Clients: 1 Media MVP and 2 STX-HD100
Reply With Quote
  #9  
Old 08-19-2015, 05:35 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by harrijay View Post
I have been able to get the debug version of everything built locally with VS 2010, I still need to go through and document everything I did to make this work, but roughly it is

DirectX SDK,
Windows SDK 7.1,
Windows SDK 6.1,
and JDK of course.

I still need to go through and make sure all of the release options build locally as well. Also need to test it

It looks for streams.h in many projects which I was able to find in the sample code in SDK 7.1. it also depends on the lib that is generated when building the baseclasses, so I have added it to the workspace.

Narflex, I am not sure if you made any code changes to baseclasses or even if I have the correct version, can you verify?

Once I get through all of this I will upgrade the solution to VS 2015 Community Edition since it is free

Jayson
Out of curiousity... does VS studio support doing automated command line builds? I know someone was looking into a Continuous Integration server, and being able to fully build from headless server would be ideal as well.

Great work on this.
Reply With Quote
  #10  
Old 08-19-2015, 07:36 PM
Slugger Slugger is offline
SageTVaholic
 
Join Date: Mar 2007
Location: Kingston, ON
Posts: 4,008
Yes. Not sure about the free versions of VS, but I know the full version of 2010 includes command line tools to build solutions.
__________________
Twitter: @ddb_db
Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive
Capture: 2 x Colossus
STB Controller: 1 x USB-UIRT
Software:Java 1.7.0_71; SageTV 7.1.9
Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter
Plugins: Too many to list now...
Reply With Quote
  #11  
Old 08-19-2015, 09:41 PM
PosterBoy PosterBoy is offline
Sage Advanced User
 
Join Date: Oct 2007
Posts: 84
https://msdn.microsoft.com/en-us/library/f35ctcxw.aspx

Yes even the free version

"Every edition of Visual Studio installs a command-line toolset that includes a compiler, linker, and other build tools, and a command file that sets the required build environment."
Reply With Quote
  #12  
Old 08-20-2015, 04:56 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by PosterBoy View Post
https://msdn.microsoft.com/en-us/library/f35ctcxw.aspx

Yes even the free version

"Every edition of Visual Studio installs a command-line toolset that includes a compiler, linker, and other build tools, and a command file that sets the required build environment."
That's good news... now if only we could get a container with windows + vs for doing automated builds for windows much like how we can do it for linux with vagrant. I know it's not possible, but it would be cool.
Reply With Quote
  #13  
Old 08-20-2015, 06:26 AM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Quote:
Originally Posted by stuckless View Post
That's good news... now if only we could get a container with windows + vs for doing automated builds for windows much like how we can do it for linux with vagrant. I know it's not possible, but it would be cool.
well... I THINK the Microsoft c compiler will run in Wine.... :-)
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #14  
Old 08-20-2015, 06:47 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by Fuzzy View Post
well... I THINK the Microsoft c compiler will run in Wine.... :-)
Maybe the command line compiler tools, might... but from all accounts getting VS working under wine is not happening
Reply With Quote
  #15  
Old 08-20-2015, 07:33 AM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Yeah, you had sort of talked about two things there, a packaged development environment (not likely) and automated builds (might be possible).
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #16  
Old 08-20-2015, 12:34 PM
Narflex's Avatar
Narflex Narflex is offline
Sage
 
Join Date: Feb 2003
Location: Redondo Beach, CA
Posts: 6,349
Quote:
Originally Posted by harrijay View Post
Narflex, I am not sure if you made any code changes to baseclasses or even if I have the correct version, can you verify?

Once I get through all of this I will upgrade the solution to VS 2015 Community Edition since it is free

Jayson
I'm quite sure I wouldn't have changed anything in the baseclasses...that's bad programming. (and multiple devs were building this, as well as the 'build' machine we had for making the actual releases)
__________________
Jeffrey Kardatzke
Google
Founder of SageTV
Reply With Quote
  #17  
Old 09-01-2015, 04:14 AM
tmiranda's Avatar
tmiranda tmiranda is offline
SageTVaholic
 
Join Date: Jul 2005
Location: Central Florida, USA
Posts: 5,851
Quote:
Originally Posted by harrijay View Post
I have been able to get the debug version of everything built locally with VS 2010, I still need to go through and document everything I did to make this work, but roughly it is

DirectX SDK,
Windows SDK 7.1,
Windows SDK 6.1,
and JDK of course.

I still need to go through and make sure all of the release options build locally as well. Also need to test it

It looks for streams.h in many projects which I was able to find in the sample code in SDK 7.1. it also depends on the lib that is generated when building the baseclasses, so I have added it to the workspace.

Narflex, I am not sure if you made any code changes to baseclasses or even if I have the correct version, can you verify?

Once I get through all of this I will upgrade the solution to VS 2015 Community Edition since it is free

Jayson
Jayson,

How far have you progressed on this? I think there are many people who would love to see the Windows side of this project get off of the ground.

Thanks,

Tom
__________________

Sage Server: 8th gen Intel based system w/32GB RAM running Ubuntu Linux, HDHomeRun Prime with cable card for recording. Runs headless. Accessed via RD when necessary. Four HD-300 Extenders.
Reply With Quote
  #18  
Old 09-01-2015, 09:26 AM
harrijay harrijay is offline
Sage Advanced User
 
Join Date: Jan 2007
Location: Wisconsin
Posts: 152
I have the build working and have checked my changes into my own fork. I still have not had a chance to test it, but it does build successfully on my machine. Hoping to get to that soon

thanks,
Jayson
__________________
ESXi Host Intel Xeon x3440 on Intel S3420PLX, 4GB RAM, 80GB Primary
Server:2 CPU's and 2GB memory Allocated, 15GB Virtual Primary, 1.5 TB RDM Physical Disk,
A180 using VMDirectPath, 1 xHDHR
Headless ArchLinux 2.6.34 64-bit, SageTV 7.0.15
Sun JRE 1.6.0_20
Comskip&PlayonWindows XP 2CPU and 1GB Ram Allocated
Clients: 1 Media MVP and 2 STX-HD100
Reply With Quote
  #19  
Old 09-01-2015, 05:53 PM
moothekow moothekow is offline
Sage Advanced User
 
Join Date: Oct 2008
Posts: 88
Quote:
Originally Posted by harrijay View Post
I have the build working and have checked my changes into my own fork. I still have not had a chance to test it, but it does build successfully on my machine. Hoping to get to that soon

thanks,
Jayson
Cool :-)
Reply With Quote
  #20  
Old 09-01-2015, 06:33 PM
wnjj wnjj is offline
Sage Icon
 
Join Date: Jan 2009
Posts: 1,514
Quote:
Originally Posted by harrijay View Post
I have been able to get the debug version of everything built locally with VS 2010, I still need to go through and document everything I did to make this work, but roughly it is

DirectX SDK,
Windows SDK 7.1,
Windows SDK 6.1,
and JDK of course.

I still need to go through and make sure all of the release options build locally as well. Also need to test it

It looks for streams.h in many projects which I was able to find in the sample code in SDK 7.1. it also depends on the lib that is generated when building the baseclasses, so I have added it to the workspace.

Narflex, I am not sure if you made any code changes to baseclasses or even if I have the correct version, can you verify?

Once I get through all of this I will upgrade the solution to VS 2015 Community Edition since it is free

Jayson

This may be a dumb question but why do you need two different versions of the SDK? Is the base using 6.1 but some of the sample code from 7.1?

While I starting looking toward building with VS 2015 Community Edition it seems that as of version 2013, the DirectX SDK is now part of the Windows SDK. I'm not familiar enough with the differences in SDK versions but I'm assuming some code changes will be needed to migrate Sage to the latest one?

It would be nice to minimize the number of installs, support packages, and dependencies.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Dev Environment Slugger SageTV Studio 10 01-28-2010 04:08 PM
Which is best design for SageTV environment? Petrucci Hardware Support 10 04-23-2009 01:21 PM
Sage Development Environment stuckless SageTV Studio 4 04-05-2008 06:14 AM
Business Environment pmolaughlin SageTV Software 0 02-13-2006 07:58 AM


All times are GMT -6. The time now is 12:48 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.