x-ƒ (x_f)

x-ƒ: Es neesmu viens!!

2012. gada 8. novembris, 4:52 pm, atsauksmēm

Es zināju! Es zināju, ka neesmu viens ar savu kompilēšanas un pārlieku liela daudzuma atkarību sāpi! Diemžēl gadi iet, bet nekas nemainās.

> It is my personal opinion (and not popular) that gnuradio and openbts
> are difficult to build and get working properly within a reasonable
> amount of time. Its a roadblock. I've been thinking the above may
> bootstrap the community and userbase.

You're preaching to the choir here. I installed everything on a blank-slate Ubuntu 9.04 system the other day. It took over 4 hours. More than half of that was installing GNU Radio and its kitchen-sink dependency list. Why do I need to install FFTW just to get linusrp? Did they *really* have to use Omnithread and Boost when pthreads and the C++ standard libraries are right there? It's like you have to download and compile the whole internet to get this little driver. It's crazy.

<rant>
This touches on a pet peeve of mine in open source projects in general, which is the tendency to use too many external packages. You need to make a serious cost-benefit analysis before you add a dependency to a project, especially a cascading dependency, where you depend on package A, but A depends on B, but B depends on C, etc., and at every step you take the risk of something not building correctly on your target system. Just because a library is available doesn't mean you have to use it. Seriously consider limiting yourself to primary sources, like the stuff that comes with g++, instead. Here are some observations:

* The probability of being able to port an application to a new target system is inversely proportional to the total number of package dependencies.

* The number of weeks that can pass without having to patch your application to keep up with API changes in other packages is also inversely proportional to the number of packages you use.

* The complexity of all of your #defines and configuration options and installation dependencies is proportional to both the number of packages you reference and the age of your application. In other words, your installation process gets more complicated over time and gets more complicated faster if you use more external packages, because those packages are also changing over time.

In short, the more crap you pile on, the less portable, upgradable and maintainable your application will be. This is the dark side of open source development. Don't give in to it.

Maybe you're talking about some other painful aspect of the installation process, but this is the one that irks me.
</rant>

Skaidrs? Es nomērīju. Tiek savilkts mēslu daudzums trīs gigabaitu apjomā. Tas taču nav normāli!

Pa to laiku esmu uzlicis Gnuradio no portiem, taču tā ir pasena 3.3.0 versija (hmm.. kāpēc gan neviens negrib atjaunināt portu..?), kas manā gadījumā ir tikpat kā bezjēdzīga, jo man vajag vismaz 3.5 versiju, taču to jau es zināju, bet doma bija tāda, ka vispirms uzlikšu šo, līdz ar to dabūšu visas atkarības, un tad uzkompilēšu 3.6.2. Protams, ka 3.6.2 nekompilējas, jo tam kaut kas trūkst, bet Gnuradio wiki rakstīts, ka visas atkarības uzskaitītas README failā, savukārt, README failā skaidri un gaiši minēts, ka visas atkarības jāmeklē wiki, lai nav jāuztur vairāki saraksti. Turklāt procesa gaitā ir salūzusi viena no Python versijām, bez kuras noteikti 3.6.2 nevar dabūt gatavu, un vispār viss ir slikti. FUCK OSS!!

(Es vēl nepadevos.)