با عرض سلام

ببخشید برای بسته های نرم افزاری که فایل کانفیگور رو ندارن باید چه کار کرد؟

یعنی چطور میشه بدون کانفیگور کردن  makefiles  رو مطابق با سیستم ساخت؟

ممنون میشم اگر راهنماییم کنید

ی., 13/04/2014 - 20:04
تصویر nixmd

برنامه ها و روش های مختلفی توی بسته های source code وجود داره که از هم متفاوته. نمیشه گفت راه حل کلی وجود داره. ولی یه سری روش ها متداول و مرسوم هستن مثل make و cmake و automake و سه سری ها هم مثل روند کامپایل wrf ساخته شده و منحصر به فرد هستن.

همیشه برای این که بفهمید چه کار باید انجام بدید به فایل README و یا INSTALL موجود مراجعه کنید و مراحل رو توی اونجا بررسی کنید که چه کاری باید انجام بدید.

ولی در مورد برنامه حال حاظر، چه برنامه ای رو میخواید کامپایل کنید؟

تصویر arezu

ممنون از راهنماییتون

prep_chem_sources رو می خوام کامپایل کنم منتها اصلا از readme این نرم افزار چیزی متوجه نشدم جز اینکه به بسته های zlib , hdf5 و netcdf  خیلی حساسه...

وقتی فایل configure نداره, چطور میتونم نوع کامپایلرم رو بهش بدم یا آدرس بسته هارو...

 

تصویر moje.am

من نمیدونم این بسته چجوریه و قراره چکار کنه، اما طبق دستورالعمل شماره 3 صفحه زیر

http://ruc.noaa.gov/wrf/WG11/wrf_tutorial_emissions_v35/exercise_1.html

انگار باید یک فایل به اسم include.mk.opt رو برای مسیرها بررسی کنید. از طرف دیگه هم به نظر میرسه باید از نسخه 13 کامپایلر pgf90 استفاده کنید.

تصویر arezu

 

ممنون

آخه مشکل اینجاست که تو Emission_guide که خود سایت قرار داده گفته میشه از کامپایلر های دیگه استفاده کرد. اما تنها فایل include.mk.opt.intel تو پوشه ای که آدرس دادن وجود داره و بقیه فایل ها مثلا اینطورین: include.mk.gfortran

فک می کنم باید فایلی رو قبل از این اجرا کنم تا بتونه فایل مربوط به gfortran  رو برام بسازه...

شاید کاری مثل configure کردن...

 

 

تصویر moje.am

میشه لینک دانلود این بسته و Emission_guide رو بذارید؟

تصویر moje.am

حق با شماست. برای کامپایلر gfortran باید فایل include.mk.gfortran ویرایش بشه و دستور اجرا کردنش به صورت زیر هست:
 

 make OPT=gfortran CHEM=RACM

در واقع بدون «opt.» . من اجراش کردم و درست بود

 

 

تصویر arezu

پس احتمالا آدرس هایی که من بهش دادم مشکل داشته...

چون من هم یک بار همین روال رو اجرا کردم اما کلی ارور و وارنینگ داد، فک می کردم مشکل از روند اجراست.

مرسی لطف کردید واقعا...

تصویر arezu

سلام

من تمام ارورهاش رو بالاخره تونستم رفع کنم، غیر این یکی که هیچکاری نتونستم واسش بکنم:

gfortran -O2 -o ../prep_chem_sources_RADM_WRF_FIM.exe prep_chem_sources.o aer1_list.o chem1_list.o prep_chem_sources_utils.o convert_retro_to_CB07.o convert_AeM_to_CB07.o convert_bioge_to_CB07.o convert_edgar_to_RACM.o convert_retro_to_RACM.o convert_AeM_to_RACM.o convert_bioge_to_RACM.o convert_edgar_to_RACM_REAC.o convert_retro_to_RACM_REAC.o convert_AeM_to_RACM_REAC.o convert_bioge_to_RACM_REAC.o convert_edgar_to_RELACS.o convert_retro_to_RELACS.o convert_AeM_to_RELACS.o convert_bioge_to_RELACS.o convert_edgar_to_RELACS_REAC.o convert_retro_to_RELACS_REAC.o convert_AeM_to_RELACS_REAC.o convert_bioge_to_RELACS_REAC.o convert_megan_to_CB07.o convert_megan_to_RACM.o convert_megan_to_RACM_REAC.o convert_megan_to_RELACS.o convert_megan_to_RELACS_REAC.o convert_edgar_to_aer.o convert_edgar_to_CB07.o convert_edgar_to_RADM_WRF_FIM.o convert_retro_to_RADM_WRF_FIM.o convert_AeM_to_RADM_WRF_FIM.o convert_bioge_to_RADM_WRF_FIM.o convert_edgar_to_RADM_WRF_FIM_REAC.o convert_retro_to_RADM_WRF_FIM_REAC.o convert_AeM_to_RADM_WRF_FIM_REAC.o convert_bioge_to_RADM_WRF_FIM_REAC.o convert_megan_to_RADM_WRF_FIM.o convert_megan_to_RADM_WRF_FIM_REAC.o retro_emissions.o diurnal_cycle.o diurnal_cycle_fwb.o diurnal_cycle_edgar.o fwb_awb_emissions.o fire_properties.o 3bem_emissions.o volc_emissions.o volc_degassing_emissions.o gfedv2_8days_emissions.o biogenic_emissions.o megan_emissions.o gocart_background.o gocart_emissions.o cetesb_update.o util_geometry.o edgar_emissions.o wb_emissions.o AeM_emission_factors.o 3bem_plumerise.o emission_fields.o grid_dims_output.o wrf_fim_utils.o  ramslib.a ramsutils.a -L/usr/lib -lnetcdf -L/usr/lib -lhdf5hl_fortran -lhdf5_fortran -lhdf5_hl -lhdf5 -L//usr/local/share/man/man3/zlib.3 -lz 
volc_degassing_emissions.o: In function `__volc_degassing_emissions_MOD_get_dimension_per_file_volcano':
volc_degassing_emissions.f90:(.text+0x1eb4): undefined reference to `__netcdf_MOD_nf90_open'
volc_degassing_emissions.f90:(.text+0x1edc): undefined reference to `__netcdf_MOD_nf90_inq_dimid'
volc_degassing_emissions.f90:(.text+0x1f0f): undefined reference to `__netcdf_MOD_nf90_inquire_dimension'
volc_degassing_emissions.o: In function `__volc_degassing_emissions_MOD_get_emission_per_volcano':
volc_degassing_emissions.f90:(.text+0x2b76): undefined reference to `__netcdf_MOD_nf90_open'
volc_degassing_emissions.f90:(.text+0x2ba2): undefined reference to `__netcdf_MOD_nf90_inq_varid'
volc_degassing_emissions.f90:(.text+0x2be9): undefined reference to `__netcdf_MOD_nf90_get_var_1d_fourbyteint'
volc_degassing_emissions.f90:(.text+0x2d52): undefined reference to `__netcdf_MOD_nf90_inq_varid'
volc_degassing_emissions.f90:(.text+0x2d99): undefined reference to `__netcdf_MOD_nf90_get_var_1d_fourbytereal'
volc_degassing_emissions.f90:(.text+0x2dc5): undefined reference to `__netcdf_MOD_nf90_inq_varid'
volc_degassing_emissions.f90:(.text+0x2e0c): undefined reference to `__netcdf_MOD_nf90_get_var_1d_fourbytereal'
volc_degassing_emissions.f90:(.text+0x2e38): undefined reference to `__netcdf_MOD_nf90_inq_varid'
volc_degassing_emissions.f90:(.text+0x2e7f): undefined reference to `__netcdf_MOD_nf90_get_var_1d_fourbytereal'
volc_degassing_emissions.f90:(.text+0x2eab): undefined reference to `__netcdf_MOD_nf90_inq_varid'
volc_degassing_emissions.f90:(.text+0x2ef2): undefined reference to `__netcdf_MOD_nf90_get_var_1d_fourbytereal'
volc_degassing_emissions.f90:(.text+0x2f1e): undefined reference to `__netcdf_MOD_nf90_inq_varid'
volc_degassing_emissions.f90:(.text+0x2f62): undefined reference to `__netcdf_MOD_nf90_get_var_1d_fourbytereal'
volc_degassing_emissions.o: In function `check_.part.0':
volc_degassing_emissions.f90:(.text.unlikely+0x50): undefined reference to `__netcdf_MOD_nf90_strerror'
megan_emissions.o: In function `read_megan_':
megan_emissions.f90:(.text+0xc9d): undefined reference to `__netcdf_MOD_nf90_open'
megan_emissions.f90:(.text+0xd09): undefined reference to `__netcdf_MOD_nf90_inq_varid'
megan_emissions.f90:(.text+0xd49): undefined reference to `__netcdf_MOD_nf90_inq_varid'
megan_emissions.f90:(.text+0xde9): undefined reference to `__netcdf_MOD_nf90_get_var_1d_fourbytereal'
megan_emissions.f90:(.text+0xe82): undefined reference to `__netcdf_MOD_nf90_get_var_1d_fourbytereal'
megan_emissions.f90:(.text+0xee8): undefined reference to `__netcdf_MOD_nf90_inq_varid'
megan_emissions.f90:(.text+0xfe5): undefined reference to `__netcdf_MOD_nf90_get_var_3d_fourbytereal'
megan_emissions.f90:(.text+0x10da): undefined reference to `__netcdf_MOD_nf90_close'
gocart_background.o: In function `read_gocart_bg_':
gocart_background.f90:(.text+0x1495): undefined reference to `__netcdf_MOD_nf90_open'
gocart_background.f90:(.text+0x152a): undefined reference to `__netcdf_MOD_nf90_inq_varid'
gocart_background.f90:(.text+0x16ca): undefined reference to `__netcdf_MOD_nf90_get_var_3d_fourbytereal'
gocart_background.f90:(.text+0x188c): undefined reference to `__netcdf_MOD_nf90_close'
gocart_background.f90:(.text+0x1a92): undefined reference to `__netcdf_MOD_nf90_get_var_4d_fourbytereal'
gocart_background.f90:(.text+0x2038): undefined reference to `__netcdf_MOD_nf90_inq_varid'
gocart_background.f90:(.text+0x20bf): undefined reference to `__netcdf_MOD_nf90_get_var_fourbytereal'
gocart_emissions.o: In function `read_gocart_antro_':
gocart_emissions.f90:(.text+0x123b): undefined reference to `__netcdf_MOD_nf90_open'
gocart_emissions.f90:(.text+0x1389): undefined reference to `__netcdf_MOD_nf90_inq_varid'
gocart_emissions.f90:(.text+0x1545): undefined reference to `__netcdf_MOD_nf90_get_var_2d_fourbytereal'
gocart_emissions.f90:(.text+0x16c6): undefined reference to `__netcdf_MOD_nf90_close'
collect2: error: ld returned 1 exit status
make: *** [../prep_chem_sources_RADM_WRF_FIM.exe] Error 1

میشه راهنماییم کنید؟

ممنون

تصویر arezu

این مشکل  با تغییر دادن خط 

NETCDF_LIBS=-L$(NETCDF)/lib -lnetcdf

به این خط

NETCDF_LIBS=-L$(NETCDF)/lib -lnetcdf -lnetcdff

درون فایل include.make.gfortran حل شد و فایل اجرایی بدون ارور ساخته شد.

تصویر moje.am

ممنون از پاسختون

برای ارسال دیدگاه وارد شوید یا ثبت نام کنید .