Compiling on Win10 - Version Issue

Headed for ASIO implementation, but want to test plain compile first. Thought it was strange that the compile.txt I was directed to referred to 2.3.0, but found it to be a good set of instructions, so I translated down to what I thought would be 2.2.2. Installed VS Community 2013 & wxWidgets 3.0.2. Followed the link to https://github.com/audacity/audacity and downloaded the Master, unzipped and ran the’ help’ build first (had to run the batch file before that would complete), then rebuilt with the rest of the modules selected except the three mod-…'s that were unchecked by default. Got a large number of warnings during the compile that seemed to be related to a version mismatch (C4800’s and 4244’s and a few others) and one error (didn’t pull down msgfmt - expected that to fail), but the compile completed. I copied the .dll’s from wxWidgets, ran the .exe and got the logo screen with the 2.3.0-alpha- id… and a suggestion that I get the Official Released Version of Audacity :smiley:
I guess I just need some explanation of where we are with versions, and a hint as to where to get the right source code. I found the link to 2.1.3, but the version I’m running is 2.2.2, and I thought that’s what I should be compiling.

There’s some pretty old info scattered about the forum and Wiki, so I understand some of the users complaints about unclear instructions, but hey - it’s Open Source…, and overall you guys are doing a great job.
Great program, by the way. I need the multi-channel capability but really want to stay with Audacity.

For Audacity 2.2.2, you need the instructions that are included in the source code, which you will find in “/win/compile.txt”.

The on-line version at GitHub (https://github.com/audacity/audacity/blob/master/win/compile.txt) states:

========================================================================
This document is for Audacity version 2.3.0

If the advice here is inaccurate or incomplete,
email > audacity-devel@lists.sourceforge.net> .

WE ARE MOVING FROM WXWIDGETS 3.0.2 to 3.1.1 AND FROM MSVC 2013 to
MSVC 2017. CURRENTLY THIS DOCUMENT MAY HAVE A FEW ERRORS AND OMISSIONS
RELATING TO THAT. THESE SHOULD BE FIXED BY MAY 12TH 2018.

I get all that. So, how about answering my question.
What version should I be compiling, and where do I get the source code for that version?
Thanks, Tom

That’s your choice. I’d suggest that either you go for the latest release version (Audacity 2.2.2), or the current development code. Older versions are also available but I would not recommend them unless you have a specific reason for wanting an old version.

Advantages of the latest release version are:
It is comprehensively tested
All known bugs are logged on the bug tracker, and any major issues are in the release notes
The manual is complete
It is officially supported (unmodified)

Advantages of the current release version are:
It has all of the latest new features, enhancements and bug fixes, but the manual is not complete, new features may not be comprehensively tested, there may be incomplete or buggy new features… In short, it’s alpha software (though it seems to be pretty stable at the moment without major issues).

If you are likely to also be building newer versions as they become available, then the latest development code is a better choice in my opinion as you will then have the required build environment for later versions.

The source code for Audacity 2.2.2 is available here: Release Audacity-2.2.2 · audacity/audacity · GitHub (Source code (zip) )
The development source code (Audacity 2.3.0 alpha) is available here: GitHub - audacity/audacity: Audio Editor

Thanks. I’ll give it a go this evening.
This part about finding the right version of the source code is not at all clear in the info available.
I see the May 15 milestone has slipped for 3.0. Any info on when it will move into Beta?

Tom

Progress, but still no joy. Acquired 2.2.2 source code, went through instructions in compile.txt and got Audacity 2.2.2 running, but with the following faults: 1) Adding help didn’t work “The Manual does not appear to be installed”. 2) When I try to record, I get a messaage window pop-up: “Error opening sound device. Try changing the audio host, recording device and the project sample rate.” I can open .AUP files, play back and edit. In Audio Host I have MME, Windows DirectSound and Windows WASAP. I can see the microphone in all three host selections. When I “Start Monitoring”, I get no response from the mic and no indication of audio signal. Once Start Monitoring has been selected, if I click the monitoring button again it always says “Stop Monitoring”, and will not change statuse back to “Start Monitoring”.
This is a 64-bit Windows 10 installation that has been running Audacity 2.2.2 for a couple of months with no problems.
Do I need to send the Diags Report?
FFmpeg and LAME installations went OK.

There was 1 error: Error 506 error MSB3721: The command “msgfmt -o “C:\Audacity-2.2.2\win\Release\Languages\af\Audacity.mo” …....\locale\af.po” exited with code 1. C:\Audacity-2.2.2\win\Projects\locale\po.targets 45
There were 553 warnings: Here’s a sampling:

Warning	1	warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.	C:\Audacity-2.2.2\lib-src\libflac\src\libFLAC++\metadata.cpp	696
Warning	2	warning C4244: 'return' : conversion from 'const __int64' to 'off_t', possible loss of data	C:\Audacity-2.2.2\lib-src\libflac\src\libFLAC\metadata_iterators.c	579
Warning	3	warning C4244: '+=' : conversion from 'const __int64' to 'unsigned int', possible loss of data	C:\Audacity-2.2.2\lib-src\libflac\src\libFLAC\metadata_iterators.c	1112
Warning	4	warning C4244: '=' : conversion from '__int64' to 'unsigned int', possible loss of data	C:\Audacity-2.2.2\lib-src\libflac\src\libFLAC\metadata_iterators.c	1124
Warning	5	warning C4244: '-=' : conversion from 'const __int64' to 'unsigned int', possible loss of data	C:\Audacity-2.2.2\lib-src\libflac\src\libFLAC\metadata_iterators.c	1147
Warning	6	warning C4146: unary minus operator applied to unsigned type, result still unsigned	C:\Audacity-2.2.2\lib-src\libid3tag\field.c	429
Warning	7	warning C4013: 'dup' undefined; assuming extern returning int	C:\Audacity-2.2.2\lib-src\libid3tag\file.c	466
Warning	8	warning C4013: 'dup2' undefined; assuming extern returning int	C:\Audacity-2.2.2\lib-src\libid3tag\file.c	470
Warning	9	warning C4013: 'close' undefined; assuming extern returning int	C:\Audacity-2.2.2\lib-src\libid3tag\file.c	471
Warning	10	warning C4018: '>' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libid3tag\frame.c	288
Warning	11	warning C4018: '>' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libid3tag\frame.c	305
Warning	12	warning C4018: '>' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libid3tag\frame.c	373
Warning	13	warning C4244: '=' : conversion from 'id3_ucs4_t' to 'id3_latin1_t', possible loss of data	C:\Audacity-2.2.2\lib-src\libid3tag\latin1.c	115
Warning	14	warning C4244: '=' : conversion from 'long' to 'id3_byte_t', possible loss of data	C:\Audacity-2.2.2\lib-src\libid3tag\render.c	90
Warning	15	warning C4244: '=' : conversion from 'long' to 'id3_byte_t', possible loss of data	C:\Audacity-2.2.2\lib-src\libid3tag\render.c	91
Warning	16	warning C4244: '=' : conversion from 'long' to 'id3_byte_t', possible loss of data	C:\Audacity-2.2.2\lib-src\libid3tag\render.c	92
Warning	17	warning C4146: unary minus operator applied to unsigned type, result still unsigned	C:\Audacity-2.2.2\lib-src\libid3tag\tag.c	311
Warning	18	warning C4018: '>' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libid3tag\tag.c	481
Warning	19	warning C4018: '>' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libid3tag\tag.c	496
Warning	20	warning C4018: '>' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libid3tag\tag.c	530
Warning	21	warning C4018: '>' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libid3tag\tag.c	537
Warning	22	warning C4018: '>' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libid3tag\tag.c	555
Warning	23	warning C4244: '=' : conversion from 'id3_ucs4_t' to 'id3_utf16_t', possible loss of data	C:\Audacity-2.2.2\lib-src\libid3tag\utf16.c	117
Warning	24	warning C4244: '=' : conversion from 'id3_ucs4_t' to 'id3_utf8_t', possible loss of data	C:\Audacity-2.2.2\lib-src\libid3tag\utf8.c	215
Warning	25	warning C4146: unary minus operator applied to unsigned type, result still unsigned	C:\Audacity-2.2.2\lib-src\libmad\fixed.c	63
Warning	26	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned short', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\frame.c	229
Warning	27	warning C4018: '<' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libmad\frame.c	318
Warning	28	warning C4018: '>' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libmad\frame.c	403
Warning	29	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer12.c	164
Warning	30	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer12.c	408
Warning	31	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer12.c	415
Warning	32	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer12.c	423
Warning	33	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer12.c	446
Warning	34	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer12.c	456
Warning	35	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer12.c	461
Warning	36	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	527
Warning	37	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned short', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	536
Warning	38	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned short', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	537
Warning	39	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned short', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	538
Warning	40	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned short', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	539
Warning	41	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	550
Warning	42	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	567
Warning	43	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	574
Warning	44	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	580
Warning	45	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	582
Warning	46	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	583
Warning	47	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	648
Warning	48	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	732
Warning	49	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	736
Warning	50	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	749
Warning	51	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	758
Warning	52	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	767
Warning	53	warning C4244: '=' : conversion from 'unsigned long' to 'unsigned char', possible loss of data	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	776
Warning	54	warning C4018: '<' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	1056
Warning	55	warning C4018: '<' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	1091
Warning	56	warning C4018: '>' : signed/unsigned mismatch	C:\Audacity-2.2.2\lib-src\libmad\layer3.c	2636
Warning	57	warning C4146: unary minus operator applied to unsigned type, result still unsigned	C:\Audacity-2.2.2\lib-src\libmad\synth.c	599

With all these warnings in the compile logs I feel like I still don’t have the right mix of versions, or something is wrong with my build setup.
Thoughts and suggestions?

It took me a while to work out how to see the available versions from GitHub but I eventually realized that after clicking the branch button there is a tags menu which allows you to find all versions.

Warnings are not errors.

Example:

Most of those warnings are about conversions from one type to another. The compiler sees narrowing conversions as a risk because it “could” lose data. For example:

long x = value;
short y;
y = x; // Warning

C++ guarantees that values up to 32767 may be represented by a “short”, but “long” data may represent values at least up to 2147483647, so what happens if “value” is greater than 32767? In that case we lose data because “y” is a short and may not be able to represent the value. However, if we know that “value” cannot possibly be > 32767, then it’s not a problem.

To know for sure if any of these warnings create errors, you would need to check each one. Alternatively, you can assume that the developers have taken care of that.

Regarding the manual, that is not included in the source code but is downloaded from the on-line manual if the “help” solution is enabled. I think the script for building the manual is currently broken because the websites have been updated to HTTPS (from plain HTTP) and the script has not yet been updated to support HTTPS. The “help” solution can just be disabled so that the manual is not built (the on-line version of the alpha manual will still be available).

Great feedback. Thanks. I will for now assume that my build process is OK, and the Help issue is not important. I still have the issue I outlined in my last post:
I can open .AUP files, play back and edit, but when I try to record, I get a message window pop-up: “Error opening sound device. Try changing the audio host, recording device and the project sample rate.” In Audio Host I have MME, Windows DirectSound and Windows WASAP. I can see the microphone in all three host selections. I’ve tried all settings and combinations but still get the error window every time I hit the record button. If I disconnect the mic all those fields go blank, so it seems Audacity is sensing that the mic is there. When I “Start Monitoring”, I get no response from the mic and no indication of audio signal. Once Start Monitoring has been selected, if I click the monitoring button again it always says “Stop Monitoring”, and will not change status back to “Start Monitoring”."
Sorry for my lack of knowledge, but I don’t know how to get the debug zip file posted up here.
The Audio Device info looks good:

Default recording device number: 1
Default playback device number: 3

Device ID: 0
Device name: Microsoft Sound Mapper - Input
Host name: MME
Recording channels: 2
Playback channels: 0
Low Recording Latency: 0.090000
Low Playback Latency: 0.090000
High Recording Latency: 0.180000
High Playback Latency: 0.180000
Supported Rates:

Device ID: 1
Device name: Microphone (2- USB PnP Sound De
Host name: MME
Recording channels: 2
Playback channels: 0
Low Recording Latency: 0.090000
Low Playback Latency: 0.090000
High Recording Latency: 0.180000
High Playback Latency: 0.180000
Supported Rates:

Thanks for your patience and help.
Tom

I don’t know if this is the place to post this, if not, let me know.

I am having a similar problem attempting to add ASIO to Audacity. I have been following the instructions in the “compile” file in Audacity-2.2.2\win to try creating a release version. I am working with wxWidgets-3.1.1, and following the directions (selecting only the necessary 7 projects, and the 6 optional projects). Right Clicking and selecting “rebuild selected” has combined successfully (also a release version).

I have added the necessary environment variables for both WXWIN and ASIOSDK2.3 and have restarted my computer just in case.

After running all the necessary steps, and selecting “audacity\win\audacity.sln” I try to Rebuild Solution (a release version). Each time the process completes, I end up with the same error message each time:

C:\WXWIDGETS-3.1.1\include\wx/platform.h(183): fatal error C1083: Cannot open include file: ‘wx/setup.h’: No such file or directory

I have been working under the assumption that rebuilding wxWidgets would result in all necessary files being created in all the necessary directories. Clearly I am messing that up somehow.

Thoughts?

Again, if this is the wrong place to post, I apologize.

Bdaily99
WxWidgets 3.1.1 is for the new version (not yet released) 3.0 of Audacity. Try using wxWidgets version 3.0.2.
Compile.txt will indicate which version of Audacity you have. You also have to copy some .dll files from wxWidgets to the …\win\release folder where Audacity.exe file is created. That info is in the compile.txt file if you have the right version.
What version of windows are you running.

You will find setup.h in wxdir\include\msvc \wx\ and if you copy it to wxdir\include\wx it will overcome the problem. Various projects within the solution make reference to the wxwidgets headers but with a few tweaks 3.1.1 does work OK. I’m afraid I can’t remember if anything else needs changing but if you hit any other snags come back with details and no doubt it will jog my memory.