> On Nov 26, 2014, at 7:16 AM, Edgar Gabriel <gabr...@cs.uh.edu> wrote: > > ok, so I thought about it a bit, and while I am still baffled by the actual > outcome and the missing symbol (for the main reason that the function of the > fcoll component is being called from the ompio module, so the function of the > ompio that was called from the fcoll component is guaranteed to be loaded, > and does have the proper OMPI_DECLSPEC), I will do some restructuring of the > code to handle that. > > As an explanation on why there are so many functions in ompio that are being > called from the sub-frameworks directly, ompio is more or less the glue > between all the other frameworks, and contains a lot of the code that is > jointly used by the fbtl, fcoll and the sharedfp components (fs to a lesser > extent as well). > > Before I start to move code around however, just want to confirm two things: > > 1. I can move some of functionality of ompio to the base of various > frameworks (fcoll, fbtl and io). Just want to confirm that this will work, > e.g. I can call without restrictions a function of the fcoll base from an > fbtl or the io component.
Yes - the base functions of any framework are contained in the core library and thus always available. > > 2. I will have to extend the io framework interfaces a bit ( I will try to > minimize the number of new function as much as I can), but those function > pointers will be NULL for ROMIO. Just want to make sure this is ok with > everybody. I’ll have to let others chime in here, but that would seem to fit the OMPI architecture. > > Thanks > Edgar > > On 11/25/2014 11:43 AM, Ralph Castain wrote: >> >>> On Nov 25, 2014, at 9:36 AM, Edgar Gabriel <gabr...@cs.uh.edu> wrote: >>> >>> On 11/25/2014 11:31 AM, Ralph Castain wrote: >>>> >>>>> On Nov 25, 2014, at 8:24 AM, Edgar Gabriel <gabr...@cs.uh.edu >>>>> <mailto:gabr...@cs.uh.edu>> wrote: >>>>> >>>>> On 11/25/2014 10:18 AM, Ralph Castain wrote: >>>>>> Hmmm…no, nothing has changed with regard to declspec that I know >>>>>> about. I’ll ask the obvious things to check: >>>>>> >>>>>> * does that component have the proper include to find this function? >>>>>> Could be that it used to be found thru some chain, but the chain is >>>>>> now broken and it needs to be directly included >>>>> >>>>> header is included, I double checked. >>>>> >>>>>> * is that function in the base code, or down in a component? If the >>>>>> latter, then that’s a problem, but I’m assuming you didn’t make that >>>>>> mistake. >>>>> >>>>> >>>>> I am not sure what you mean. The function is in a component, but I am >>>>> not aware that it is illegal to call a function of a component from >>>>> another component. >>>> >>>> >>>> Of course that is illegal - you can only access a function via the >>>> framework interface, not directly. You have no way of knowing that the >>>> other component has been loaded. Doing it directly violates the >>>> abstraction rules. >>> >>> well, ok. I know that the other componen has been loaded because that >>> component triggered the initialization of these sub-frameworks. >> >> I think we’ve seen that before, and run into problems with that approach >> (i.e., components calling framework opens). >> >>> >>> I can move that functionality to the base, however, none of the 20+ >>> functions are required for the other components of the io framework (i.e. >>> ROMIO). So I would basically add functionality required for one component >>> only into the base. >> >> Sounds like you’ve got an abstraction problem. If the fcoll component >> requires certain functions from another framework, then the framework should >> be exposing those APIs. If ROMIO doesn’t provide them, then it needs to >> return an error if someone attempts to call it. >> >> You are welcome to bring this up on next week’s call if you like. IIRC, this >> has come up before when people have tried this hard links between >> components. Maybe someone else will have a better solution, but is just >> seems to me like you have to go thru the framework to avoid the problem. >> >>> >>> Nevertheless, I think the original question is still valid. We did not see >>> this problem before, but it is now showing on all of our platforms, and I >>> am still wandering that is the case. I *know* that the ompio component is >>> loaded, and I still get the error message about the missing symbol from the >>> ompio component. I do not understand why that happens. >> >> Probably because the fcoll component didn’t explicitly link against the >> ompio component. You were likely getting away with it out of pure luck. >> >>> >>> >>> Thanks >>> Edgar >>> >>>> >>>> >>>>> >>>>> Thanks >>>>> Edgar >>>>> >>>>> >>>>> >>>>>> >>>>>> >>>>>>> On Nov 25, 2014, at 8:07 AM, Edgar Gabriel <gabr...@cs.uh.edu >>>>>>> <mailto:gabr...@cs.uh.edu>> >>>>>>> wrote: >>>>>>> >>>>>>> Has something changed recently on the trunk/master regarding >>>>>>> OMPI_DECLSPEC? The reason I ask is because we get now errors about >>>>>>> unresolved symbols, e.g. >>>>>>> >>>>>>> symbol lookup error: >>>>>>> /home/gabriel/OpenMPI/lib64/openmpi/mca_fcoll_dynamic.so: undefined >>>>>>> symbol: ompi_io_ompio_decode_datatype >>>>>>> >>>>>>> >>>>>>> and that problem was not there roughly two weeks back the last time >>>>>>> I tested. I did verify that the the function listed there has an >>>>>>> OMPI_DECLSPEC before its definition. >>>>>>> >>>>>>> Thanks Edgar -- Edgar Gabriel Associate Professor Parallel Software >>>>>>> Technologies Lab http://pstl.cs.uh.edu Department of Computer >>>>>>> Science University of Houston Philip G. Hoffman Hall, Room >>>>>>> 524 Houston, TX-77204, USA Tel: +1 (713) 743-3857 >>>>>>> Fax: +1 (713) 743-3335 >>>>>>> _______________________________________________ devel mailing list >>>>>>> de...@open-mpi.org <mailto:de...@open-mpi.org> Subscription: >>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel Link to this >>>>>>> post: >>>>>>> http://www.open-mpi.org/community/lists/devel/2014/11/16332.php >>>>>> >>>>>> _______________________________________________ devel mailing list >>>>>> de...@open-mpi.org <mailto:de...@open-mpi.org>Subscription: >>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/develLink to this post: >>>>>> http://www.open-mpi.org/community/lists/devel/2014/11/16333.php >>>>>> >>>>> >>>>> -- >>>>> Edgar Gabriel >>>>> Associate Professor >>>>> Parallel Software Technologies Lab http://pstl.cs.uh.edu >>>>> <http://pstl.cs.uh.edu/> >>>>> Department of Computer Science University of Houston >>>>> Philip G. Hoffman Hall, Room 524 Houston, TX-77204, USA >>>>> Tel: +1 (713) 743-3857 Fax: +1 (713) 743-3335 >>>>> _______________________________________________ >>>>> devel mailing list >>>>> de...@open-mpi.org <mailto:de...@open-mpi.org> >>>>> Subscription:http://www.open-mpi.org/mailman/listinfo.cgi/devel >>>>> Link to this >>>>> post:http://www.open-mpi.org/community/lists/devel/2014/11/16334.php >>>> >>>> >>>> >>>> _______________________________________________ >>>> devel mailing list >>>> de...@open-mpi.org >>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>>> Link to this post: >>>> http://www.open-mpi.org/community/lists/devel/2014/11/16336.php >>>> >>> >>> -- >>> Edgar Gabriel >>> Associate Professor >>> Parallel Software Technologies Lab http://pstl.cs.uh.edu >>> Department of Computer Science University of Houston >>> Philip G. Hoffman Hall, Room 524 Houston, TX-77204, USA >>> Tel: +1 (713) 743-3857 Fax: +1 (713) 743-3335 >>> _______________________________________________ >>> devel mailing list >>> de...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> Link to this post: >>> http://www.open-mpi.org/community/lists/devel/2014/11/16338.php >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/11/16339.php >> > > -- > Edgar Gabriel > Associate Professor > Parallel Software Technologies Lab http://pstl.cs.uh.edu > Department of Computer Science University of Houston > Philip G. Hoffman Hall, Room 524 Houston, TX-77204, USA > Tel: +1 (713) 743-3857 Fax: +1 (713) 743-3335 > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/11/16358.php