binding energy of a nucleus is positive?
Let's take the simple system of a deuterium nucleus, that is the bound state of a proton and neutron.
It's tempting to think of the binding energy as something that has to be added to a proton and neutron to glue them together into a deuteron, and therefore that the deuteron must weigh more than the proton and neutron because it has had something extra added to it. However this is the exact opposite of what actually happens.
Suppose we start with a proton and a neutron at a large separation, and we let them go and allow them to attract each other. As they move towards each other their potential energy decreases, so because of energy conservation their kinetic energy increases. They accelerate towards each other in just the same way you accelerate towards the Earth if you jump out of a window. This means that when the proton and neutron meet they are moving very rapidly towards each other, and they just flash past each other and coast back out to a large separation. This is not a bound state. To form a deuteron you have to take energy out of the system so that when the proton and neutron meet they are stationary with respect to each other. Then they can bond to each other to form a deuteron.
And this is the key point. To form a bound state you need to take an amount of energy out that is equal to the kinetic energy gained as the two particles collide. This energy is the binding energy, which is 2.2 MeV for a deuteron. If you take the energy 2.2 MeV and convert it to a mass using Einstein's equation $E = mc^2$ you get a mass of $3.97 \times 10^{-30}$ kg, and if you compare the mass of a deuteron with the mass of a proton + neutron you find the deuteron is indeed $3.97 \times 10^{-30}$ kg lighter.
Just for completeness let's look at this the other way round. Suppose we start with a deuteron and we want to separate it into a proton and neutron. Because the two particles in a deuteron attract each other we need to do work to pull them apart, which means we need to add energy to the system. To pull them completely apart we need to add an amount of energy equal to the binding energy of 2.2 MeV. That means our separated proton and neutron have 2.2 MeV more energy than the deuteron, so the total mass of the separated particles has increased by 2.2 MeV and they are $3.97 \times 10^{-30}$ kg heavier than the deuteron.
The binding energy doesn't compensate for the difference between the mass of the nucleons and that of the nucleus, it is that difference.
$$m_\text{protons and neutrons}c^2 + \text{binding energy} = m_\text{nucleus}c^2$$
Since the mass of the nucleus is less than the mass of the protons and neutrons, the binding energy must be negative.